คำถามสัมภาษณ์ HBase 30 อันดับแรก (2025)

ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ Apache HBase สำหรับผู้สมัครที่มีประสบการณ์และใหม่กว่าเพื่อให้ได้งานในฝัน

 

คำถามและคำตอบในการสัมภาษณ์ HBase สำหรับนักศึกษาใหม่

1) อธิบายว่า HBase คืออะไร?

HBase คือระบบจัดการฐานข้อมูลแบบคอลัมน์ที่ทำงานบน HDFS (Hadoop Distribute File System) HBase ไม่ใช่ที่เก็บข้อมูลเชิงสัมพันธ์ และไม่รองรับภาษาคิวรีที่มีโครงสร้างเช่น SQL

ใน HBase โหนดมาสเตอร์จะควบคุมเซิร์ฟเวอร์คลัสเตอร์และภูมิภาคเพื่อจัดเก็บส่วนต่างๆ ของตารางและดำเนินงานกับข้อมูล

👉 ดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์ HBase


2) อธิบายว่าทำไมจึงต้องใช้ HBase?

  • ระบบจัดเก็บข้อมูลความจุสูง
  • การออกแบบแบบกระจายเพื่อรองรับโต๊ะขนาดใหญ่
  • ร้านค้าที่เน้นคอลัมน์
  • ปรับขนาดได้ในแนวนอน
  • ประสิทธิภาพสูงและความพร้อมใช้งาน
  • เป้าหมายพื้นฐานของ HBase คือมีคอลัมน์หลายล้านคอลัมน์ มีเวอร์ชันหลายพันล้านเวอร์ชัน และมีแถวหลายพันล้านแถว
  • ต่างจาก HDFS (Hadoop Distribute File System) มันรองรับการดำเนินการ CRUD แบบเรียลไทม์แบบสุ่ม

3) พูดถึงองค์ประกอบสำคัญของ HBase คืออะไร?

สถาปัตยกรรม HBase ประกอบด้วยส่วนประกอบหลักดังต่อไปนี้

  • ผู้ดูแลสวนสัตว์: เป็นการประสานงานระหว่างลูกค้าและ HBase Maser
  • ต้นแบบ HBase: HBase Master ตรวจสอบเซิร์ฟเวอร์ภูมิภาค
  • เซิร์ฟเวอร์ภูมิภาค: RegionServer ตรวจสอบภูมิภาค
  • ภาค: มันมีอยู่ในที่เก็บข้อมูลหน่วยความจำ (MemStore) และ Hfile
  • ตารางแคตตาล็อก: ตารางแคตตาล็อกประกอบด้วย ROOT และ META
เอชเบส Archiแผนภาพเทคเจอร์
เอชเบส Archiแผนภาพเทคเจอร์

4) อธิบายว่า HBase ประกอบด้วยอะไรบ้าง?

  • เอชเบส ประกอบด้วยชุดโต๊ะ
  • และแต่ละตารางจะมีแถวและคอลัมน์เหมือนกับฐานข้อมูลแบบเดิม
  • แต่ละตารางจะต้องมีองค์ประกอบที่กำหนดให้เป็นคีย์หลัก
  • คอลัมน์ HBase หมายถึงคุณลักษณะของวัตถุ

5) กล่าวถึงจำนวนคำสั่งปฏิบัติการใน HBase

ส่วนใหญ่มีห้าประเภท Operaแห่งชาติ คำสั่งใน HBase:

  • เข้ามา
  • ใส่
  • ลบ
  • สแกน
  • การเพิ่มขึ้น
คำถามสัมภาษณ์ HBase
คำถามสัมภาษณ์ HBase

6) อธิบายว่า WAL และ Hlog ใน HBase คืออะไร

WAL (Write Ahead Log) คล้ายกับ MySQL บันทึกถังขยะ; มันบันทึกการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นในข้อมูล เป็นไฟล์ลำดับมาตรฐานของ Hadoop และมันเก็บ HLogkey's คีย์เหล่านี้ประกอบด้วยหมายเลขตามลำดับและข้อมูลจริง และใช้เพื่อเล่นซ้ำข้อมูลที่ยังไม่คงอยู่หลังจากเซิร์ฟเวอร์ขัดข้อง ดังนั้นด้วยเงินสดจากความล้มเหลวของเซิร์ฟเวอร์ WAL จึงทำงานเป็นเสมือนเส้นชีวิตและดึงข้อมูลที่สูญหายไป


