บทช่วยสอน HBase สำหรับผู้เริ่มต้น: HBase คืออะไร เรียนรู้ใน 3 วัน!

สรุปบทช่วยสอน HBase

Hbase คือระบบการจัดการฐานข้อมูลแบบคอลัมน์ที่ทำงานบน HDFS (Hadoop Distributed File System) ในบทช่วยสอน HBase สำหรับผู้เริ่มต้นนี้ คุณจะได้เรียนรู้พื้นฐานของ Apache HBase และแนวคิดขั้นสูง หลักสูตร HBase นี้ประกอบด้วยพื้นฐานของ HBase ทั้งหมดตั้งแต่การแนะนำ การติดตั้ง สถาปัตยกรรม ไปจนถึงเนื้อหาขั้นสูง

เอชเบสคืออะไร?

HBase คือระบบฐานข้อมูลแบบกระจายแบบโอเพ่นซอร์สที่เน้นคอลัมน์ใน Hadoop สิ่งแวดล้อม ในตอนแรกมันคือ Google Big Table ต่อมาได้เปลี่ยนชื่อเป็น HBase และเขียนเป็นหลักด้วย Java.  อาปาเช่ HBase จำเป็นสำหรับแอปพลิเคชัน Big Data แบบเรียลไทม์

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

หลักสูตรการฝึกอบรม HBase

นี่คือสิ่งที่เรากล่าวถึงในคู่มือการฝึกอบรม Apache HBase นี้

👍 Lessเมื่อ 1 Archiการสอนของ HBase — เอชเบส Archiเทคเจอร์ ส่วนประกอบ และแบบจำลองข้อมูล
👍 Lessเมื่อ 2 การติดตั้ง HBase — เปิดการติดตั้ง HBase Ubuntu
👍 Lessเมื่อ 3 คำสั่งเชลล์ HBase — เรียนรู้ด้วยตัวอย่าง
👍 Lessเมื่อ 4 HBase สร้างตาราง — ขั้นตอนการสร้างตารางใน HBase โดยใช้ Java API
👍 Lessเมื่อ 5 แทรกและดึงข้อมูลใน HBase — รับ (), ใส่ (), สแกน () ตัวอย่าง
👍 Lessเมื่อ 6 คอขวดประสิทธิภาพใน HBase — ข้อได้เปรียบและข้อจำกัดของ HBase
👍 Lessเมื่อ 7 คำถามสัมภาษณ์ Hbase - คำถามและคำตอบสัมภาษณ์ Hbase 30 อันดับแรก

คุณจะเรียนรู้อะไรในบทช่วยสอน HBase สำหรับผู้เริ่มต้นนี้

ในบทช่วยสอน HBase สำหรับผู้เริ่มต้น คุณจะได้เรียนรู้ว่า Apache HBase คืออะไร Archiความรู้ของ HBase, วิธีการติดตั้ง HBase, ขั้นตอนการสร้างตารางใน HBase, HBase Advantage และ Limitations เป็นต้น

ทำไมถึงเลือก HBase?

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

โมเดลข้อมูลเชิงสัมพันธ์แบบดั้งเดิมไม่สามารถตอบสนองความต้องการด้านประสิทธิภาพของฐานข้อมูลขนาดใหญ่มาก Apache HBase สามารถเอาชนะข้อจำกัดด้านประสิทธิภาพและการประมวลผลเหล่านี้ได้

คุณสมบัติ Apache HBase

  • HBase ถูกสร้างขึ้นเพื่อการทำงานที่มีความล่าช้าต่ำ
  • HBase ถูกใช้กันอย่างแพร่หลายสำหรับการอ่านและการเขียนแบบสุ่ม
  • HBase เก็บข้อมูลจำนวนมากในรูปแบบของตาราง
  • ให้ความสามารถในการปรับขนาดเชิงเส้นและโมดูลาร์ในสภาพแวดล้อมคลัสเตอร์
  • สอดคล้องอย่างเคร่งครัดกับการดำเนินการอ่านและเขียน
  • การแบ่งกลุ่มย่อยตารางอัตโนมัติและกำหนดค่าได้
  • รองรับการเฟลโอเวอร์อัตโนมัติระหว่างเซิร์ฟเวอร์ภูมิภาค
  • คลาสพื้นฐานที่สะดวกสำหรับการสำรองข้อมูล แผนที่ Hadoop งานในตาราง HBase
  • ใช้งานง่าย Java API สำหรับการเข้าถึงไคลเอ็นต์
  • บล็อกแคชและตัวกรอง Bloom สำหรับการสืบค้นตามเวลาจริง
  • เพรดิเคตแบบสอบถามจะดันลงผ่านตัวกรองฝั่งเซิร์ฟเวอร์

ความสำคัญของฐานข้อมูล NoSQL ใน Hadoop

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

ในระบบนิเวศ Hadoop ส่วนประกอบแต่ละส่วนมีบทบาทเฉพาะตัวสำหรับ

  • การประมวลผลข้อมูล
  • การตรวจสอบข้อมูล
  • การจัดเก็บข้อมูล

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

ฐานข้อมูลประเภทพื้นที่จัดเก็บ NoSQL อื่นๆ

