İçindekiler:
Video: Azure Friday | Cassandra API for Azure Cosmos DB 2024
Anahtar / değer depolarıyla birlikte diğer NoSQL veritabanı türlerinde olduğu gibi, bazı kullanılabilirlik için bazı tutarlılık değiştirebilirsiniz. Anahtar değerli mağazalar genellikle tutarlılık ve dayanıklılık modelleri geniş bir yelpazede sunar - kullanılabilirlik ve bölüm toleransı arasında ve tutarlı ve bölüm toleransı arasında.
Bazı anahtar değerli mağazalar, tutarlılık kolunu daha da ileri götürür ve BASE'u tüm ACID işlemsel tutarlılık desteği için terk eder. Satırın çizileceğini anlamak, kullanım durumunuz için dikkate alınması gereken olası veritabanlarının listesini kısaltmanıza yardımcı olabilir.
İşlem tutarlılığı
Anahtar / değerli mağazalar genellikle yazma zamanlarını iyileştirmek için verilerin ticaret tutarlılığını (yani bir güncellemeden hemen sonra bir değerin son kopyasını her zaman okuma becerisi) tutarlar.
Voldemort, Riak ve Oracle NoSQL, hepsi sonunda tutarlı anahtar / değer dükkanlarıdır. okuma onarım adlı bir yöntem kullanıyorlar. İşte okuma onarım :
-
Bir kayıt okurken, bir anahtar için hangi mevcut değerden hangisinin en yeni ve en güncel olan değer olduğunu belirleyin.
-
En yeni değer belirlenemiyorsa, veritabanı istemcisine tüm değer seçenekleri sunulur ve kendisi için karar vermek üzere bırakılır.
Sonuç olarak tutarlı anahtar / değer depolarını kullanmak için iyi örnekler arasında, sosyal medya yayınları gönderilmesi ve hedeflenen kullanıcılara s yayınlanması sayılabilir. Bir tweet geç gelirse veya beş dakikalık bir şey gösterilirse, felaket veri kaybı olmaz.
ACID desteğinin uygulanması
Aerospike ve Redis, nihai tutarlılığa dikkat çeken istisnadır. Her ikisi de paylaşımsız kümelerini kullanır; bu da her anahtarın aşağıdakilere sahip olduğu anlamına gelir:
-
Bir ana düğüm: Yalnızca ustalar tek bir anahtar için en son kopyanıza sahip olmanızı sağlayan yanıtlar sunar.
-
Çoklu bağım koplik düğümleri: Bunlar, bir ana düğümdeki tüm verilerin kopyalarını içerir. Aerospike, işlemin veritabanı istemcisine tamamlanmış olarak işaretlenmeden önce değişikliklerin hemen diske boşaltılarak yapılmasına izin vererek tam ACID işlem tutarlılığı sağlar.
Aerospike bunu çok yüksek hızda gerçekleştirir (ki bu ACID'ye sahip olmanın yazma hızını düşürdüğünü ileri sürer). Aerospike, yavaş işletim sistemlerinin dosya sistemi desteğini atlayarak veri yazma için ham SSD'leri doğal olarak yönetir.
Elbette daha fazla SSD daha yüksek sunucu maliyetleri anlamına gelir. Redis'i (verilerin geldiği anda diske boşaltmak üzere yapılandırılmış olarak) kullanmanın, yeterince hızlı olduğunu ve ihtiyaçlarınız için yeterli dayanıklılığı garanti ettiğini kararlaştırabilirsiniz.Redis'deki varsayılan ayar, verileri birkaç saniyede bir diske boşaltmak ve bir sunucu başarısız olursa küçük bir veri kaybı potası bırakmaktır.
Aşağıda, bir ACID uyumlu anahtar / değer çakış mağazasına ne zaman ihtiyacınız olabileceğine ilişkin bazı örnekler verilmiştir:
-
Bir denemeniz için gerekli sensör verilerini alırken.
-
Alındığını garanti etmeniz gereken bir mesajlaşma sisteminde.
Redis, örneğin, bir mesajlaşma sunucusu arka uç görevi gören bir Yayınlama / Abone Olma mekanizması sağlar. ACID desteği ile birlikte bu özellik, dayanıklı mesajlaşmayı sağlar.