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
| Özellik | DynamoDB | Amazon Aurora |
|---|---|---|
| Veri modeli | NoSQL 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 dili | AWS SDK/API işlemleri ile select/insert/update/delete için SQL uyumlu bir sorgu dili olan PartiQL | Tam 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 |
| İndeksler | Yerel ve global ikincil indeksler (LSI / GSI) | MySQL/PostgreSQL tarafından sağlanan standart ilişkisel indeksler (birincil ve ikincil) |
| Tutarlılık | Varsayılan olarak nihai tutarlı okumalar; istek başına güçlü tutarlı okumalar mevcut | Tam ilişkisel bütünlükle güçlü tutarlılık |
| Ölçeklendirme | Bö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 |
| İşlemler | Tek bir Bölge içinde 100 öğeye kadar (toplam 4 MB) ACID işlemleri | Tam çok ifadeli ACID işlemleri |
| Fiyatlandırma modeli | Talep ü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ım | Web ölçeğinde anahtar-değer/belge iş yükleri, öngörülebilir düşük gecikme | Birleş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
- Öğrenin: DynamoDB ne zaman kullanılır · DynamoDB için SQL
- Ücretsiz DynamoDB Expression Builder ile sorguları hızlıca oluşturun.
- macOS, Windows veya Linux için DynoTable'ı indirin.
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.