7) เมื่อใดที่คุณควรใช้ HBase?

  • ขนาดข้อมูลมีขนาดใหญ่มาก: เมื่อคุณมีบันทึกจำนวนมากมายและหลายล้านรายการที่ต้องดำเนินการ
  • ออกแบบใหม่ทั้งหมด: เมื่อคุณย้าย RDBMS ไปยัง HBase คุณจะถือว่าเป็นการออกแบบใหม่ทั้งหมด จากนั้นเพียงเปลี่ยนพอร์ตเท่านั้น
  • SQL-Less คำสั่ง: คุณมีคุณสมบัติหลายอย่างเช่นธุรกรรม การรวมภายใน คอลัมน์ที่พิมพ์ ฯลฯ
  • การลงทุนโครงสร้างพื้นฐาน: คุณต้องมีคลัสเตอร์เพียงพอสำหรับ HBase จึงจะมีประโยชน์จริงๆ

8) ใน HBase ตระกูลคอลัมน์คืออะไร?

ตระกูลคอลัมน์ประกอบด้วยหน่วยพื้นฐานของหน่วยจัดเก็บข้อมูลทางกายภาพใน HBase ซึ่งมีการนำคุณลักษณะต่างๆ เช่น การบีบอัดมาใช้


9) อธิบายว่าคีย์แถวคืออะไร?

คีย์แถวถูกกำหนดโดยแอปพลิเคชัน เนื่องจากคีย์รวมถูกกำหนดไว้ล่วงหน้าโดยคีย์แถว จึงทำให้แอปพลิเคชันสามารถกำหนดลำดับการจัดเรียงที่ต้องการได้ นอกจากนี้ยังอนุญาตให้มีการจัดกลุ่มเซลล์แบบลอจิคัลและตรวจสอบให้แน่ใจว่าเซลล์ทั้งหมดที่มีคีย์แถวเดียวกันนั้นอยู่ร่วมกันบนเซิร์ฟเวอร์เดียวกัน


10) อธิบายการลบใน HBase หรือไม่ พูดถึงเครื่องหมายหลุมฝังศพสามประเภทใน HBase คืออะไร?

เมื่อคุณลบเซลล์ใน HBase ข้อมูลจะไม่ถูกลบจริง ๆ แต่มีการตั้งค่าเครื่องหมายหลุมฝังศพ ทำให้มองไม่เห็นเซลล์ที่ถูกลบ HBase ที่ถูกลบจะถูกลบออกจริง ๆ ระหว่างการบดอัด

ป้ายหลุมศพมีสามประเภท:

  • เครื่องหมายลบเวอร์ชัน: สำหรับการลบ จะทำเครื่องหมายคอลัมน์เวอร์ชันเดียว
  • เครื่องหมายลบคอลัมน์: สำหรับการลบ จะทำเครื่องหมายทุกเวอร์ชันของคอลัมน์
  • เครื่องหมายลบครอบครัว: สำหรับการลบ จะทำเครื่องหมายคอลัมน์ทั้งหมดสำหรับตระกูลคอลัมน์

11) อธิบายว่า HBase ลบแถวจริง ๆ ได้อย่างไร?

ใน HBase สิ่งที่คุณเขียนจะถูกจัดเก็บจาก RAM ไปยังดิสก์ การเขียนดิสก์เหล่านี้จะไม่เปลี่ยนรูปแบบยกเว้นการบดอัด ในระหว่างกระบวนการลบใน HBase กระบวนการบดอัดหลักจะลบเครื่องหมาย ในขณะที่การบดอัดรองจะไม่ลบ ในการลบตามปกติ จะส่งผลให้เกิดการลบเครื่องหมายหลุมฝังศพ ซึ่งข้อมูลที่ลบเหล่านี้เป็นตัวแทนจะถูกลบออกในระหว่างการบดอัด

