Araç çubuğuna atla

Couchbase’de Veriler Nerede Tutulur ?

Couchbase’de verilerimiz ilişkisel veritabanlarından farklı olarak bucket’larda tutulmaktadır.Bucket’lar anahtar ve değer koleksiyonlarını mantıksal olarak gruplandırmak için bölümler.

Couchbase içinde 3 farklı bucket yapısı kullanabiliriz.

1) Couchbase Buckets

Bu bucket türünde veriler kalıcı olarak data ve memory içinde saklar. Database Change Protocol (DCP) kullanılarak verilerin yüksek kullanılabilirliği için otomatik olarak çoğaltılmasına izin verir. Hatta isterseniz farklı veri merkezleri arası veri alışverişi sağlayarak verinizin uzak sunucularda yedeklenmesini sağlayabilirsiniz(XDCR). Eğer veriler bellek içinde fazla olursa otomatik olarak bellek boşaltması yapılır. Bu durumda varsayılan olarak en eski en az kullanılanlar çıkartılır ama veri disk içinde kalmaktadır. Bunun amacı sık kullanılan öğelerin en hızlı şekilde bellek üzerinden erişilmesidir.

Kaldırma işleminde 2 seçenek karşımıza çıkar ilki Value-Only’dir. Bunda sadece anahtar değer ikilisinden değer çıkartılır. Bu belleküzerinde gene de doluluk yapar. 2. Olarak ise tam boşaltma dediğimiz olaydır. Bunda ise doluluk olduğu zaman az kullanılan verinin key-value değerinin dışında metadatası da çıkartılır.Her tutulan JSON öğesinin maksimum limiti 20 mb’dır.

2) Ephemeral Bucket

Bu bucket türünde kalıcılık gerekmediği zaman Couchbase bucket alternatifi olarak kullanılabilir. Örneğin tekrarlanan disk erişimi çok fazla yük oluşturduğunda disk tabanlı dalgalanmalar olmaksızın tutarlı veriye olanak sağlar.Ayrıca daha hızlı ‘Rebalance’ ve ‘Restart’ yapılmasına olanak tanır.Eğer bucket üzerinde bellek kotası aşılırsa yapılandırmaya bağlı olarak aşağıdaki durumlar karşımıza çıkar. Halihazırda RAM üzerindeki veriler kalır ama ek veri eklenmesi durdurulur ve veri ekleme girişimleri başarısız olarak döner. Halihazırda RAM üzerindeki veriler yeni verilerin gelmesi için kaldırılır. Bu nedenle kaldırılan veriye bir daha erişimin olmasına imkan yoktur. Halihazırda RAM üzerindeki veriler yeni verilerin gelmesi için kaldırılı ama bu verilerin keys ve metadataları bir sonraki kaldırılma işlemine kadar ‘Tombstone’ adı verilen yapıda tutulur.

3) Memcached Bucket 

Bu bucket ise ilişkisel veritabanı teknolojisi kullanan sistemler ile veri alışverişinin oluşturulması için kullanılır. Sık kullanılan verileri ön belleğe alarak bir veritabanı sunucusunun gerçekleştirmesi gereken sorgu sayısını azaltır. Ephemeral Bucket’ta olduğu gibi veriler RAM üzerinde tutulur ve doluluk olduğu zaman boşaltılır.

Not : Memcached ve Ephemeral Bucket’larda veriler RAM üzerinde tutulduğundan kalıcılık olmamaktadır. Bu sebeple veri kaybı olma ihtimali vardır.

Not 2 : Couchbase version 6.5’ten önce her bir Cluster(Küme)’da 10 tane Bucketa izin verilirken 6.5 ile bu sayı 30’a çıkartılmıştır.

vBucket

Cluster içindeki verilerimizi etkili bir şekilde dağıtmamıza yardımcı olan ve birden çok düğümtarafından desteklenen sanal bucket’lardır. Cluster içinde toplamda 1024 vBucket bulunur ve bu 1024 vBucket, düğümler arasında eşit sayıda dağıtılırlar. Varsayalım ki bucket içinde 3 tane node var. Bu demek ki her node içinde 342 vbucket vardır ve biz 1 replikalı olacak şekilde ayarladık. O zaman toplamda 2048 vBucket’ımız olacaktır. Çünkü replikasyon vBucket’lar içinde geçerlidir.

Şimdi gelelim çalışma mantığına. Kullanıcının isteği öncelikle CRC32 Hashing Algoritmasına tabii tutulur. Ardından gelen key’in değeri Cluster Map içinde nereye hangi node’a gideceği belirlenir.
Kısaca açıklamak gerekirse veri işlemlerinde hangi node ile işimiz varsa ona en kısa yoldan ulaşmamıza yardımcı olan bir yol göstericidir.

Varsayalım ki bir tane sunucu ile bağlantımız koptu. Böyle bir durumda o sunucu üzerindeki vBucketlara erişim de olmayacağından o vBucketların replikaları aktif olur ve veriye diğer sunuculardaki replika verilerden erişilir. Otomatik olarak vBucketlar kalan sunucular arası bölüştürülür ve Cluster Map üzerinde bilgileri düzenlenir.

Database Administrator at Nubes Bilişim Danışmanlık ve Ticaret A.Ş https://www.linkedin.com/in/selmanday%C4%B1o%C4%9Flu145/

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back To Top