MongoDB - Parçalama
Parçalama, veri kayıtlarını birden fazla makinede saklama sürecidir ve MongoDB'nin veri büyümesinin taleplerini karşılama yaklaşımıdır. Verilerin boyutu arttıkça, tek bir makine verileri depolamak için yeterli olmayabilir veya kabul edilebilir bir okuma ve yazma verimi sağlayabilir. Parçalama, sorunu yatay ölçeklemeyle çözer. Parçalama ile veri büyümesini ve okuma ve yazma işlemlerinin taleplerini desteklemek için daha fazla makine eklersiniz.
Neden Parçalama?
Çoğaltmada, tüm yazmalar ana düğüme gider
Gecikmeye duyarlı sorgular hala ustalaşıyor
Tek çoğaltma kümesinde 12 düğüm sınırlaması vardır
Etkin veri kümesi büyük olduğunda bellek yeterince büyük olamaz
Yerel disk yeterince büyük değil
Dikey ölçekleme çok pahalıdır
MongoDB'de parçalama
Aşağıdaki şemada, parçalanmış küme kullanılarak MongoDB'de Parçalama gösterilmektedir.
Aşağıdaki şemada üç ana bileşen vardır -
Shards- Veri depolamak için parçalar kullanılır. Yüksek kullanılabilirlik ve veri tutarlılığı sağlarlar. Üretim ortamında her bir parça ayrı bir çoğaltma kümesidir.
Config Servers- Yapılandırma sunucuları, kümenin meta verilerini depolar. Bu veriler, kümenin veri kümesinin kırıklarla eşleştirilmesini içerir. Sorgu yönlendiricisi, işlemleri belirli parçalara hedeflemek için bu meta verileri kullanır. Üretim ortamında, parçalanmış kümelerin tam olarak 3 yapılandırma sunucusu vardır.
Query Routers- Sorgu yönlendiricileri temelde mongo örnekleridir, istemci uygulamalarıyla arabirim oluşturur ve işlemleri uygun parçaya yönlendirir. Sorgu yönlendiricisi, işlemleri parçalara işler ve hedefler ve ardından sonuçları istemcilere döndürür. Parçalanmış bir küme, istemci istek yükünü bölmek için birden fazla sorgu yönlendiricisi içerebilir. Bir istemci, bir sorgu yönlendiricisine istek gönderir. Genel olarak, parçalanmış bir kümede birçok sorgu yönlendiricisi bulunur.