İlk 30 Hbase Röportaj Sorusu & Yanıtlar

Anonim

PDF İndir

Aşağıda, deneyimli HBase geliştiricisinin yanı sıra yeni başlayanlar için yapılan röportajlarda sık sorulan sorular bulunmaktadır.

1) Hbase nedir açıklayın?

Hbase, HDFS (Hadoop Dağıtma Dosya Sistemi) üzerinde çalışan, sütun odaklı bir veritabanı yönetim sistemidir. Hbase, ilişkisel bir veri deposu değildir ve SQL gibi yapılandırılmış sorgu dilini desteklemez.

Hbase'de, bir ana düğüm, tabloların bölümlerini depolamak için küme ve bölge sunucularını düzenler ve veriler üzerindeki işi yürütür.

2) Hbase'in neden kullanılacağını açıklayın?

  • Yüksek kapasiteli depolama sistemi
  • Büyük masaları karşılamak için dağıtılmış tasarım
  • Sütun Odaklı Mağazalar
  • Yatay Olarak Ölçeklenebilir
  • Yüksek performans ve Kullanılabilirlik
  • Hbase'in temel hedefi milyonlarca sütun, binlerce sürüm ve milyarlarca satırdır
  • HDFS'nin (Hadoop Dağıtma Dosya Sistemi) aksine, rastgele gerçek zamanlı CRUD işlemlerini destekler

3) Hbase'in temel bileşenlerinden bahsedin?

  • Zookeeper: Müşteri ve Hbase Maser arasındaki koordinasyon işini yapar
  • Hbase Master: Hbase Master, Bölge Sunucusunu izler
  • RegionServer: RegionServer Bölgeyi izler
  • Bölge: Hafızada veri deposu (MemStore) ve Hfile içerir.
  • Katalog Tabloları: Katalog tabloları KÖK ve META'dan oluşur

4) Hbase'in nelerden oluştuğunu açıklayın.

  • Hbase bir dizi tablodan oluşur
  • Ve her tablo, geleneksel veritabanı gibi satırlar ve sütunlar içerir.
  • Her tablo, Birincil Anahtar olarak tanımlanan bir öğe içermelidir
  • Hbase sütunu bir nesnenin niteliğini gösterir

5) Hbase'de kaç operasyonel komut olduğundan bahsedin?

Hbases'te operasyonel komut yaklaşık beş türdür

  • Almak
  • Koymak
  • Silme
  • Tarama
  • Artış

6) Hbase'de WAL ve Hlog nedir?

WAL (Write Ahead Log) MySQL BIN günlüğüne benzer; verilerde meydana gelen tüm değişiklikleri kaydeder. Hadoop tarafından hazırlanan standart bir sekans dosyasıdır ve HLogkey'leri depolar. Bu anahtarlar, gerçek verilerin yanı sıra sıralı bir sayıdan oluşur ve bir sunucu çökmesinden sonra henüz kalıcı olmayan verileri yeniden oynatmak için kullanılır. Dolayısıyla, sunucu arızasının nakit olarak WAL bir yaşam çizgisi olarak çalışır ve kayıp verileri alır.

7) Hbase'i ne zaman kullanmalısınız?

  • Veri boyutu çok büyük: Çalıştırmak için tonlarca ve milyonlarca kaydınız olduğunda
  • Tamamen Yeniden Tasarım: RDBMS'yi Hbase'e taşırken, bunu tamamen yeniden tasarım olarak kabul edersiniz ve ardından yalnızca bağlantı noktalarını değiştirirsiniz.
  • SQL-Less komutları: İşlemler gibi çeşitli özelliklere sahipsiniz; iç birleşimler, yazılan sütunlar vb.
  • Altyapı Yatırımı: Hbase'in gerçekten yararlı olması için yeterli kümeye sahip olmanız gerekir

8) Hbase'de sütun aileleri nedir?

Sütun aileleri, sıkıştırma gibi özelliklerin uygulandığı Hbase'deki temel fiziksel depolama birimini içerir.

