DynamoDB ile Amazon Neptune
DynamoDB ve Amazon Neptune, her ikisi de tamamen yönetilen AWS veritabanlarıdır, ancak verileri temelde farklı şekillerde modellerler. DynamoDB, anahtarla sorguladığınız bir anahtar-değer ve doküman deposudur. Neptune, düğümler ve kenarlar (veya RDF üçlüleri) depolayan ve ilişkileri doğrudan grafik sorgu dilleriyle dolaşan, özel amaçlı bir grafik veritabanıdır. Seçim, ilişkilerin sorguladığınız birincil şey olup olmadığına bağlıdır.
DynamoDB mi Neptune mü kullanmalısınız?
İlişkilerin sınırlı olduğu ve anahtarlarla modellenebildiği yapılandırılmış kayıtlara ölçekte anahtar tabanlı erişim için DynamoDB'yi seçin. Bağlantılar sorgularınızın çekirdeği olduğunda — çok atlamalı geçişler, en kısa yol, öneriler, dolandırıcılık halkaları, bilgi grafikleri — bir grafik modelinin, bir anahtar-değer deposuna karşı birçok gidiş-geliş olacak şeyi tek bir sorguda ifade ettiği yerde Amazon Neptune'ü seçin. Sorgularınızın ne kadar ilişki yoğun olduğu buna karar verir.
Bir bakışta DynamoDB ile Amazon Neptune
| Özellik | DynamoDB | Amazon Neptune |
|---|---|---|
| Veri modeli | NoSQL anahtar-değer ve doküman; tablolarda 400 KB'a kadar tiplenmiş öğeler | Grafik — özellik grafiği (özellikli düğümler/kenarlar) ve RDF (özne-yüklem-nesne üçlüleri) |
| Sorgu dili / API | Yerel API (GetItem, Query, Scan) artı PartiQL, SQL uyumlu bir dil | Özellik grafikleri için Gremlin ve openCypher; RDF grafikleri için SPARQL |
| Birincil erişim | Bölüm/sıralama anahtarı üzerinde anahtar tabanlı aramalar; ilişkiler anahtarlarla modellenir | İlişki geçişi — tek bir sorguda birçok atlamada kenarları dolaşma |
| İlişkiler | Yerel geçiş yok; bir komşuluk listesi veya tek tablo tasarımıyla modelleyin | Kenarlar birinci sınıftır; çok atlamalı ve yol sorguları yereldir ve verimlidir |
| Tutarlılık | Varsayılan olarak nihai tutarlı; istek başına güçlü tutarlı okumalar mevcut | Okumalar bir küme içinde tutarlıdır; okuma kopyaları ölçekli okumalara hizmet eder |
| Ölçekleme modeli | Otomatik bölümleme; sunucusuz isteğe bağlı veya sağlanan kapasite | Okuma kopyalı sağlanan DB örnekleri veya otomatik ölçeklenen Neptune Serverless (NCU cinsinden kapasite) |
| İşlemler | Bir Bölge içinde birden çok öğe genelinde ACID işlemleri | Grafik mutasyonları üzerinde ACID işlemleri |
| Fiyatlandırma / ops modeli | İstek başına ödeme (isteğe bağlı) veya sağlanan kapasite artı depolama; sunucusuz | Örnek-saatleri (sağlanan) veya NCU-saatleri (Serverless), artı depolama ve I/O; yalnızca AWS |
| En uygun iş yükleri | Profiller, oturumlar, sepetler, olaylar — ölçekte anahtar tabanlı kayıtlar | Sosyal grafikler, öneriler, dolandırıcılık tespiti, bilgi grafikleri, ağ/kimlik grafikleri |
DynamoDB'nin daha iyi seçim olduğu durumlar
- Erişiminiz anahtar tabanlı. Kimliğe göre getir, bir bölümü sorgula ve bir bölüm içinde filtrele, DynamoDB'ye doğal olarak eşlenir ve herhangi bir ölçekte hızlı kalır.
- İlişkiler sığ veya sınırlı. Bire-çok ve çoka-çok bağlantılar, bir grafik motoru olmadan anahtarlarla — bir komşuluk listesi veya tek tablo tasarımı — modellenebilir.
- Sunucusuz basitlik ve istek başına ödeme istiyorsunuz. İsteğe bağlı kapasitenin boyutlandıracak hiçbir şeyi yoktur ve boştayken sıfıra ölçeklenir.
- Derin geçişler çalıştırmıyorsunuz. Nadiren bir veya iki atlamadan fazla yürüyorsanız, bir grafik veritabanının güçlü yanları kullanılmadan kalır.
Neptune'ün daha iyi seçim olduğu durumlar
- İlişkiler sorgudur. Çok atlamalı geçişler — arkadaşların arkadaşları, en kısa yol, "kim kimle bağlantılı" — Gremlin, openCypher veya SPARQL'da yereldir, oysa bir anahtar-değer deposu birçok ardışık okumaya ihtiyaç duyar.
- Bir özellik grafiğine veya RDF'ye ihtiyacınız var. Neptune her iki modeli ve standart sorgu dillerini destekler, bilgi grafiklerine ve bağlantılı veri kullanım durumlarına uygundur.
- Alanınız grafik şeklinde. Dolandırıcılık tespiti, öneri motorları, sosyal ağlar ve kimlik/ağ grafikleri, doğal olarak düğümler ve kenarlar olarak ifade edilir.
- Geçiş desenleri gelişmeye devam ediyor. Yeni ilişki soruları yeni grafik sorgularıdır, anahtarlarınızın yeniden tasarımı değil.
Yararlı bir başparmak kuralı: DynamoDB, bir komşuluk-listesi deseniyle ilişkileri temsil edebilir ve geçişleri önceden bildiğinizde ve sığ kaldıklarında bu yeterlidir. Geçişler derin, değişken derinlikli veya anlık olduğunda, Neptune'ün grafik motoru tam olarak bunun için tasarlanmıştır ve bir anahtar-değer deposunda kenarları yürümenin çok gidiş-gelişli maliyetinden kaçınır.
DynamoDB ile çalışma
İş yükünüz anahtar tabanlıysa ve ilişkileri bir komşuluk listesiyle modelliyorsanız, DynoTable, macOS, Windows ve Linux'ta DynamoDB için yerel bir masaüstü istemcisidir. Standart AWS kimlik bilgisi zincirinizi okur, böylece verileriniz taşınacak hiçbir şey olmadan DynamoDB'de kalır. Öğeleri gözden geçirir ve satır içi düzenler, anahtar koşulları ve filtreleri görsel olarak oluşturur ve DynamoDB'nin erişim deseni kuralları içinde ilişkisel şekilli sorgular ifade eden bir SQL Workbench, artı kendi AWS Bedrock kimlik bilgileriniz üzerinde bir AI asistanı ekler.
Ücretsiz DynamoDB Expression Builder, bir komşuluk-listesi modelinin ihtiyaç duyduğu 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 nasıl yapıldığını değil, ne yaptığını anlatır.
SSS
DynamoDB bir grafik veritabanı olarak kullanılabilir mi?
Kısmen. DynamoDB'nin yerel grafik geçişi yoktur, ancak ilişkileri bir komşuluk-listesi deseniyle veya tek tablo tasarımıyla modelleyebilirsiniz, bu da geçişler bilindiğinde ve sığ olduğunda iyi çalışır. Derin, değişken derinlikli veya anlık geçişler için — en kısa yol, çok atlamalı öneriler — Neptune gibi özel amaçlı bir grafik veritabanı daha uygundur çünkü birçok ayrı okuma yapmak yerine kenarları yerel olarak yürür.
Neptune, DynamoDB'ye kıyasla hangi sorgu dillerini destekler?
Neptune, özellik grafikleri için Gremlin ve openCypher'ı ve RDF grafikleri için SPARQL'ı destekler. DynamoDB, yerel API'sini (GetItem, Query, Scan ve ilgili işlemler) artı SQL uyumlu bir dil olan PartiQL'i kullanır. Sorgu dilinde örtüşme yoktur — modeller farklıdır.
Neptune'ü DynamoDB yerine ne zaman seçmeliyim?
Bağlantılar en çok sorguladığınız şey olduğunda Neptune'ü seçin: çok atlamalı geçişler, yol bulma veya dolandırıcılık tespiti, öneriler ve bilgi grafikleri gibi ilişki merkezli alanlar. Erişim öncelikle anahtarla olduğunda ve ilişkiler anahtarlarla modellenecek kadar sınırlı olduğunda DynamoDB'yi seçin. Bazı mimariler her ikisini de kullanır — operasyonel kayıtlar için DynamoDB ve onların üzerindeki bağlantılı grafik için Neptune.
İlgili
- DynamoDB'de ilişkileri komşuluk-listesi deseni, bire-çok ve çoka-çok rehberleriyle modelleyin.
- Hepsini tek tablo tasarımı ile yapılandırın.
- İfadeleri ücretsiz DynamoDB Expression Builder ile oluşturun.
- DynamoDB tablolarınızı gözden geçirmek, sorgulamak ve düzenlemek için DynoTable'ı indirin.
Son doğrulama 2026-07-12, resmi AWS DynamoDB ve Amazon Neptune belgelerine karşı yapıldı. Amazon Neptune ve DynamoDB, Amazon Web Services'in hizmetleridir; burada yalnızca tanımlama amacıyla anılmıştır.