HBase, HDFS üzerine inşa edilmiş dağıtılmış bir sütun depolama sistemidir ve esas olarak büyük çaplı yapılandırılmış veri depolama için kullanılır. Mantıksal olarak, HBase verileri tablolar, satırlar ve sütunlarda depolar.
HDFS, toplu işleme senaryoları için uygundur
Rastgele veri aramayı desteklemiyor
Artımlı veri işleme için uygun değil
Veri güncellemesini desteklemiyor
HBase, HDFS'nin uygun olmadığı veya desteklenmediği tüm senaryoları destekler
Saniyede PB düzeyinde veriler üzerinde binlerce işlem ve okuma ve yazma erişimi gibi büyük veri üzerinde yüksek düzeyde eşzamanlı işlemler çok basit işlemlerdir.
Hbase tablosunun özellikleri
Büyük: Bir tabloda milyarlarca satır ve milyonlarca sütun olabilir;
Modelsiz: Her satırın sıralanabilir bir birincil anahtarı ve herhangi bir sayıda sütun vardır.Sütunlar gerektiğinde dinamik olarak eklenebilir.Aynı tablodaki farklı satırlar tamamen farklı sütunlara sahip olabilir;
Sütun odaklı: sütun (aile) depolama ve erişim denetimi, sütun (aile) bağımsız erişim;
Seyrek: Boş (boş) sütunlar için, depolama alanı kullanılmaz ve tablo çok seyrek olacak şekilde tasarlanabilir;
Birden çok veri sürümü: Her hücredeki verilerin birden çok sürümü olabilir Sürüm numarası, varsayılan olarak otomatik olarak atanır; bu, hücre eklendiğinde zaman damgasıdır;
Tek veri türü: Hbase'deki tüm veriler, türü olmayan bir karakter dizesidir.
Satır depolama ve sütun depolamanın karşılaştırması
Geleneksel satır veritabanı
Veriler satırlar halinde saklanır
Dizin içermeyen sorgular çok fazla G / Ç kullanır
Dizinler ve somutlaşmış görünümler oluşturmak çok zaman ve kaynak gerektirir
Sorgu odaklı gereksinimler için, veritabanı performans gereksinimlerini karşılamak üzere büyük ölçüde genişletilmelidir.
Sütunlu veritabanı
Veriler sütunlarda saklanır - her sütun ayrı olarak depolanır
Veri dizindir
Erişim sorgusundaki sütunlara atıfta bulunur - sistem G / Ç'sinde büyük bir azalma
Her sütun, sorguların eşzamanlı olarak işlenmesi ile işlenir
Tutarlı veri türleri, benzer veri özellikleri açısından verimli sıkıştırma
temel kavram
Satır Anahtarı
Bayt dizisi
Tablodaki her kaydın "birincil anahtarı"
Hızlı bulması kolay
Sütun Ailesi
Bir adınız (dize) var
Bir veya daha fazla ilgili sütun içerir
Sütun
Bir Sütun Ailesine Aittir
Bir sütuna dahil
familyName: columnName
Versiyon numarası
Her satır anahtarı için benzersiz
Varsayılan değer: sistem zaman damgası
Tür Uzun
Değer (Hücre)
Bayt dizisi
Veri örneği
HBase şemasında birden çok tablo olabilir
Her tablo birden çok Sütun Ailesinden oluşabilir
HBase'de Dinamik Sütun olabilir
Sütun adı hücrede kodlanmıştır
Farklı hücrelerin farklı sütunları olabilir
Sürüm numarası kullanıcı tarafından sağlanabilir
Artan sırada eklemeye gerek yok
Her satırın satır anahtarı benzersiz olmalıdır
Tablo çok seyrek olabilir
Birçok hücre boş olabilir
Satır Anahtarı birincil anahtardır
HBase destek işlemleri
Tüm işlemler satır anahtarına dayanır
Crud ve tarama desteği
Tek hat işlemi: koy, al, tara
Çok hatlı çalışma: MultiPut, tarama
Yerleşik birleştirme işlemi yok, çözmek için MapReduce'u kullanabilirsiniz
Fiziksel model
Satır anahtarı ve sürüm numarasının her sütun ailesinde bir kopyası vardır
Her sütun ailesi, HDFS'de (mağaza) ayrı bir dosyada saklanır
Kontroller kaydedilmeyecek ve depolama alanı işgal etmeyecek
Yukarıdaki özellikler, eşzamanlı erişim hızını artıran alt veritabanı teknolojisindeki dikey bölümlemeye benzer \
Fiziksel depolama
1. Tablodaki tüm satırlar, satır anahtarının sözlükbilimsel sırasına göre düzenlenmiştir;
2. Tablo, satır yönünde birden çok Bölgeye bölünmüştür;
3. Bölgeler boyuta göre bölünür. Her tablo yalnızca bir bölgeyle başlar. Veriler arttıkça bölge artmaya devam eder. Bir eşiğe ulaştığında bölge eşit olarak iki yeni bölgeye bölünür ve ardından Giderek daha fazla bölge;
4. Bölge, HBase'deki en küçük dağıtılmış depolama ve yük dengeleme birimidir. Farklı Bölgeler, farklı Bölge Sunucularına dağıtılır;
5. Bölge, en küçük dağıtılmış depolama birimi olmasına rağmen, en küçük depolama birimi değildir.
Bölge bir veya daha fazla mağazadan oluşur, her mağaza bir sütun ailesini kaydeder;
Her Strore, bir memStore ve 0'dan birden çok StoreFiles'e kadar oluşur;
MemStore bellekte depolanır ve StoreFile, HDFS'de depolanır.
HBase mimarisi
HBase temel bileşenleri
Müşteri
HBase'e erişim için arayüz içerir ve HBase'e erişimi hızlandırmak için önbelleği korur
Hayvan bakıcısı
Hbase, Zookeeper'a güveniyor, hbase, zookeeper örneklerini yönetecek
Herhangi bir zamanda kümede yalnızca bir ana birim olduğundan emin olun
Tüm bölgeler için adres girişlerini saklayın
Bölge sunucusunun çevrimiçi ve çevrimdışı bilgilerini gerçek zamanlı olarak izleyin ve ana kişiyi gerçek zamanlı olarak bilgilendirin
Hbase'in şema ve tablo meta verilerini depolayın
Usta
Bölge sunucusuna bir bölge atayın
Bölge sunucusunun yük dengelemesinden sorumlu
Arızalı bölge sunucusunu bulun ve bölgeyi üzerinde yeniden dağıtın
Kullanıcıları eklemek, silmek, değiştirmek ve tabloyu kontrol etmek için yönetin
Bölge Sunucusu
Bölgeleri koruyun ve bu bölgelere yönelik GÇ taleplerini karşılayın
Operasyon sırasında çok büyük hale gelen bölgelerin bölümlendirilmesinden sorumlu
HBase hata toleransı
Ana hata toleransı: hayvan bakıcısı yeni bir ana bilgisayarı yeniden seçer
Ana işlemin olmadığı süreçte, veri okuma her zamanki gibi çalışmaya devam eder
Ana işlemin olmadığı süreçte bölge bölümleme, yük dengeleme vb. Gerçekleştirilemez.
Bölge sunucusu hata toleransı: belirli bir süre kalp atışı yoksa kalp atışını zookeeper'a düzenli olarak bildirin
Ana birim, bölge sunucusundaki bölgeyi diğer bölge sunucularına yeniden tahsis eder
Başarısız olan sunucuda önceden yazılmış günlük, ana sunucu tarafından bölünür ve yeni bölge sunucusuna gönderilir
Hayvan bekçisi hata toleransı: hayvanat bahçesi görevlisi güvenilir bir hizmettir
Genel olarak 3 veya 5 zookeeper örneğini yapılandırın
Bölge konumlandırma
İlişkisel veritabanı ve HBase karşılaştırması
İlişkisel veritabanı ve HBase karşılaştırması
Hbase'nin Taobao'daki uygulaması
Taobao Endeksi
İşlem geçmişi sorgu sistemi
Facebook, yarattığı Cassandra'yı terk etti ve HBase'i kullandı.
[1] Büyük veri hakkında bilgi almak istiyorsanız aşağıdaki yorumumu takip edip iletebilir ve ardından "data" ya özel mesaj gönderebilirsiniz.
[2] Bazı materyallerin zaman sınırı vardır, acele edin!
Desteğin için teşekkürler!