Apache Cassandra

İbrahim Yıldız
2 min readAug 29, 2021

Herkese Merhabalar ,Bu Yazımda Apache Cassandra’yı Anlatıyor Olacağım

Temel Mimarisinden Başlayıp Ubuntu 20.10 Üzerinde Kurulumunu ve Temel Cql dili ile İlgili Örnekler Verip Yazımı Bitireceğim

#come on, then what are we waiting for?

Apache Cassandra Nedir ?

Apache tarafından geliştirilen açık kaynaklı, yüksek ölçeklenebilirliğe sahip yüksek performanslı, column based yapısına sahip dağıtık bir NoSQL veritabanıdır

Kapasiteyisle Ünlüdür Yapısal veya Yapısal Olmayan Verileri Petabaytlarca Tutabilir

Gossip Protokolü İle Node’lar Arası Haberleşme Sağlanır

Google Snappy Algoritması İle Büyük Miktarda Veri Sıkıştırması Sağlanır

Ölçeklenebilir ve Replikasyon Özelliği Vardır

Consistency Level (Veri Tutarlığı) Verinin Bir Node’da Farklı Diğer Node’da Farklı Olması Sorunlar , Baş Ağrıları Yaratabilir Read\Write İşleminin Başarılı Olması Kaç Adet Node’nin İstek Aldığını Bildirilmesi Gerekir

Level One = Replica Nodelardan Bir Tanesinin Geri Bildirim Yapması Yeterlidir

Level Quorum = Nodelerin Neredeyse Hepsinin Geri Bildirim Yapması

Level Each Quorum = Her Bir Datacenter’da ki Nodeların Geri Bildirim Vermesi

Level ALL = Tüm Nodeların Geri Bildirim Vermesi

SQL Diline Benzeyen CQL Dilini Kullanır

Terminolojisi

Cluster = En Dış Katmandır Birden Fazla Datacenter Barındıran Kümedir

Datacenter = Birden Fazla Node’nin Birleşimiyle Oluşan Yapı

Node = Cassandranın Çalıştığı Sunucu Veriler Burada Saklanır

Rack = İki Node’nin Bir Biriyle Eşleşmesi Durumuna Rack Denir

Data Replicaton = Verinin Kopyasının Bir Çok Yerde Tutulmasıdır Keypspace Bazında Yapılır Replication Factor Stratejileri

SimpleStrategy = Cluster İçersinde ki nodelar replica factor sayısına göre sequentialy bir şekilde saat yönünde yazılıp devam eder, tek datacenter varsa tercih edilir

Network Topology = Multiple Datacenter varsa Tercih Ediliir Her Bir Data Center’da Ne Kadar Replicanın Tutulcagı Belirlenir

Commit Log = Cassandra Verinin Devamlılık Süreklilik Sağlamak için Verilerini İlk Önce Commit Loga Yazar Her Hangi Server Crush Durumuna Karşı Recovery Sağlar

Memtables = Veriler Commit Loga Yazıldıktan Sonra Memtable’lara Yazar Bellek Üzerinde Tutulurlar

SsTables = Memtables’daki Veriler Ayarlanmış Bir Değere Ulaştıktan Sonra SsTable Alınır Disk Üzerinde Tutulur

Cassandra Veri Modeli

Ubuntu Kurlum

Bir Sonraki Yazımda Devcenter İle CQLSHL Örneklerini Yazmaya Çalışcağım Umarım Faydalı Olmuştur Takipte Kalmayı Unutmayın :)

--

--

No responses yet