DynamoDB ile Azure Cosmos DB
DynamoDB ve Azure Cosmos DB, AWS ve Azure'un amiral gemisi yönetilen NoSQL veritabanlarıdır. Her ikisi de tümüyle yönetilir ve sunucusuz çalışabilir, verileri anahtara göre bölümler (partition) ve yatay ölçeklenir. En büyük pratik farklar bulut uyumu, Cosmos DB'nin çok modelli API'leri ve beş ayarlanabilir tutarlılık seviyesi ile her birinin verimi nasıl faturalandırdığıdır.
DynamoDB mi Cosmos DB mi kullanmalısınız?
AWS üzerindeyseniz ve istek başına faturalama ile derin AWS entegrasyonuna sahip sunucusuz bir anahtar-değer ve belge deposu istiyorsanız DynamoDB'yi seçin. Azure üzerindeyseniz, çok modelli API'ler (belge, Cassandra, Gremlin grafik, Table), beş açık tutarlılık seviyesi ya da anahtar teslim çok bölgeli yazmalar istiyorsanız Azure Cosmos DB'yi seçin. Bulut uyumu genellikle kararı özelliklerden önce belirler.
Bir bakışta DynamoDB ile Cosmos DB
| Özellik | DynamoDB | Azure Cosmos DB |
|---|---|---|
| Veri modeli | NoSQL anahtar-değer ve belge; tablolarda 400 KB'ye kadar öğeler | Çok modelli; NoSQL için yerel API JSON belgeleri depolar, ayrıca MongoDB, Cassandra, Gremlin (grafik) ve Table için ağ uyumlu API'ler |
| Sorgu dili / API | Yerel API (GetItem, Query, Scan) ile SQL uyumlu bir dil olan PartiQL | NoSQL API'sinde JSON üzerinde SQL benzeri sorgu dili, ayrıca her uyumluluk API'sinin kendi sorgu dili |
| Bölümleme / anahtarlar | Bir bileşik birincil anahtar için isteğe bağlı sıralama anahtarıyla bölüm anahtarı | Kapsayıcı başına bölüm anahtarı; öğeler mantıksal bölümler halinde gruplanır |
| Tutarlılık | Varsayılan olarak nihai tutarlı; istek başına güçlü tutarlı okumalar mevcut | Beş seviye — güçlü, sınırlı bayatlık, oturum, tutarlı önek, nihai — hesap veya istek düzeyinde seçilir |
| Çok bölgeli yazmalar | Global Tables çok Bölgeli, aktif-aktif çoğaltma sağlar | Anahtar teslim küresel dağıtım; çok bölgeli yazmalar etkinleştirilebilir (bu, güçlü tutarlılık seviyesini engeller) |
| Ölçeklendirme modeli | Otomatik bölümleme; sunucusuz talep üzerine veya sağlanan kapasite | Sağlanan verim (RU/s), otomatik ölçek veya sunucusuz; kapasite İstek Birimleri cinsinden ölçülür |
| İşlemler | Bir Bölge içinde birden çok öğe genelinde ACID işlemleri | Mantıksal bir bölüm içinde ACID işlemleri (ör. işlemsel toplu iş / saklı yordamlar) |
| Fiyatlandırma modeli | İstek başına ödeme (talep üzerine) veya sağlanan RCU/WCU, artı depolama; yalnızca AWS | Saniye başına İstek Birimleri (sağlanan, otomatik ölçek veya sunucusuz) artı depolama, etkinleştirilen her bölge genelinde faturalandırılır |
| En uygun iş yükleri | Sıfır operasyonlu sunucusuz NoSQL isteyen, öngörülebilir anahtar erişimli AWS tabanlı uygulamalar | Çok modelli API'ler, açık tutarlılık ayarı veya küresel çok yazmalı dağıtım isteyen Azure tabanlı uygulamalar |
DynamoDB'nin daha iyi tercih olduğu durumlar
- AWS üzerindesiniz. DynamoDB, IAM, Lambda, Streams ve daha geniş AWS ekosistemiyle yerel olarak entegre olur ve aksi halde yazacağınız tutkal kodunu ortadan kaldırır.
- Basit istek başına fiyatlandırma istiyorsunuz. Talep üzerine kapasite, sağlanacak verim ve boşta maliyet olmadan okuma ve yazma başına fatura keser.
- Erişim desenleriniz biliniyor ve anahtar tabanlı. DynamoDB'nin bölüm/sıralama-anahtarı modeli, anahtarları sorgularınız etrafında tasarladığınızda tutarlı düşük gecikme sağlar — bkz. tek tablo tasarımı.
- AWS üzerinde aktif-aktif çok Bölgeli çoğaltma istiyorsunuz. Global Tables bunu yapılandırma olarak sağlar.
Cosmos DB'nin daha iyi tercih olduğu durumlar
- Azure üzerindesiniz. Cosmos DB, DynamoDB'nin AWS ile yaptığı gibi Azure kimliği, Functions ve çevredeki platformla entegre olur.
- Çok modelli API'lere ihtiyacınız var. Tek bir hizmet belge, Cassandra, Gremlin grafik ve Table API'lerini açığa çıkarır, bu da bu ekosistemlerden geçişleri kolaylaştırabilir.
- Açık, ayarlanabilir tutarlılık istiyorsunuz. Cosmos DB, güçlü ile nihai arasında beş adlandırılmış tutarlılık seviyesi sunar — sınırlı bayatlık ve oturum dahil — hesap veya istek başına seçilir.
- Kutudan çıktığı gibi çok bölgeli yazmalara ihtiyacınız var. Cosmos DB, anahtar teslim küresel dağıtımla birden çok bölgede yazma kabul edebilir (en güçlü tutarlılık seviyesi pahasına).
DynamoDB ile çalışmak
DynamoDB'de karar kılarsanız, DynoTable onun için macOS, Windows ve Linux üzerinde yerel bir masaüstü istemcidir. Standart AWS kimlik bilgisi zincirinizi okur, bu nedenle verileriniz DynamoDB'de kalır ve taşınacak hiçbir şey yoktur. Öğeleri gezinmenin ve satır içi düzenlemenin ötesinde, SQL Workbench'i ilişkisel biçimli sorguları — birleştirmeler, GROUP BY, toplamalar — bunları Query/Scan'e derleyerek DynamoDB'nin erişim deseni kuralları içinde ifade eder ve yapay zeka asistanı kendi AWS Bedrock kimlik bilgilerinizle çalışır.
Ücretsiz DynamoDB Expression Builder, doğru ayrılmış sözcük ve öznitelik adı işlemeyle SDK, CLI ve PartiQL biçiminde anahtar koşulu, filtre ve güncelleme ifadeleri üretir. DynoTable kapalı kaynaklı ticari bir uygulamadır; bu sayfa nasıl oluşturulduğunu değil ne yaptığını açıklar.
SSS
Cosmos DB, DynamoDB ile aynı mı?
Hayır. Bunlar Microsoft ve AWS'nin ayrı ürünleridir. Her ikisi de anahtara göre bölümleyen, yönetilen, sunucusuz olabilen NoSQL veritabanlarıdır, ancak Cosmos DB birkaç ağ uyumlu API ve beş tutarlılık seviyesiyle çok modellidir, DynamoDB ise iki seviyeli (nihai veya güçlü) okuma modeli ve PartiQL ile AWS'ye özgü bir anahtar-değer ve belge deposudur.
DynamoDB, Cosmos DB gibi tutarlılık seviyelerine sahip mi?
DynamoDB, beş adlandırılmış seviye yerine iki okuma modu sunar: nihai tutarlı okumalar (varsayılan) ve bir Bölge içinde istek başına seçilen güçlü tutarlı okumalar. Cosmos DB bir yelpaze açığa çıkarır — güçlü, sınırlı bayatlık, oturum, tutarlı önek ve nihai — hesap veya istek düzeyinde yapılandırılır.
Cosmos DB'den DynamoDB'ye geçebilir miyim?
Geçebilirsiniz, ancak taşı-ve-koru yerine yeniden modellemeyi planlayın. Her ikisi de anahtar bölümlü NoSQL'dir, bu nedenle kavramlar aktarılır, ancak bölüm/sıralama anahtarlarını yeniden eşler ve sorguları DynamoDB'nin API'sine veya PartiQL'e yeniden yazarsınız ve herhangi bir Cosmos DB Gremlin veya Cassandra API kullanımı DynamoDB'de farklı bir veri modeli gerektirir. Erişim desenlerinizden başlayın — bkz. DynamoDB'de veri nasıl modellenir.
İlgili
- DynamoDB tutarlılığı ve çok Bölgeli Global Tables hakkında bilgi edinin.
- Tek tablo tasarımı ve DynamoDB'de veri nasıl modellenir ile erişim desenlerini modelleyin.
- Ücretsiz DynamoDB Expression Builder ile ifadeler oluşturun.
- DynamoDB tablolarınızla çalışmak için DynoTable'ı indirin.
En son 2026-07-12 tarihinde resmi AWS DynamoDB Developer Guide ve Microsoft Azure Cosmos DB belgelerine karşı doğrulandı. Azure Cosmos DB, Microsoft'un ticari markasıdır; burada yalnızca tanımlama amacıyla belirtilmiştir.