DynamoDB ile Google Cloud Spanner

DynamoDB ve Google Cloud Spanner'ın ikisi de dağıtık bir küme genelinde yatay olarak ölçeklenir, ancak zıt temel bahisler yaparlar. DynamoDB, bilinen erişim desenleri etrafında tasarlanmış sunucusuz bir AWS NoSQL anahtar-değer ve belge deposudur. Spanner ise Google'ın TrueTime saatini kullanarak, bölgeler arasında bile tam SQL ve güçlü (dışsal tutarlı) işlemleri koruyan küresel dağıtık bir ilişkisel veritabanıdır.

DynamoDB mi Spanner mı kullanmalısınız?

AWS üzerindeyseniz ve istek başına ödeme faturalandırması ile anahtar tabanlı erişim için öngörülebilir gecikmeye sahip sunucusuz bir NoSQL deposu istiyorsanız DynamoDB'yi seçin. Küresel ölçekte ilişkisel SQL'e, join'lere ve güçlü işlemsel tutarlılığa ihtiyacınız varsa — hâlâ ilişkisel biri gibi davranan, yatay olarak ölçeklenebilir bir veritabanı — Google Cloud Spanner'ı seçin. Belirleyici eksen, ölçekte ilişkisel garantilere karşı sunucusuz NoSQL sadeliğidir.

Bir bakışta DynamoDB ile Spanner

ÖzellikDynamoDBGoogle Cloud Spanner
Veri modeliNoSQL anahtar-değer ve belge; esnek öğe başına şema, 400 KB'ye kadar öğelerİlişkisel — tablolar, satırlar, sütunlar ve şemalar (ayrıca graph, anahtar-değer ve arama yeteneklerini sunar)
Sorgu diliYerel API (GetItem, Query, Scan) artı PartiQL, SQL uyumlu bir dilİki lehçede tam SQL — GoogleSQL ve PostgreSQL uyumlu bir lehçe
Join'ler & ilişkilerJOIN operatörü yok; AWS erişim desenleri etrafında denormalize etmenizi önerirTam ilişkisel join'ler, dış anahtarlar ve iç içe geçmiş (interleaved) tablolar
TutarlılıkVarsayılan olarak nihai tutarlı; istek başına güçlü tutarlı okumalar (bir Bölge içinde)Varsayılan olarak dışsal (güçlü) tutarlılık, bölgeler arası dahil, TrueTime saatiyle desteklenir
İşlemlerBir Bölge içinde birden fazla öğe genelinde ACID işlemleriBölgeler arası dahil küresel tutarlı ACID işlemleri
Ölçeklenme modeliOtomatik bölümleme; sunucusuz on-demand veya sağlanan kapasiteOtomatik ölçeklendirmeli sağlanan işlem gücü (düğümler / işlem birimleri) ile yatay ölçeklenme; depolama ayrı ölçeklenir
Çoklu bölgeGlobal Tables — çoklu Bölge, aktif-aktif çoğaltma (Bölgeler arasında nihai tutarlı)Bölgeler arasında güçlü tutarlılığı koruyan çoklu bölge yapılandırmaları
Fiyatlandırma / operasyon modeliİstek başına ödeme (on-demand) veya sağlanan kapasite artı depolama; sunucusuz, yalnızca AWSSağlanan işlem kapasitesi artı depolama (ve ağ); düğüm/işlem-birimi tabanlı, yalnızca GCP
En uygun iş yükleriTutarlı düşük gecikme gerektiren, bilinen anahtar erişimine sahip yüksek ölçekli operasyonel uygulamalarÖlçekte güçlü tutarlılık, SQL ve join gerektiren küresel ilişkisel sistemler

DynamoDB ne zaman daha iyi seçim

  • AWS üzerindesiniz ve sunucusuz NoSQL istiyorsunuz. On-demand kapasitede sağlanacak hiçbir şey yoktur, trafiğe göre ölçeklenir ve boştayken sıfıra ölçeklenir.
  • Erişim desenleriniz biliniyor ve anahtar tabanlı. DynamoDB'nin bölüm/sıralama anahtarı modeli, anahtarlar okumalarınız etrafında tasarlandığında tutarlı tek haneli milisaniye gecikmesi verir.
  • İlişkisel join'lere veya küresel güçlü tutarlılığa ihtiyacınız yok. Denormalize edilmiş, anahtar odaklı bir model uyuyorsa, kullanmayacağınız garantiler için ödeme yapmaktan kaçınırsınız.
  • Yerel AWS entegrasyonu istiyorsunuz — IAM, Lambda ve Streams ile.

