Cassandra Archidoku ve Çoğaltma Faktörü

Cassandra idare edecek şekilde tasarlanmıştır büyük Veri. CassandraAna özelliği, verileri tek bir hata noktası olmadan birden fazla düğümde depolamaktır.

Bu tür bir durumun nedeni Cassandra'nin mimarisi donanım arızasının herhangi bir zamanda meydana gelebilmesiydi. Herhangi bir düğüm kapalı olabilir. Arıza durumunda başka bir düğümde depolanan veriler kullanılabilir. Dolayısıyla, Cassandra Dağıtık mimarisiyle tasarlanmıştır.

Cassandra Verileri eşler arası dağıtık mimariyle farklı düğümlerde depolar.

Tüm düğümler birbirleriyle bilgi alışverişinde bulunurlar. Dedikodu protokolü. Dedikodu bir protokoldür Cassandra düğümlerin birbirleriyle iletişim kurabilmesini sağlar.

In bileşenleri Cassandra Archidoku

Aşağıdaki bileşenler mevcuttur: Cassandra Archidoku:

Cassandra Archidoku
Cassandra Archidoku şeması

Düğüm

Düğüm, verilerin depolandığı yerdir. Bu, temel bileşenidir Cassandra.

Veri Merkezi

Düğümlerden oluşan bir koleksiyona veri merkezi denir. Birçok düğüm veri merkezi olarak sınıflandırılır.

Cluster

Küme, birçok veri merkezinin toplanmasıdır.

Kaydetme Günlüğü

Her yazma işlemi Kaydetme Günlüğüne yazılır. Kaydetme günlüğü, kilitlenme kurtarma için kullanılır.

Mem tablosu

Commit log'a veriler yazıldıktan sonra Mem tablosuna veriler yazılır. Veriler geçici olarak Mem tablosuna yazılır.

SSTable

Mem tablosu belirli bir eşiğe ulaştığında veriler bir SSTable disk dosyasına aktarılır.

Veri Çoğaltma Cassandra

Veri işleme sırasında herhangi bir zamanda donanım sorunu oluşabileceğinden veya bağlantı kesilebileceğinden, sorun oluştuğunda yedekleme sağlayacak bir çözüme ihtiyaç vardır. Böylece veriler, tek bir hata noktasının olmamasını sağlamak için kopyalanır.

Cassandra Verilerin kopyalarını bu iki faktöre dayalı olarak farklı düğümlere yerleştirir.

  • Bir sonraki kopyanın nereye yerleştirileceği, Çoğaltma Stratejisi.
  • Farklı düğümlere yerleştirilen toplam kopya sayısı şu şekilde belirlenir: Çoğaltma Faktörü.

Bir Çoğaltma faktörü, yalnızca tek bir veri kopyasının olduğu anlamına gelirken, üç çoğaltma faktörü, verilerin üç farklı düğümde üç kopyasının olduğu anlamına gelir.

Tek bir arıza noktasının olmamasını sağlamak için, çoğaltma faktörü üç olmalıdır.

İki tür kopyalama stratejisi vardır Cassandra.

SimpleStrategy'de Cassandra

BasitStrateji yalnızca bir veri merkeziniz olduğunda kullanılır. SimpleStrategy, ilk replikayı bölümleyici tarafından seçilen düğüme yerleştirir. Bundan sonra, kalan replikalar Node halkasında saat yönünde yerleştirilir.

İşte SimpleStrategy'nin resimli temsili:

SimpleStrategy'de Cassandra
SimpleStrategy'de Cassandra

AğTopolojisiStrateji Cassandra

AğTopolojisiStrateji ikiden fazla veri merkeziniz olduğunda kullanılır. NetworkTopologyStrategy'de, replikalar her veri merkezi için ayrı ayrı ayarlanır. NetworkTopologyStrategy, replikaları halkada saat yönünde, başka bir raftaki ilk düğüme ulaşana kadar yerleştirir. Bu strateji, replikaları aynı veri merkezindeki farklı raflara yerleştirmeye çalışır.

