HBase Avantajları, Dezavantajları ve Performans Darboğazı
HBase mimarisi her zaman "Tek Arıza Noktası” özelliği vardır ve bununla ilişkili bir istisna işleme mekanizması yoktur.
Burada HBase'in artıları ve eksileri ile performans darboğazlarının neler olduğunu öğreneceğiz:
HBase'de Performans Darboğazları
- Herhangi bir üretim ortamında, HBase 5000'den fazla düğümden oluşan bir kümeyle çalışır, yalnızca Hmaster tüm bağımlı Bölge sunucularının yöneticisi olarak görev yapar. Hmaster çökerse ancak uzun bir süre sonra kurtarılabilir. İstemci bölge sunucusuna bağlanabilse bile. Başka bir ustaya sahip olmak mümkündür ancak yalnızca biri aktif olacaktır. Ana Hmaster'ın arızalanması durumunda ikinci Hmaster'ın etkinleştirilmesi uzun zaman alacaktır. Yani Hmaster bir performans darboğazıdır.
- HBase'de herhangi bir çapraz veri işlemi ve birleştirme işlemini uygulayamıyoruz, tabi ki birleştirme işlemlerini kullanarak gerçekleştirebiliriz. Harita indirgemetasarımı ve geliştirilmesi çok zaman alacaktı. HBase'de tablo birleştirme işlemlerinin gerçekleştirilmesi zordur. Bazı kullanım durumlarında HBase'de bulunan tablolarla ilgili birleştirme işlemleri oluşturmak imkansızdır.
- Verileri RDBMS harici kaynaklarından HBase sunucularına taşımak istediğimizde HBase'in yeni bir tasarıma ihtiyacı olacaktır. Ancak bu süreç çok zaman alır.
- HBase sorgulama için gerçekten zor. HBase'i bazılarıyla entegre etmemiz gerekebilir SQL gibi katmanlar Apache HBase'deki verileri tetiklemek için sorgular yazabileceğimiz phoenix. Apache Phoenix'in HBase'in üstünde olması gerçekten çok güzel.
- HBase'in bir diğer dezavantajı ise tabloda birden fazla indeksleme yapamıyoruz, yalnızca satır anahtar sütunu birincil anahtar görevi görüyor. Dolayısıyla birden fazla alanda veya Satır anahtarı dışında arama yapmak istediğimizde performans yavaşlayacaktı. MapReduce kodunu yazıp entegre ederek bu sorunu aşabiliriz. Apache SOLR ve Apache Phoenix ile.
- Farklı kullanıcıların HBase'den verilere erişmesine yönelik güvenlikte yavaş iyileştirmeler.
- HBase kısmi anahtarları tamamen desteklemiyor
- HBase, tablo başına yalnızca bir varsayılan sıralamaya izin verir
- Büyük boyutlu ikili dosyaları HBase'de depolamak çok zordur
- HBase'in depolanması gerçek zamanlı sorguları ve sıralamayı sınırlayacak
- Anahtar arama ve Aralık araması, anahtar değerleri kullanarak tablo içeriklerini arama açısından, gerçek zamanlı olarak gerçekleştirilen sorguları sınırlayacaktır
- HBase'de varsayılan indeksleme mevcut değildir. Programcıların HBase'de indeksleme işlevini gerçekleştirmek için birkaç satır kod veya komut dosyası tanımlaması gerekir.
- Donanım gereksinimleri ve bellek bloklarının tahsisi açısından pahalıdır.
- Dağıtılmış küme ortamları için daha fazla sunucu kurulmalıdır (NameNode, DataNodes için her sunucu gibi), hayvan bakıcısıve Bölge Sunucuları)
- Performans açısından yüksek bellekli makineler gerektirir
- Maliyet ve bakım açısından da daha yüksektir
HBase'in Avantajları
Burada HBase'in artılarının/faydalarının neler olduğunu öğreneceğiz:
- Büyük veri kümelerini HDFS dosya depolamasının üzerine depolayabilir ve HBase tablolarında bulunan milyarlarca satırı toplayıp analiz edebilir
- HBase'de veritabanı paylaşılabilir
- OperaVeri okuma ve işleme gibi işlemler, geleneksel ilişkisel modellere kıyasla çok az zaman alacaktır.
- Rastgele okuma ve yazma işlemleri
- Çevrimiçi analitik işlemler için HBase yaygın olarak kullanılır.
- Örneğin: ATM makinelerinde gerçek zamanlı veri güncellemeleri gibi bankacılık uygulamalarında HBase kullanılabilir.
HBase'in dezavantajları
HBase'in önemli eksileri/sınırlamaları şunlardır:
- Geleneksel modellerin yerine tamamen HBase'in kullanılmasını bekleyemeyiz. Bazı geleneksel model özellikleri HBase tarafından desteklenemez
- HBase, SQL gibi işlevleri gerçekleştiremez. SQL yapısını desteklemediğinden herhangi bir sorgu iyileştirici içermez
- HBase, büyük sıralı giriş veya çıkış erişimiyle CPU ve Bellek yoğundur; Harita Azaltma işleri ise öncelikle sabit belleğe bağlı giriş veya çıkıştır. Harita azaltma işleriyle entegre edilmiş HBase, öngörülemeyen gecikmelere neden olacak
- Pig ile entegre edilmiş HBase ve kovan işler kümede bazı zaman belleği sorunlarına neden olur
- Paylaşılan bir küme ortamında kurulum, HBase CPU gereksinimlerine tahsis etmek için düğüm başına daha az görev yuvası gerektirir