นอกจากนี้ หากคุณลบข้อมูลและเพิ่มข้อมูลเพิ่มเติม แต่มีการประทับเวลาเร็วกว่าการประทับเวลาของ Tombstone Gets อาจถูกปกปิดโดยเครื่องหมายลบ/หลุมฝังศพ และด้วยเหตุนี้ คุณจะไม่ได้รับค่าที่แทรกไว้จนกว่าจะมีการบดอัดครั้งใหญ่


12) อธิบายว่าจะเกิดอะไรขึ้นหากคุณเปลี่ยนขนาดบล็อกของตระกูลคอลัมน์ในฐานข้อมูลที่ถูกครอบครองแล้ว

เมื่อคุณเปลี่ยนขนาดบล็อกของตระกูลคอลัมน์ ข้อมูลใหม่จะใช้ขนาดบล็อกใหม่ ในขณะที่ข้อมูลเก่าจะยังคงอยู่ในขนาดบล็อกเก่า ในระหว่างการบดอัดข้อมูล ข้อมูลเก่าจะใช้ขนาดบล็อกใหม่ ไฟล์ใหม่ในขณะที่ถูกล้าง มีขนาดบล็อกใหม่ ในขณะที่ข้อมูลที่มีอยู่จะยังคงอ่านได้อย่างถูกต้อง ข้อมูลทั้งหมดควรถูกแปลงเป็นขนาดบล็อกใหม่ หลังจากการบดอัดหลักครั้งถัดไป


13) พูดถึงความแตกต่างระหว่าง HBase และฐานข้อมูลเชิงสัมพันธ์หรือไม่

นี่คือความแตกต่างที่สำคัญบางประการระหว่าง Apache HBase และฐานข้อมูลเชิงสัมพันธ์:

เอชเบส ฐานข้อมูลเชิงสัมพันธ์
  • มันเป็นสคีมาน้อย
  • เป็นที่เก็บข้อมูลแบบคอลัมน์
  • มันถูกใช้เพื่อจัดเก็บข้อมูลที่ไม่ปกติ
  • ประกอบด้วยโต๊ะที่มีประชากรเบาบาง
  • การแบ่งพาร์ติชันอัตโนมัติเสร็จสิ้นใน HBase
  • เป็นฐานข้อมูลแบบสคีมา
  • เป็นที่เก็บข้อมูลแบบแถว
  • มันถูกใช้เพื่อจัดเก็บข้อมูลที่เป็นมาตรฐาน
  • ประกอบด้วยโต๊ะแบบบาง
  • ไม่มีข้อกำหนดหรือการสนับสนุนในตัวสำหรับการแบ่งพาร์ติชัน

14) คลาส HBaseFsck คืออะไร?

มีชื่อเครื่องมือที่เรียกว่า back มีอยู่ใน HBase ซึ่งใช้งานโดยคลาส HBaseFsck มีสวิตช์บรรทัดคำสั่งหลายตัวที่มีอิทธิพลต่อพฤติกรรมของมัน


คำถามและคำตอบสัมภาษณ์ HBase สำหรับผู้มีประสบการณ์

15) โครงสร้างหลักที่สำคัญของ HBase คืออะไร?

คีย์แถวและคีย์คอลัมน์เป็นโครงสร้างคีย์ที่สำคัญที่สุดสองรายการที่ใช้ใน HBase


16) อภิปรายว่าคุณสามารถใช้ตัวกรองใน Apache HBase ได้อย่างไร

ตัวกรองใน HBase Shell เปิดตัวใน Apache HBase 0.92 ซึ่งช่วยให้คุณดำเนินการกรองฝั่งเซิร์ฟเวอร์เพื่อเข้าถึง HBase ผ่าน เปลือก HBase หรือความประหยัด


17) HBase รองรับโครงสร้างไวยากรณ์เช่น SQL ใช่หรือไม่ใช่?

ไม่น่าเสียดายที่ SQL การสนับสนุน HBase ไม่สามารถใช้งานได้ในขณะนี้ อย่างไรก็ตาม ด้วยการใช้ Apache Phoenix เราสามารถดึงข้อมูลจาก HBase ผ่านการสืบค้น SQL


18) การบดอัดใน HBase มีความหมายว่าอย่างไร?

