Elasticsearch her zaman kullanılabilir olacak ve ihtiyaçlarınıza göre ölçeklenebilecek şekilde tasarlandı. Bunu doğa tarafından dağıtılarak yapar. Kapasiteyi artırmak için bir kümeye sunucular (düğümler) ekleyebilirsiniz ve Elasticsearch, verilerinizi ve sorgu yükünüzü mevcut tüm düğümlere otomatik olarak dağıtır. Uygulamanızı elden geçirmenize gerek yok; Elasticsearch, ölçek ve yüksek kullanılabilirlik sağlamak için çok düğümlü kümeleri nasıl dengeleyeceğini biliyor. Ne kadar çok düğüm olursa o kadar neşeli olur.
Bu nasıl çalışır? Kapakların altında, bir Elasticsearch dizini aslında bir veya daha fazla fiziksel parçanın mantıksal bir gruplandırmasıdır; burada her bir parça aslında kendi kendine yeten bir dizindir. Elasticsearch, belgeleri bir dizinde birden çok parçaya dağıtarak ve bu parçaları birden çok düğüme dağıtarak, hem donanım arızalarına karşı koruma sağlayan hem de düğümler bir kümeye eklendikçe sorgu kapasitesini artıran yedeklilik sağlayabilir. Küme büyüdükçe (veya küçüldükçe) Elasticsearch, kümeyi yeniden dengelemek için parçaları otomatik olarak taşır.
İki tür parça vardır: birinciller ve kopyalar. Dizindeki her belge bir birincil parçaya aittir. Çoğaltma parça, birincil parçanın kopyasıdır. Replikalar, donanım arızasına karşı koruma sağlamak ve belge arama veya alma gibi okuma isteklerini karşılama kapasitesini artırmak için verilerinizin yedek kopyalarını sağlar.
Bir dizindeki birincil parçaların sayısı, dizin oluşturulduğunda sabitlenir ancak çoğaltma parçalarının sayısı, dizin oluşturma veya sorgu işlemlerini kesintiye uğratmadan herhangi bir zamanda değiştirilebilir.
Bu bağlıdır...düzenlemek
Parça boyutuna ve bir dizin için yapılandırılmış birincil parça sayısına göre bir dizi performans hususu ve ödünleşim vardır. Ne kadar çok parça olursa, bu endekslerin bakımında o kadar fazla ek yük olur. Parça boyutu ne kadar büyük olursa, Elasticsearch'ün bir kümeyi yeniden dengelemesi gerektiğinde parçaları hareket ettirmek o kadar uzun sürer.
Çok sayıda küçük parçayı sorgulamak parça başına işlemi daha hızlı hale getirir, ancak daha fazla sorgu daha fazla yük anlamına gelir; dolayısıyla daha az sayıda daha büyük parçayı sorgulamak daha hızlı olabilir. Kısacası… duruma göre değişir.
Başlangıç noktası olarak:
Ortalama parça boyutunu birkaç GB ile birkaç on GB arasında tutmayı hedefleyin. Zamana dayalı verilere sahip kullanım örneklerinde 20 GB ila 40 GB aralığında parçalar görmek yaygındır.
Milyonlarca parça probleminden kaçının. Bir düğümün tutabileceği parça sayısı, mevcut yığın alanıyla orantılıdır. Genel bir kural olarak, GB yığın alanı başına düşen parça sayısı 20'den az olmalıdır.
Kullanım durumunuz için en uygun yapılandırmayı belirlemenin en iyi yolu, kendi verileriniz ve sorgularınızla test yapmaktır .
Afet durumundadüzenlemek
Bir kümenin düğümlerinin birbirleriyle iyi ve güvenilir bağlantılara ihtiyacı vardır. Daha iyi bağlantılar sağlamak için genellikle düğümleri aynı veri merkezinde veya yakındaki veri merkezlerinde birlikte konumlandırırsınız. Ancak yüksek kullanılabilirliği korumak için tek bir hata noktasından da kaçınmanız gerekir. Bir lokasyonda büyük bir kesinti olması durumunda, başka bir lokasyondaki sunucuların görevi devralabilmesi gerekir. Cevap? Kümeler arası çoğaltma (CCR).
CCR, dizinleri birincil kümenizden sıcak yedekleme görevi görebilecek ikincil bir uzak kümeye otomatik olarak senkronize etmenin bir yolunu sağlar. Birincil küme başarısız olursa ikincil küme görevi devralabilir. Ayrıca, kullanıcılarınıza coğrafi yakınlıkta okuma istekleri sunmak amacıyla ikincil kümeler oluşturmak için CCR'yi de kullanabilirsiniz.
Kümeler arası çoğaltma aktif-pasiftir. Birincil kümedeki dizin, etkin lider dizindir ve tüm yazma isteklerini işler. İkincil kümelere çoğaltılan endeksler salt okunur takipçilerdir.
Bakım ve beslemedüzenlemek
Herhangi bir kurumsal sistemde olduğu gibi, Elasticsearch kümelerinizi güvence altına almak, yönetmek ve izlemek için araçlara ihtiyacınız vardır. Elasticsearch'e entegre edilen güvenlik, izleme ve yönetim özellikleri, Kibana'yı bir kümeyi yönetmek için bir kontrol merkezi olarak kullanmanızı sağlar . Alt örnekleme ve dizin yaşam döngüsü yönetimi gibi özellikler, verilerinizi zaman içinde akıllıca yönetmenize yardımcı olur.