9) Satır anahtarının ne olduğunu açıklayın?

Satır anahtarı, uygulama tarafından tanımlanır. Birleşik anahtar, satır anahtarı tarafından önceden sabitlendiğinden, uygulamanın istenen sıralama düzenini tanımlamasını sağlar. Ayrıca, hücrelerin mantıksal olarak gruplanmasına izin verir ve aynı satır anahtarına sahip tüm hücrelerin aynı sunucuda aynı yerde bulunduğundan emin olur.

10) Hbase'de silme işlemini açıklar mı? Hbase'deki üç tür mezar taşı işaretleyicisinden bahsedin?

Hbase'de hücreyi sildiğinizde, veriler gerçekte silinmez, ancak bir kaldırıldı işareti işaretlenir ve silinen hücreleri görünmez hale getirir. Silinen Hbase, aslında sıkıştırma sırasında kaldırılır.

Üç tür mezar taşı işaretçisi vardır:

  • Sürüm silme işaretçisi: Silmek için, bir sütunun tek bir sürümünü işaretler
  • Sütun silme işaretçisi: Silmek için, bir sütunun tüm sürümlerini işaretler
  • Aile silme işaretçisi: Silmek için, bir sütun ailesi için tüm sütunları işaretler

11) Hbase'in bir satırı nasıl sildiğini açıklayın.

Hbase'de ne yazarsanız yazın RAM'den diske depolanacaktır, bu disk yazma işlemleri sıkıştırma dışında değişmezdir. Hbase'de silme işlemi sırasında, büyük sıkıştırma işlemi işaretleyiciyi silerken, küçük sıkıştırmalar bunu yapmaz. Normal silme işlemlerinde, bir silme işareti işaretiyle sonuçlanır; temsil ettikleri bu silme verileri, sıkıştırma sırasında kaldırılır.

Ayrıca, verileri silip daha fazla veri eklerseniz, ancak işaretleme zaman damgasından daha erken bir zaman damgasına sahipseniz, daha fazla Gets , silme / kaldırıldı işareti işaretçisi tarafından maskelenebilir ve bu nedenle, eklenen değeri büyük sıkıştırmanın sonrasına kadar almazsınız.

12) Zaten işgal edilmiş bir veritabanında bir sütun ailesinin blok boyutunu değiştirirseniz ne olacağını açıklayın.

Sütun ailesinin blok boyutunu değiştirdiğinizde, eski veriler eski blok boyutu içinde kalırken yeni veriler yeni blok boyutunu kaplar. Veri sıkıştırma sırasında, eski veriler yeni blok boyutunu alacaktır. Yeni dosyalar temizlendikçe yeni bir blok boyutuna sahip olurken, mevcut veriler doğru bir şekilde okunmaya devam edecektir. Tüm veriler, bir sonraki büyük sıkıştırmadan sonra yeni blok boyutuna dönüştürülmelidir.

13) Hbase ve İlişkisel Veritabanı arasındaki farktan bahsediyor musunuz?

Hbase İlişkisel veritabanı
  • Şemasızdır
  • Sütun odaklı bir veri deposudur
  • Normalize edilmemiş verileri depolamak için kullanılır
  • Seyrek doldurulmuş tablolar içeriyor
  • Otomatik bölümleme Hbase'de yapılır
  • Şema tabanlı bir veritabanıdır
  • Satır odaklı bir veri deposudur
  • Normalleştirilmiş verileri depolamak için kullanılır
  • İnce masalar içerir
  • Bölümleme için böyle bir hüküm veya yerleşik destek yoktur

14) HBaseFsck sınıfı nedir?

HBaseFsck sınıfı tarafından uygulanan, HBase'de geri olarak adlandırılan bir araç adı vardır. Davranışını etkileyen birkaç komut satırı anahtarı sunar.

15) HBase'nin ana anahtar yapıları nelerdir?