Spanner ne zaman daha iyi seçim

  • Küresel ölçekte ilişkisel SQL'e ihtiyacınız var. Spanner, yatay olarak ölçeklenirken join'leri, şemaları ve tam SQL'i korur — ölçeklendirmek için ilişkisel semantikten vazgeçmezsiniz.
  • Bölgeler arasında güçlü tutarlılığa ihtiyacınız var. TrueTime destekli dışsal tutarlılık, çoklu bölge işlemlerinin sanki sıralanmış gibi davranmasını sağlar; DynamoDB'nin Global Tables'ı (Bölgeler arasında nihai tutarlı) bunu sağlamaz.
  • İş yükünüz ilişkisel ve sorgu esnek. Normalleştirilmiş tablolar arası isteğe bağlı join'ler ve gelişen sorgular Spanner'ın modeline uyar.
  • GCP üzerindesiniz ve yüksek kullanılabilirlik SLA'larına sahip yönetilen küresel veritabanını istiyorsunuz.

DynamoDB ile çalışmak

DynamoDB uyuyorsa, DynoTable macOS, Windows ve Linux üzerinde onun için yerel bir masaüstü istemcisidir. Standart AWS kimlik bilgisi zincirinizi okur, böylece veriniz DynamoDB'de kalır ve taşınacak hiçbir şey olmaz. Spanner'ın SQL'ine alışkın ekipler için, SQL Workbench'i ilişkisel biçimli sorguları — join'ler, GROUP BY, toplamalar — DynamoDB'nin Query/Scan'ine derleyerek DynamoDB'nin erişim deseni kuralları içinde ifade eder ve yapay zeka asistanı kendi AWS Bedrock kimlik bilgilerinizle çalışır.

SQL for DynamoDB ve PartiQL vs SQL kılavuzları SQL'den nelerin karşılık geldiğini açıklar ve ücretsiz DynamoDB Expression Builder anahtar koşullarını, filtreleri ve güncelleme ifadelerini SDK, CLI ve PartiQL biçiminde üretir. DynoTable kapalı kaynaklı ticari bir uygulamadır; bu sayfa ne yaptığını anlatır, nasıl inşa edildiğini değil.

SSS

Spanner, DynamoDB gibi bir NoSQL veritabanı mı?

Hayır. Spanner, tesadüfen dağıtık bir sistem gibi yatay olarak ölçeklenen, tam SQL'e, join'lere ve şemalara sahip ilişkisel bir veritabanıdır. DynamoDB ise JOIN operatörü olmayan bir NoSQL anahtar-değer ve belge deposudur. Spanner'ın ayırt edici iddiası, ilişkisel, güçlü tutarlı semantiği küresel ölçekte korumaktır.

DynamoDB, Spanner gibi küresel güçlü tutarlılık sunar mı?

Aynı şekilde değil. DynamoDB, tek bir Bölge içinde güçlü tutarlı okumalar sağlar ve Global Tables Bölgeler arasında çoğaltır ancak aralarında nihai tutarlılıkla. Spanner, bölgeler arasında bile işlemler için dışsal (güçlü) tutarlılık sağlamak üzere TrueTime'ı kullanır.

DynamoDB, Spanner'ın yerini alabilir mi?

Yalnızca ilişkisel SQL'e veya küresel güçlü tutarlılığa ihtiyacınız olmadığında. Erişiminiz anahtar tabanlıysa ve denormalize edilmiş bir model uyuyorsa, DynamoDB daha basit ve sunucusuzdur. Join'lere, isteğe bağlı SQL'e ya da güçlü tutarlı bölgeler arası işlemlere dayanıyorsanız, bunlar Spanner'ın amacıdır — onu değiştirmek, verinizi DynamoDB'nin anahtarları etrafında yeniden modellemek ve bu garantilerden vazgeçmek demektir.

İlgili

Son doğrulama 2026-07-12, resmi AWS DynamoDB Developer Guide ve Google Cloud Spanner dokümantasyonuna göre yapıldı. Google Cloud Spanner, Google LLC'nin ticari markasıdır; burada yalnızca tanımlama amacıyla anılmıştır.

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.