Bunun nedeni bazen rafta arıza veya sorun yaşanabilmesidir. Daha sonra diğer düğümlerdeki kopyalar veri sağlayabilir.

Ağ topolojisi stratejisinin resimli temsili:

AğTopolojisiStrateji Cassandra
AğTopolojisiStrateji Cassandra

Yazmak Operadahil olmak Cassandra

Koordinatör kopyalara bir yazma isteği gönderir. Tüm kopyalar çalışır durumdaysa tutarlılık düzeylerine bakılmaksızın yazma isteği alırlar.

Tutarlılık düzeyi Başarı onayıyla kaç düğümün yanıt vereceğini belirler.

Veriler taahhüt günlüğüne başarıyla yazılırsa düğüm başarı bildirimiyle yanıt verecektir ve memTable.

Örneğin replikasyon faktörü 3 olan tek bir veri merkezinde 3 replika yazma isteği alacaktır. Tutarlılık düzeyi bir ise yalnızca bir kopya başarı onayıyla yanıt verir ve geri kalan ikisi hareketsiz kalır.

Kalan iki kopyanın, düğüm kesintileri veya başka bir sorun nedeniyle verileri kaybettiğini varsayalım. Cassandra Yerleşik onarım mekanizması sayesinde sırayı tutarlı hale getirecek Cassandra.

Burada yazma işleminin nasıl gerçekleştiği anlatılmaktadır. Cassandra,

  1. Düğüme yazma isteği geldiğinde öncelikle commit log’una loglanır.
  2. Sonra Cassandra verileri mem tablosuna yazar. Her yazma isteğinde mem-tablosuna yazılan veriler aynı zamanda commit log'una ayrı ayrı yazar. Mem tablosu, bellekte geçici olarak saklanan bir veridir; Commit log ise işlem kayıtlarını yedekleme amacıyla günlüğe kaydeder.
  3. Mem tablosu dolduğunda veriler SSTable veri dosyasına aktarılır.
Yazmak Operadahil olmak Cassandra
Yazmak Operadahil olmak Cassandra

Okumak Operadahil olmak Cassandra

Bir koordinatörün kopyalara gönderdiği üç tür okuma isteği vardır.

  1. Doğrudan istek
  2. Özet isteği
  3. Onarım talebini oku

Koordinatör kopyalardan birine doğrudan istek gönderir. Bundan sonra koordinatör, tutarlılık düzeyine göre belirtilen replika sayısına özet isteğini gönderir ve döndürülen verinin güncellenmiş veri olup olmadığını kontrol eder.

Bundan sonra koordinatör kalan tüm kopyalara özet isteği gönderir. Herhangi bir düğüm güncel olmayan bir değer verirse, arka plan okuma onarım isteği bu verileri güncelleyecektir. Bu işleme okuma onarım mekanizması denir.

ÖZET

  • Bu eğitimde aşağıdakiler açıklanmaktadır: Cassandra iç mimari ve nasıl Cassandra Verileri farklı aşamalarda çoğaltır, yazar ve okur.
  • Ayrıca burada nasıl yapılacağı anlatılıyor Cassandra Süreç boyunca tutarlılık seviyesini korur.
  • In bileşenleri Cassandra ArchiYapı: Düğüm, Veri Merkezi, Cluster, Kaydetme Günlüğü, Mem tablosu, SSTable
  • Bir Çoğaltma faktörü, yalnızca tek bir veri kopyasının olduğu anlamına gelirken, üç çoğaltma faktörü, verilerin üç farklı düğümde üç kopyasının olduğu anlamına gelir.
  • SimpleStrategy, yalnızca bir veri merkeziniz olduğunda kullanılır.
  • NetworkTopologyStrategy, ikiden fazla veri merkeziniz olduğunda kullanılır.