NoSQL บางรุ่นที่มีอยู่ในตลาด ได้แก่ Cassandra, MongoDBและ CouchDB- แต่ละรุ่นมีกลไกการจัดเก็บที่แตกต่างกัน

ตัวอย่างเช่น MongoDB เป็นฐานข้อมูลเชิงเอกสารจากแผนผังตระกูล NoSQL เมื่อเปรียบเทียบกับฐานข้อมูลแบบเดิม ฐานข้อมูลดังกล่าวมีฟีเจอร์ที่ดีที่สุดในแง่ของประสิทธิภาพ ความพร้อมใช้งาน และความสามารถในการปรับขนาด เป็นฐานข้อมูลเชิงเอกสารโอเพ่นซอร์สและมีการเขียนอยู่ภายใน C++.

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

ในขณะที่ CouchDB เป็นฐานข้อมูลเชิงเอกสารซึ่งแต่ละฟิลด์เอกสารจะถูกเก็บไว้ในแมปคีย์-ค่า

HBase แตกต่างจาก NoSQL รุ่นอื่นๆ อย่างไร

โมเดลพื้นที่จัดเก็บ HBase แตกต่างจากโมเดล NoSQL อื่นๆ ที่กล่าวถึงข้างต้น สามารถระบุได้ดังต่อไปนี้

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

ฐานข้อมูล NoSQL ใดให้เลือก

MongoDB, CouchDBและ Cassandra เป็นฐานข้อมูลประเภท NoSQL ที่มีคุณลักษณะเฉพาะและใช้ตามความต้องการทางธุรกิจ ที่นี่ เราได้แสดงรายการฐานข้อมูล NoSQL ที่แตกต่างกันตามกรณีการใช้งาน

ประเภทฐานข้อมูลตามคุณสมบัติ ตัวอย่างฐานข้อมูล กรณีการใช้งาน (เมื่อใดควรใช้)
คีย์/ค่า เรดิส, MemcacheDB การแคช การเข้าคิว การกระจายข้อมูล
เน้นคอลัมน์ Cassandra,เอชเบส ปรับขนาด รักษาไม่มีโครงสร้าง ไม่ลบเลือน
เชิงเอกสาร MongoDB, โซฟาเบด ข้อมูลที่ซ้อนกัน Javaสคริปต์ที่เป็นมิตร
ตามกราฟ OrientDB, Neo4J การจัดการข้อมูลเชิงสัมพันธ์ที่ซับซ้อน การสร้างแบบจำลองและการจัดการการจำแนกประเภท

HBase เทียบกับ รังผึ้ง

คุณสมบัติ เอชเบส รัง
โมเดลฐานข้อมูล ร้านเสากว้าง DBMS เชิงสัมพันธ์
สคีมาข้อมูล ไม่มีสคีมา ด้วยสคีมา
การสนับสนุน SQL ไม่ ใช่ มันใช้ HQL (ภาษาคิวรีไฮฟ์)
วิธีการแบ่งพาร์ติชัน sharding sharding
ระดับความสม่ำเสมอ ความสอดคล้องทันที ความสอดคล้องในที่สุด
ดัชนีรอง ไม่ ใช่
วิธีการจำลองแบบ ปัจจัยการจำลองแบบที่เลือกได้ ปัจจัยการจำลองแบบที่เลือกได้

HBase เทียบกับ อาร์ดีบีเอ็มเอส

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

HBASE อาร์ดีบีเอ็มเอส
  • Schema-less ในฐานข้อมูล
  • มีการแก้ไขสคีมาในฐานข้อมูล
  • ฐานข้อมูลเชิงคอลัมน์
  • ที่เก็บข้อมูลเชิงแถว
  • ออกแบบมาเพื่อจัดเก็บข้อมูลที่ไม่เป็นมาตรฐาน
  • ออกแบบมาเพื่อจัดเก็บข้อมูลที่เป็นมาตรฐาน
  • ตารางที่กว้างและมีจำนวนประชากรกระจัดกระจายอยู่ใน HBase
  • ประกอบด้วยตารางแบบบางในฐานข้อมูล
  • รองรับการแบ่งพาร์ติชันอัตโนมัติ
  • ไม่มีการสนับสนุนการแบ่งพาร์ติชันในตัว
  • เหมาะอย่างยิ่งสำหรับระบบ OLAP
  • เหมาะอย่างยิ่งสำหรับระบบ OLTP
  • อ่านเฉพาะข้อมูลที่เกี่ยวข้องจากฐานข้อมูล
  • ดึงข้อมูลทีละแถวจึงสามารถอ่านข้อมูลที่ไม่จำเป็นได้หากต้องการเพียงข้อมูลบางส่วนในแถวเท่านั้น
  • ข้อมูลที่มีโครงสร้างและกึ่งโครงสร้างสามารถจัดเก็บและประมวลผลได้โดยใช้ HBase
  • ข้อมูลที่มีโครงสร้างสามารถจัดเก็บและประมวลผลได้โดยใช้ RDBMS
  • เปิดใช้งานการรวมหลายแถวและคอลัมน์
  • การรวมกลุ่มเป็นการดำเนินการที่มีราคาแพง

สรุป

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