Apache Cassandra 4.0 DBMS mevcut

Apache Yazılım Vakfı, noSQL sistemleri sınıfına ait olan ve ilişkisel bir dizi (karma) biçiminde depolanan büyük miktarda verinin yüksek düzeyde ölçeklenebilir ve güvenilir bir şekilde depolanmasını sağlamak için tasarlanan dağıtılmış DBMS Apache Cassandra 4.0'ın sürümünü sundu. Cassandra 4.0 sürümünün üretim uygulamasına hazır olduğu değerlendiriliyor ve halihazırda Amazon, Apple, DataStax, Instaclustr, iland ve Netflix altyapılarında 1000'den fazla düğümden oluşan kümelerle test edildi. Proje kodu Java ile yazılmıştır ve Apache 2.0 lisansı altında dağıtılmaktadır.

Cassandra DBMS ilk olarak Facebook tarafından geliştirildi ve 2009'da Apache Vakfı'nın himayesine devredildi. Cassandra'yı temel alan endüstriyel çözümler, Apple, Adobe, CERN, Cisco, IBM, HP, Comcast, Disney, eBay, Huawei, Netflix, Sony, Rackspace, Reddit ve Twitter gibi şirketlerin hizmetlerine güç sağlamak için kullanıldı. Örneğin Apple'ın konuşlandırdığı Apache Cassandra tabanlı depolama altyapısında 160 bini düğüm olmak üzere binden fazla küme bulunuyor ve 100 petabayttan fazla veri depolanıyor. Huawei, 300 bin düğüm dahil olmak üzere 30'den fazla Apache Cassandra kümesi kullanıyor ve Netflix, 100 bin düğümü kapsayan ve günde bir trilyondan fazla isteği işleyen 10'den fazla küme kullanıyor.

Cassandra DBMS, veri hacmi arttıkça neredeyse doğrusal ölçeklenebilirlik sağlayan, tamamen dağıtılmış bir Dinamo karma sistemini birleştirir. Cassandra, verileri yalnızca bir anahtar/değer zincirinde depolayan memcachedb gibi sistemlerden, karmaların depolanmasını çeşitli iç içe yerleştirme düzeyleriyle düzenleme yeteneği açısından farklılık gösteren, sütun ailesine (ColumnFamily) dayalı bir veri depolama modeli kullanır. Veritabanıyla etkileşimi basitleştirmek için, SQL'i anımsatan ancak işlevselliği azaltılmış yapılandırılmış sorgu dili CQL (Cassandra Sorgu Dili) desteklenir. Özellikler arasında ad alanları ve sütun aileleri desteği ve "CREATE INDEX" ifadesi kullanılarak dizinlerin oluşturulması yer alır.

DBMS, arızaya dayanıklı depolama oluşturmanıza olanak tanır: veritabanına yerleştirilen veriler, farklı veri merkezlerini kapsayabilen dağıtılmış bir ağın çeşitli düğümlerine otomatik olarak kopyalanır. Bir düğüm başarısız olduğunda, işlevleri diğer düğümler tarafından anında alınır. Kümeye yeni düğümlerin eklenmesi ve Cassandra sürümünün güncellenmesi, ek manuel müdahaleye veya diğer düğümlerin yeniden yapılandırılmasına gerek kalmadan anında gerçekleştirilir. CQL destekli sürücüler Python, Java (JDBC/DBAPI2), Ruby, PHP, C++ ve JavaScript (Node.js) için hazırlanmıştır.

