DynamoDB ile Amazon Aurora

İş yüküm için DynamoDB mi yoksa Aurora mı doğru?

Amazon DynamoDB, her ölçekte tek haneli milisaniye performansı için oluşturulmuş, sabit şemaya sahip olmayan, tümüyle yönetilen bir NoSQL anahtar-değer ve belge deposudur. Amazon Aurora ise MySQL ve PostgreSQL ile uyumlu, tablolar, birleştirmeler (join) ve ACID işlemleriyle tam SQL kullanan, yönetilen bir ilişkisel veritabanıdır. Yüksek ölçekli anahtar-değer erişimi için DynamoDB'yi; ilişkisel sorgular için Aurora'yı seçin.

Bir bakışta DynamoDB ile Amazon Aurora

ÖzellikDynamoDBAmazon Aurora
Veri modeliNoSQL anahtar-değer ve belge deposu; şemasız (yalnızca birincil anahtar zorunlu)İlişkisel: tanımlı bir şema ve ilişkilerle yapılandırılmış tablolar, satırlar ve sütunlar
Sorgu diliAWS SDK/API işlemleri ile select/insert/update/delete için SQL uyumlu bir sorgu dili olan PartiQLTam SQL, MySQL veya PostgreSQL ile uyumlu
Birleştirmeler (join)Sunucu tarafında birleştirme yok; erişim desenlerini önceden modellersiniz (genellikle tek tablo tasarımı)İlişkisel motor aracılığıyla tablolar arasında yerel SQL JOIN
İndekslerYerel ve global ikincil indeksler (LSI / GSI)MySQL/PostgreSQL tarafından sağlanan standart ilişkisel indeksler (birincil ve ikincil)
TutarlılıkVarsayılan olarak nihai tutarlı okumalar; istek başına güçlü tutarlı okumalar mevcutTam ilişkisel bütünlükle güçlü tutarlılık
ÖlçeklendirmeBölümler (partition) arasında yatay ölçeklenir; tablo başına öğe sayısında veya tablo boyutunda üst sınır yok; talep üzerine veya sağlanan kapasiteÜç Kullanılabilirlik Bölgesi genelinde bir yazıcı artı 15'e kadar düşük gecikmeli okuma çoğaltması içeren küme; depolama 256 TiB'ye kadar otomatik büyür; Aurora Serverless v2 kapasiteyi otomatik ölçeklendirir
İşlemlerTek bir Bölge içinde 100 öğeye kadar (toplam 4 MB) ACID işlemleriTam çok ifadeli ACID işlemleri
Fiyatlandırma modeliTalep üzerine veya sağlanan kapasite (okuma/yazma birimleri) artı depolamaÖrnek kapasitesi (Talep Üzerine veya Ayrılmış) ya da Aurora Serverless v2, artı depolama ve G/Ç
En uygun kullanımWeb ölçeğinde anahtar-değer/belge iş yükleri, öngörülebilir düşük gecikmeBirleştirmelere, karmaşık sorgulara ve SQL aşinalığına ihtiyaç duyan ilişkisel iş yükleri

DynamoDB'nin daha iyi tercih olduğu durumlar

Erişim desenleriniz biliniyor ve anahtar tabanlıysa, trafik büyüdükçe öngörülebilir tek haneli milisaniye gecikmesine ihtiyaç duyuyorsanız DynamoDB uygundur. AWS DynamoDB Developer Guide'a göre, öğe sayısında veya toplam tablo boyutunda üst sınır olmadan dağıtık donanım üzerinde yatay ölçeklenecek şekilde tasarlanmıştır; bu da sosyal ağlar, oyun, medya paylaşımı ve IoT gibi web ölçeğindeki uygulamalara uygundur. Boyutlandırılacak örnek olmayan sunucusuz bir işletim modeli istediğinizde ve esnek, yarı yapılandırılmış bir öğe biçimi (JSON dahil) avantaj olduğunda iyi bir seçimdir. İş yükünüz aralıklı veya doğası gereği anahtar-değer türündeyse, DynamoDB'nin istek başına modeli maliyetin kullanımı yakından izlemesini sağlar.

Aurora'nın daha iyi tercih olduğu durumlar

