DynamoDB ile Amazon RDS

DynamoDB ve Amazon RDS'in ikisi de yönetilen AWS veritabanlarıdır, ancak iki farklı dünyayı temsil ederler. DynamoDB, bilinen erişim desenleri ve yatay ölçek etrafında tasarlanmış sunucusuz bir NoSQL anahtar-değer ve belge veritabanıdır. Amazon RDS ise örnek tabanlı ilişkisel motorları — MySQL, PostgreSQL, MariaDB, SQL Server, Oracle ve Db2 — tam SQL, join'ler ve zorunlu şemalarla çalıştıran yönetilen bir hizmettir.

DynamoDB mi RDS mi kullanmalısınız?

Sunucusuz ölçeklenme istediğiniz ve yönetilecek örnek olmasını istemediğiniz, öngörülebilir ve anahtar tabanlı erişime sahip yüksek ölçekli operasyonel iş yükleri için DynamoDB'yi seçin. Tanıdık bir ilişkisel motor üzerinde tam SQL'e — join'ler, isteğe bağlı sorgular, normalleştirilmiş tablolar arası işlemler — ihtiyacınız olduğunda ve veriniz okuma çoğaltmalarıyla dikey olarak ölçekleyebileceğiniz bir örneğe sığdığında Amazon RDS'i seçin. Temel değiş tokuş, sorgu esnekliğine karşı elini pek bulaştırmadan yönetilen ölçektir.

Bir bakışta DynamoDB ile Amazon RDS

ÖzellikDynamoDBAmazon RDS
Veri modeliNoSQL anahtar-değer ve belge; esnek öğe başına şema, 400 KB'ye kadar öğelerİlişkisel — seçtiğiniz motor üzerinde zorunlu bir şemaya sahip tablolar, satırlar ve sütunlar
Sorgu diliYerel API (GetItem, Query, Scan) artı PartiQL, SQL uyumlu bir dilTemel motorun tam SQL'i (MySQL, PostgreSQL, MariaDB, SQL Server, Oracle, Db2)
Join'ler & ilişkilerJOIN operatörü yok; AWS erişim desenleri etrafında denormalize etmenizi önerirTablolar arasında tam ilişkisel join'ler, dış anahtarlar ve kısıtlamalar
İndekslerAlternatif bir anahtar üzerinde global ve yerel ikincil indekslerMotorun indeks tipleri (B-tree, hash ve motora özel), ayrıca bazı motorlarda kısmi/ifade indeksleri
TutarlılıkVarsayılan olarak nihai tutarlı; istek başına güçlü tutarlı okumalar; ACID işlemleriVarsayılan olarak güçlü tutarlılık; tam çok ifadeli ACID işlemleri
Ölçeklenme modeliYatay — otomatik bölümleme; sunucusuz on-demand yukarı ve aşağı (sıfıra kadar) ölçeklenirDikey — yeniden boyutlandırdığınız sağlanan bir örnek, artı okuma ölçeklendirme için okuma çoğaltmaları
Sağlama / operasyonSunucusuz; boyutlandırılacak veya yamalanacak örnek yokÖrnek tabanlı; sınıfı ve depolamayı siz seçersiniz, AWS yamalama, yedekleme ve devreyi yönetir (Multi-AZ isteğe bağlı)
Fiyatlandırma modeliİstek başına ödeme (on-demand) veya sağlanan kapasite artı depolama; boştayken sıfıra ölçeklenirDB sınıfı için örnek-saati artı depolama (ve bazı seçeneklerde I/O), örnek çalışırken faturalandırılır
En uygun iş yükleriBilinen anahtar erişimine sahip yüksek ölçekli operasyonel uygulamalar (sepetler, oturumlar, olaylar, skor tabloları)Join'ler, isteğe bağlı sorgular ve güçlü veri bütünlüğü gerektiren ilişkisel ve analitik iş yükleri

DynamoDB ne zaman daha iyi seçim

  • Erişim desenleriniz biliniyor ve anahtar tabanlı. Anahtarları okumalarınız etrafında tasarlamak, yüzlerce ya da yüz milyonlarca kullanıcınız olsun tutarlı tek haneli milisaniye gecikmesi verir.
  • Örnek olmayan bir sunucusuz istiyorsunuz. On-demand kapasitede boyutlandırılacak veya yamalanacak hiçbir şey yoktur ve boştayken sıfıra ölçeklenir — gece gündüz çalışan bir örnek yok.
  • Yazmaları yatay ölçeklendirmeniz gerekiyor. DynamoDB otomatik olarak bölümler; tek bir ilişkisel birincili ölçeklendirmek için ekleyeceğiniz gibi sharding araçları eklemezsiniz.
  • İş yükünüz öğe odaklı (profiller, oturumlar, sepetler, olaylar), birbirine join'lenmiş tablolardan oluşan bir ağ değil.