ในขณะที่มีการเขียนเข้ามาจำนวนมาก เป็นไปไม่ได้ที่จะบรรลุประสิทธิภาพสูงสุดโดยการมีไฟล์เดียวต่อหนึ่งร้านค้า HBase ช่วยให้คุณรวม HFiles ทั้งหมดเหล่านี้เพื่อลดจำนวนการเมล็ดดิสก์สำหรับการอ่านทุกครั้ง กระบวนการนี้เรียกว่าการบดอัดใน HBase


19) คุณจะใช้การรวมใน HBase อย่างไร?

HBase ไม่สนับสนุนการรวมโดยตรง แต่ใช้ แผนที่ลด แบบสอบถามการรวมงานสามารถนำไปใช้ได้โดยการดึงข้อมูลด้วยความช่วยเหลือของตาราง HBase ที่แตกต่างกัน


20) อธิบาย JMX เกี่ยวกับ HBSE

Java Management Extensions หรือ JMX เป็นสถานะการส่งออกของ Java แอปพลิเคชันเป็นมาตรฐานสำหรับพวกเขา


21) MasterServer มีประโยชน์อย่างไร?

เซิร์ฟเวอร์หลักช่วยให้คุณกำหนดภูมิภาคให้กับเซิร์ฟเวอร์ภูมิภาคได้เช่นกัน นอกจากนี้ยังช่วยให้คุณจัดการโหลดบาลานซ์ที่เราใช้ MasterServer


22) กำหนดคำว่า Thrift

Apache Thrift ถูกเขียนไว้ C++- มีคอมไพเลอร์สคีมาสำหรับภาษาการเขียนโปรแกรมต่างๆ เช่น C++, เพิร์ล, PHP, Python, รูบี้ และอื่นๆ


23) เหตุใดจึงต้องใช้ HColumnDescriptหรือชั้นเรียน?

รายละเอียดเกี่ยวกับตระกูลคอลัมน์ เช่น การตั้งค่าการบีบอัด จำนวนเวอร์ชัน จะถูกจัดเก็บไว้ใน HColumnDescriptหรือ


24) เซลล์ใน HBase คืออะไร?

เซลล์ใน HBase เป็นหน่วยที่เล็กที่สุดของ โต๊ะเอชเบส- ช่วยให้คุณเก็บข้อมูลในรูปแบบของ tuple{row, column, version}


25) Bloom filter คืออะไร?

HBase รองรับ Bloom Filter ช่วยให้คุณปรับปรุงปริมาณงานโดยรวมของคลัสเตอร์ได้ HBase Bloom Filter เป็นกลไกที่มีประสิทธิภาพในการใช้พื้นที่เพื่อทดสอบว่า HFile มีเซลล์แบบแถวหรือแบบคอลัมน์บางเซลล์หรือไม่


26) บอกฉันเกี่ยวกับประเภทของ HBase Operaอะไร?

ตอบ HBase สองประเภท Operaสิ่งเหล่านี้คือ:

  • อ่าน Operaการ
  • เขียน Operaการ

27) HBase HMaster มีประโยชน์อย่างไร?

ความรับผิดชอบหลักของอาจารย์คือ:

  1. ประสานงานเซิร์ฟเวอร์ภูมิภาค
  2. ฟังก์ชั่นผู้ดูแลระบบ

28) คุณสามารถใช้เทคนิคใดใน HBase เพื่อเข้าถึง HFile ได้โดยตรงโดยไม่ต้องใช้ HBase

ในการเข้าถึง HFile โดยตรงโดยไม่ต้องใช้ HBase เราใช้วิธี HFile.main()


29) เซิร์ฟเวอร์ภูมิภาคสามารถอยู่บน DataNodes ทั้งหมดได้หรือไม่

ใช่ เซิร์ฟเวอร์ภูมิภาคทำงานบนเซิร์ฟเวอร์เดียวกันกับ DataNodes


30) ตั้งชื่อตัวกรองที่ยอมรับขนาดหน้าเป็นพารามิเตอร์ใน HBase

ตัวกรองชื่อ PageFilter ยอมรับขนาดหน้าเป็นพารามิเตอร์

เอกสารนี้จัดทำขึ้นด้วยเครื่องมือแปลง HTML แบบทันที

คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)