Ana yenilikler:

  • Geliştirilmiş performans ve ölçeklenebilirlik. Düğümler arasında SSTable (Sıralı Dizeler Tablosu) formatındaki veri alışverişinin verimliliği iyileştirildi. Düğümlerarası Mesajlaşma Protokolü optimize edildi. Düğümler arasında veri akışlarının aktarım hızı 5 kata kadar arttı (temel olarak Sıfır Kopyalama tekniğinin kullanılması ve tüm SSTable'ların aktarımı nedeniyle) ve okuma ve yazma işlemlerinin verimi %25'e çıktı. Artımlı kurtarma işlemi optimize edildi. Çöp toplamanın duraklatılmasından kaynaklanan gecikmeler birkaç milisaniyeye düşürülür.
  • Kullanıcı kimlik doğrulama işlemlerini ve yürütülen tüm CQL sorgularını izlemenize olanak tanıyan bir denetim günlüğü desteği eklendi.
  • Tüm istek ve yanıt trafiğini kaydetmenize olanak tanıyan tam bir ikili istek günlüğü tutma yeteneği eklendi. Yönetim için “nodetool activefullquerylog|disablefullquerylog|resetfullquerylog” komutları önerilmiş ve log analizi için fqltool yardımcı programı sağlanmıştır. Günlüğün okunabilir bir forma dönüştürülmesi (Dump), etkinlik dilimlerinin karşılaştırılması (Karşılaştır) ve gerçek yükün doğasında bulunan koşulları yeniden üreten analiz için yeniden yürütme (Yeniden Yürütme) için komutlar sağlanır.
  • SSTable'larda depolanan verileri değil, API aracılığıyla bilgi çıkışını (performans ölçümleri, ayar bilgileri, önbellek içerikleri, bağlı istemciler hakkında bilgiler vb.) yansıtan sanal tablolar için destek eklendi.
  • Sıkıştırılmış veri depolamanın verimliliği iyileştirildi, disk alanı tüketimi azaltıldı ve okuma performansı iyileştirildi.
  • Sistem anahtar alanıyla (system.*) ilgili veriler artık tüm veri dizinlerine dağıtılmak yerine varsayılan olarak ilk dizine yerleştiriliyor; bu, ek disklerden birinin arızalanması durumunda düğümün çalışır durumda kalmasına olanak tanıyor.
  • Geçici Çoğaltma ve Ucuz Çekirdekler için deneysel destek eklendi. Geçici kopyalar tüm verileri saklamaz ve tam kopyalarla tutarlı olmak için artımlı geri yüklemeyi kullanır. Hafif çekirdekler, yeterli sayıda tam kopya kümesi mevcut oluncaya kadar geçici kopyalara hiçbir yazma işleminin yapılmadığı yazma optimizasyonunu uygular.
  • Java 11 için deneysel destek eklendi.
  • Tüm Merkle Ağaçlarını karşılaştırmak için deneysel seçenek eklendi. Örneğin, iki replikanın aynı olduğu ve birinin eski olduğu 3 düğümlü bir kümede bu seçeneğin etkinleştirilmesi, geçerli replikanın yalnızca bir kopyalama işlemi kullanılarak eski replikanın güncelleştirilmesiyle sonuçlanacaktır.
  • CurrentTimestamp, currentDate, currentTime ve currentTimeUUID gibi yeni işlevler eklendi.
  • CQL sorgularında aritmetik işlemler için destek eklendi.
  • “Timestamp”/”date” ve “süre” tipindeki veriler arasında aritmetik işlem yapabilme yeteneği sağlanmıştır.
  • Kurtarma için gereken veri akışlarının önizlemesine yönelik bir mod (nodetool onarımı - önizleme) ve geri yüklenen verilerin bütünlüğünü kontrol etme yeteneği (nodetool onarımı - doğrulama) eklendi.
  • SELECT sorguları artık Harita ve Ayarlama öğelerini işleme olanağına sahiptir.
  • Gerçekleştirilmiş görünümlerin ilk yapım aşamasını paralelleştirmeye yönelik destek eklendi (cassandra.yaml:concurrent_materialized_view_builders).
  • "Nodetool cfstats" komutu, belirli ölçümlere göre sıralama ve görüntülenen satır sayısını sınırlama desteği ekledi.
  • Kullanıcının bağlantısını yalnızca belirli veri merkezleriyle sınırlamak için ayarlar sağlanmıştır.
  • Anlık görüntü oluşturma ve temizleme işlemlerinin yoğunluğunu (oran sınırı) sınırlama yeteneği eklendi.
  • cqlsh ve cqlshlib artık Python 3'ü destekliyor (Python 2.7 hala destekleniyor).
  • Windows platformu desteği durduruldu. Cassandra'yı Windows'ta çalıştırmak için WSL2 alt sistemi (Linux 2 için Windows Alt Sistemi) veya sanallaştırma sistemleri temelinde oluşturulan Linux ortamlarının kullanılması önerilir.



Kaynak: opennet.ru

Yorum ekle