DynamoDB ve Cassanda'nın veri modelini nasıl çağırıyorsunuz?


9

DynamoDB Wikipedia makalesi DynamoDB bir "olduğunu söylüyor anahtar-değer " veri tabanı. Bununla birlikte, "anahtar / değer" veritabanı olarak adlandırmak, DynamoDB'nin sıralama anahtarının son derece temel bir özelliğini tamamen kaçırır : Anahtarların iki bölümü vardır (bölüm anahtarı ve sıralama anahtarı) ve aynı bölüm anahtarına sahip öğeler verimli bir şekilde birlikte sıralanabilir sıralama tuşu ile.

Cassandra ayrıca ("kümeleme anahtarı" olarak adlandırılan) bölüm içi öğelerle tam olarak aynı sıralama öğeleri içerir ve Cassandra Wikipedia makalesi onu tanımlamak için geniş sütun deposu terimini kullanır . Bununla birlikte, bu "geniş sütun" terimi "anahtar / değer çiftinden" daha iyi olsa da, bir öğenin çok sayıda ilişkisiz sütuna sahip olabileceği daha genel bir durumu açıkladığı için hala biraz uygunsuzdur - zorunlu olarak ayrılmış bir ayrı liste öğeler.

Benim sorum, DynamoDB ve Cassandra gibi bir veritabanının veri modelini tanımlayabilen daha uygun bir terim olup olmadığıdır - anahtar / değer deposu gibi veritabanları ayrı ayrı anahtarlar için öğeleri verimli bir şekilde alabilir, ancak aynı zamanda veya sadece bir bölümü (DynamoDB'nin sıralama anahtarı veya Cassandra'nın kümeleme anahtarı ).


2
Bu modelin Bölüm / Sipariş / Değer niteliğini yakalamak için "Anahtar-Değer-Değeri" buluyorum
Tzach Livyatan

Bu soruyu konu dışı olarak kapatmak için oy kullanıyorum çünkü kodlama ile ilgili görünmüyor.
Charles

5
Neden "kodlama" ile ilgili olması gerekiyor? C ++ veya Java etiketi veya başka bir programlama dili yoktur, bu nedenle herhangi bir programlama dilinde kodlama ile ilgili değildir. Cassandra ve ark. etiketler - bunun ilgili yazılımla ilgili olduğunu gösterir . Yazılım hakkında daha uygun soruları düşündüğünüz daha iyi bir stackexchange sitesi var mı? Ve bu sorunun zaten +2 puanı olduğunu unutmayın. Görünüşe göre bu gerçekten kötü bir soru değil.
Nadav Har'El

2
Benim önerim "Anahtar-Sıralanabilir-Değer"
TomerSan

Yanıtlar:


3

CQL kullanılmadan önce Cassandra, yalnızca bir satır anahtarı ile tanımlanmış ve sıralanmış anahtar / değer sütunları içeren satırlara sahip olduğunuz geniş sütun deposu veri modeline daha sıkı bir şekilde bağlı kaldı. CQL'in girişiyle satırlar bölümler olarak bilinir ve sütunlar isteğe bağlı olarak kümeleme anahtarları aracılığıyla mantıksal satırlara gruplandırılabilir.

Cassandra 3.0'a kadar bile, CQL sadece orijinal tasarruf veri modelinin üstünde bir soyutlama idi ve depolama motoru içinde CQL satırları kavramı yoktu. Bunlar, kümeleme anahtarlarının birleştirilmiş değerlerinden oluşan bileşik bir anahtarla sıralanan bir sütun kümesiydi. Bu makalede daha fazla ayrıntı verilmiştir . Artık depolama motorunda CQL veri modellerinin daha verimli bir şekilde depolanmasını sağlayan yerel CQL desteği var.

Bununla birlikte, bir CQL satırını aynı bölümdeki sütunların mantıksal bir gruplaması olarak düşünüyorsanız, Cassandra yine de geniş bir sütun deposu olarak düşünülebilir. Her halükarda, bence, bu tür bir veritabanını tanımlamak için iyi kurulmuş başka bir terim yoktur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.