Satır anahtarı ve Sütun anahtarı, HBase'de kullanılan en önemli iki anahtar yapıdır.

16) Apache HBase'de filtreleri nasıl kullanabileceğinizi tartışın

HBase Kabuğundaki Filtreler. HBase shell veya thrift üzerinden HBase'e erişmek için sunucu tarafında filtreleme yapmanıza yardımcı olan Apache HBase 0.92'de tanıtıldı.

17) HBase desteği sözdizimi yapısını SQL evet veya Hayır gibi destekliyor mu?

Hayır, maalesef HBase için SQL desteği şu anda mevcut değil. Bununla birlikte, Apache Phoenix'i kullanarak, HBase'den SQL sorguları yoluyla veri alabiliriz.

18) HBase'de sıkıştırmanın anlamı nedir?

Yoğun gelen yazma işlemleri sırasında, mağaza başına bir dosyaya sahip olarak en iyi performansı elde etmek imkansızdır. HBase, her okuma için disk çekirdeği sayısını azaltmak için tüm bu HFile'ları birleştirmenize yardımcı olur. Bu işlem HBase'de Sıkıştırma olarak bilinir.

19) HBase'de birleştirme işlemini nasıl gerçekleştireceksiniz?

HBase, birleştirmeleri doğrudan desteklemez, ancak MapReduce işlerini kullanır birleştirme sorguları, farklı HBase tablolarının yardımıyla veriler alınarak uygulanabilir.

20) HBSE ile ilgili JMX'i açıklayın

Java Yönetim Uzantıları veya JMX, Java uygulamalarının dışa aktarım durumu onlar için standarttır.

21) MasterServer'ın kullanımı nedir?

Ana sunucu, bölge sunucusuna bir bölge atamanıza da yardımcı olur. Ayrıca, MasterServer'ı kullandığımız yük dengelemesini yönetmenize yardımcı olur.

22) Tasarruf Terimini Tanımlayın

Apache Thrift, C ++ ile yazılmıştır. C ++, Perl, PHP, Python, Ruby ve daha fazlası gibi çeşitli programlama dilleri için şema derleyicileri sağlar.

23) Neden HColumnDescriptor sınıfını kullanmalı?

Sıkıştırma ayarları, Sürüm sayısı gibi sütun ailesiyle ilgili ayrıntılar HColumnDescriptor'da saklanır.

24) HBase'de hücre nedir?

HBase'deki bir hücre, bir Hbase tablosunun en küçük birimidir. Demet {satır, sütun, sürüm} biçiminde bir veri parçası tutmanıza yardımcı olur

25) Bloom filtresi nedir?

HBase, Bloom Filtresini destekler, kümenin genel verimini iyileştirmenize yardımcı olur. Bir HBase Bloom Filtresi, bir HFile'ın belirli satır veya satır-sütun hücresi içerip içermediğini test etmek için alan verimli bir mekanizmadır.

26) Bana HBase Operasyonlarının türlerinden bahseder misiniz?

Ans. İki tür HBase İşlemi şunlardır:

  • İşlemi Oku
  • Yazma İşlemi

27) HBase HMaster'ın kullanımı nedir?

Bir ustanın temel sorumlulukları şunlardır:

  1. Bölge sunucularını koordine etmek
  2. Yönetici işlevleri

28) HBase'nin yardımı olmadan HFile'a doğrudan erişmek için HBase'de hangi tekniği kullanabilirsiniz?

HFile'a HBase kullanmadan doğrudan erişmek için HFile.main () yöntemini kullanıyoruz.

29) Bölge sunucusu tüm DataNode'larda yer alabilir mi?

Evet, Bölge Sunucuları bir DataNode ile aynı sunucularda çalışır

30) Sayfa boyutunu HBase'de parametre olarak kabul eden filtreyi adlandırın

PageFilter adlı bir filtre, sayfa boyutunu parametre olarak kabul eder.

Bu belge, anında HTML dönüştürücü araçlarıyla oluşturulmuştur.