Amazon RDS ne zaman daha iyi seçim

  • Tam SQL ve join'lere ihtiyacınız var. RDS, normalleştirilmiş tablolar arasında join'ler, toplamalar, dış anahtarlar ve isteğe bağlı sorgularla gerçek ilişkisel motorları çalıştırır.
  • Erişim desenleriniz gelişmeye devam ediyor. Esnek sorgulamaya sahip ilişkisel bir şema, anahtarları yeniden tasarlamadan yeni sorulara uyum sağlar.
  • Tanıdık bir motor istiyorsunuz. MySQL, PostgreSQL, MariaDB, SQL Server, Oracle ve Db2, ekiplerin mevcut becerileri, araçları ve SQL'i yeniden kullanmasını sağlar.
  • Veri kümeniz dikey ölçeklenmiş bir örneğe okuma çoğaltmalarıyla sığıyor ve istikrarlı, sorgu yoğun trafik her zaman açık bir örneğe uyuyor.

DynamoDB ile çalışmak

DynamoDB bölünmenin doğru tarafıysa, 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. RDS'ten gelen ekipler için önemlisi, SQL Workbench'i ilişkisel biçimli sorguları — join'ler, GROUP BY, toplamalar — DynamoDB'nin kendi Query/Scan işlemlerine derleyerek DynamoDB'nin erişim deseni kuralları içinde ifade eder ve yapay zeka asistanı kendi AWS Bedrock kimlik bilgilerinizle çalışır.

SQL yazmayı özlüyorsanız, SQL for DynamoDB ve PartiQL vs SQL kılavuzları nelerin karşılık geldiğini ve nelerin gelmediğini açıklar; DynamoDB JOIN kılavuzu ise yerel bir join olmadan ilişkilerin nasıl modelleneceğini kapsar. Ücretsiz DynamoDB Expression Builder doğru 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

DynamoDB, Amazon RDS'in yerini alabilir mi?

Bazı iş yükleri için, evet. Erişim desenleriniz öngörülebilir ve anahtar tabanlıysa, DynamoDB bir RDS örneğinin yerini alabilir ve ölçeklendirme ile yamalama işinin çoğunu ortadan kaldırabilir. Join'lere, isteğe bağlı ilişkisel sorgulara ya da sürekli değişen bir sorgu yüzeyine — RDS'in güçlü yönleri — dayandığınız yerlerde kötü bir seçimdir. Birçok ekip ikisini birden çalıştırır: ilişkisel işler için RDS, yüksek verimli anahtar erişimi için DynamoDB.

DynamoDB, RDS gibi SQL ve join destekliyor mu?

DynamoDB, SELECT, INSERT, UPDATE ve DELETE için SQL uyumlu bir dil olan PartiQL'i destekler, ancak JOIN operatörü yoktur; AWS bunun yerine denormalize etmenizi önerir. RDS'in arkasındaki motorlar, tablolar arası join'ler dahil tam SQL'i destekler. Bir join olmadan ilişkilerin nasıl modelleneceği için DynamoDB'de join'ler'e bakın.

DynamoDB, RDS'ten daha mı ucuz?

İş yüküne bağlıdır, bu yüzden ikisini de modelleyin. DynamoDB, istek başına (veya sağlanan kapasite) artı depolama faturalandırır ve boştayken sıfıra ölçeklenir; bu da ani sıçramalı veya düşük tabanlı trafiğe uygundur. RDS, çalışan bir sınıf için örnek-saati artı depolama faturalandırır; bu da istikrarlı, sorgu yoğun iş yükleri için daha uygun maliyetli olabilir. Karar vermeden önce gerçek erişim desenlerinize göre hesaplayın.

İlgili

Son doğrulama 2026-07-12, resmi AWS DynamoDB ve Amazon RDS dokümantasyonuna göre yapıldı. Amazon RDS ve DynamoDB, Amazon Web Services hizmetleridir; 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.