Aurora ilişkisel iş yüklerine uyar: gerçek ilişkilere sahip veriler, karmaşık anlık sorgular, birleştirmeler, toplamalar ve SQL'in doğal araç olduğu raporlama. Aurora, MySQL ve PostgreSQL uyumlu olduğundan, mevcut SQL kodu, araçlar ve ORM'ler genellikle çok az değişiklikle çalışır ve SQL'de zaten üretken olan ekipler becerilerini korur. Güçlü tutarlılık ve birbiriyle ilişkili birçok tablo genelinde ilişkisel bütünlük önemli olduğunda ya da zengin bir şemayı kapsayan çok ifadeli işlemlere ihtiyaç duyduğunuzda Aurora güçlü bir seçimdir. AWS ayrıca ikisinin çoğu zaman birbirini tamamladığını da belirtir — örneğin sıcak yolda DynamoDB ve analitik veya raporlama yolunda Aurora.

DynamoDB ile çalışmak

DynamoDB'yi seçtiğinizde, DynoTable tabloları AWS Konsolu olmadan gezinmek, düzenlemek ve sorgulamak için bir masaüstü DynamoDB istemcisidir. DynamoDB'nin sunucu tarafında birleştirmeleri olmadığından, anahtarlarınıza ve indekslerinize karşı sorgu ifade etmek günlük işin çoğunun geçtiği yerdir. Ücretsiz DynamoDB Expression Builder, anahtar koşullarını, filtre ifadelerini ve projeksiyonları oluşturmanıza ve eşleşen SDK, CLI veya PartiQL kodunu üretmenize yardımcı olur. DynoTable kapalı kaynaklı ticari bir uygulamadır; standart AWS kimlik bilgilerinizi okur ve doğrudan DynamoDB ile konuşur, bu nedenle başka bir istemciden geçtiğinizde taşınacak hiçbir şey yoktur.

SSS

DynamoDB, Aurora'dan daha mı ucuz?

İş yüküne bağlıdır — hiçbiri evrensel olarak daha ucuz değildir. DynamoDB, talep üzerine veya sağlanan okuma/yazma kapasitesi artı depolama için fatura keser, bu nedenle maliyet istek hacmini izler ve boştayken sıfıra yaklaşabilir. Aurora, örnek kapasitesi (veya Aurora Serverless v2) artı depolama ve G/Ç için fatura keser. Aralıklı, anahtar-değer trafiği için DynamoDB'nin istek başına modeli çoğu zaman daha az maliyetlidir; sürekli, yüksek hacimli ilişkisel iş yükleri için sağlanan bir Aurora kümesi daha ekonomik olabilir. Karar vermeden önce kendi okuma/yazma desenlerinizi modelleyin.

Sunucusuz uygulamalar için Aurora mı DynamoDB mi?

Her ikisi de sunucusuz tarzda çalışma sunar, bu nedenle belirleyici faktör faturalama modeli değil veri modelidir. DynamoDB tasarım gereği sunucusuzdur — yönetilecek örnek yok, otomatik ölçeklenen kapasite ve istek başına fiyatlandırma — bu da ölçekte anahtar-değer ve belge erişimine uygundur. Aurora Serverless v2 ilişkisel bir motoru otomatik ölçeklendirir (ve boştayken sıfıra ölçeklenebilir), bu da gerçekten SQL, birleştirmeler ve ilişkisel bütünlüğe ihtiyaç duyan sunucusuz uygulamalara uygundur. Anahtar-değer erişim desenleri için DynamoDB'yi, uygulamanız temelde ilişkisel olduğunda Aurora'yı seçin.

İlgili

En son 2026-07-12 tarihinde AWS DynamoDB Developer Guide ve Amazon Aurora belgelerine karşı doğrulandı. Amazon DynamoDB, Amazon Aurora, MySQL ve PostgreSQL ilgili sahiplerinin ticari markalarıdır; burada yalnızca tanımlama amacıyla belirtilmiştir.

Console olmadan DynamoDB ile çalışın

DynoTable, DynamoDB için hızlı bir masaüstü istemcisidir — tablolara göz atın, SQL tarzı sorgular çalıştırın ve item'ları yerel olarak düzenleyin.