NoSQL: ScyllaDB, Google'ın çoğaltma mimarisiyle esnek bir şekilde ölçeklenir
Scylla, NoSQL veritabanı ScyllaDB'nin 6.0 sürümünü yayınladı. Başından beri yüksek performans için tasarlanan açık kaynak veritabanı, mevcut sürümle birlikte yeni bir replikasyon mimarisini öğreniyor.
Duyuru
Bu sürüm aynı zamanda kesinlikle tutarlı topoloji güncellemelerine ve tutarlı erişim kontrolü güncellemelerine yönelik iyileştirmeler de getiriyor.
Cassandra mimarisi yerine Google ile çoğaltın
ScyllaDB 6.0, verileri küme genelinde dağıtmak için tabletlere güvenir. Google ilk olarak Bigtable dağıtılmış veritabanı sistemi konseptini tanıttı ve bunu halefi Spanner'da kullandı. Tabletler birden fazla sıra tablo içerir. Bigtable düğümleri veri içermez, yalnızca tabletlere yönelik işaretçiler içerir.
Veritabanı, tabloları sıkıştırılmış tablolara böler ve bunları kümedeki birden çok düğüme dağıtır.
(Resim: Scylla)
Esnek dağıtım
Yük dengeleyici, verileri dinamik olarak dağıtır ve gerekirse boyutunu değiştirebilir (örneğin, daha büyük tabletleri bölerek veya daha küçük olanları birleştirerek). Yük dengeleyici, bölünmüş tabletleri farklı düğümlere bağımsız olarak dağıtır.
Bu şekilde sistem isteklerdeki, içeriklerdeki veya mevcut düğümlerdeki değişikliklere esnek bir şekilde tepki verebilir.
Yeni bir düğüm eklendiğinde işgal edilen düğüm tabletlerinin yerini alır.
(Resim: Scylla)
Tablet mimarisi, ScyllaDB'nin Cassandra'dan devraldığı ve 5.4 sürümüne kadar kullanılan sanal düğüm çoğaltma konseptinden daha esnektir.
ScyllaDB'nin mevcut sürümü varsayılan olarak tablet mimarisini kullanır. Diğer şeylerin yanı sıra mimarinin hafif işlemlere izin vermemesi nedeniyle bunu devre dışı bırakmak istiyorsanız, ilgili anahtar alanını bayrakla ayarlamanız gerekir. tablets = { 'enabled': false } yaratmak.
Topolojide tutarlılık
İkinci büyük yenilik kesinlikle tutarlı topoloji güncellemelerini içerir. Scilla, Raft algoritmasına güveniyor: veritabanı, Cassandra modeline ve onun Paxos algoritmasına 2023'te zaten veda etmişti.
ScyllaDB 6.0, varsayılan olarak yeni kümeler için Raft tabanlı, kesinlikle tutarlı topoloji güncellemelerine olanak tanır. Belgelerdeki bir makalede, mevcut kümelerin manuel olarak nasıl dönüştürüleceği açıklanmaktadır.
Topoloji güncellemelerine ek olarak, veritabanı artık kesinlikle tutarlı Rol Tabanlı Erişim Kontrolü (RBAC) kimlik doğrulama güncellemeleri ve tutarlı hizmet düzeyleri de sağlıyor.
Model olarak Cassandra, performans göz önünde bulunduruluyor
ScyllaDB'nin arkasındaki ekip, NoSQL veritabanını ilk kez 2015 yılında Cassandra Zirvesi'nde sundu. Veritabanı, başından beri Cassandra uyumlu olacak şekilde tasarlandı, ancak önemli ölçüde daha performanslı olması bekleniyor. C++ ile yazıldığı için Cassandra Java'ya güvenirken çöp toplayıcıyla ilişkili bir Java Sanal Makinesi (JVM) gerektirmez.
Yine performans nedenleriyle ScyllaDB, kaynaklar arasında veri paylaşımında gecikmeleri ve blokajları önlemek için her veri parçasına sabit kaynaklara (CPU, RAM, ağ ve kalıcı bellek) atanan, hiçbir şey paylaşılmayan bir mimari kullanır.
2018'in sonlarında Scylla, şirketin “Apache Cassandra ile özellik benzerliğini aştığı” için 3.0 sürümünün piyasaya sürülmesiyle ilgili önemli bir kilometre taşı hakkında blog yazısı yayınladı. Artık bazı sektörlerde veritabanı kendi yolunda gidiyor; örneğin VNodes yerine yeni tabletler veya Paxos yerine Raft.
Komut satırından düğümleri yönetmeye yönelik düğüm aracı gibi ScyllaDB 6.0'daki diğer yenilikleri Scylla blogunda bulabilirsiniz.
(kendim)