บทช่วยสอน HBase สำหรับผู้เริ่มต้น: HBase คืออะไร เรียนรู้ใน 3 วัน!
สรุปบทช่วยสอน 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 เทียบกับ รังผึ้ง
| คุณสมบัติ | เอชเบส | รัง |
|---|---|---|
| โมเดลฐานข้อมูล | ร้านเสากว้าง | ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ |
| สคีมาข้อมูล | ไม่มีสคีมา | ด้วยสคีมา |
| การสนับสนุน SQL | ไม่ | ใช่ มันใช้ HQL (ภาษาคิวรีไฮฟ์) |
| วิธีการแบ่งพาร์ติชัน | sharding | sharding |
| ระดับความสม่ำเสมอ | ความสอดคล้องทันที | ความสอดคล้องในที่สุด |
| ดัชนีรอง | ไม่ | ใช่ |
| วิธีการจำลองแบบ | ปัจจัยการจำลองแบบที่เลือกได้ | ปัจจัยการจำลองแบบที่เลือกได้ |
HBase เทียบกับ อาร์ดีบีเอ็มเอส
ในขณะที่เปรียบเทียบ HBase กับฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม เราต้องคำนึงถึงประเด็นสำคัญสามประการ ได้แก่โมเดลข้อมูล การจัดเก็บข้อมูล และความหลากหลายของข้อมูล
| HBASE | อาร์ดีบีเอ็มเอส |
|---|---|
| • ฐานข้อมูลไม่มีโครงสร้างแบบตายตัว (Schema-less) | • มีโครงสร้างข้อมูล (schema) ที่แน่นอนในฐานข้อมูล |
| • ฐานข้อมูลแบบคอลัมน์ | • ระบบจัดเก็บข้อมูลแบบเรียงแถว |
| • ออกแบบมาเพื่อจัดเก็บข้อมูลที่ไม่เป็นมาตรฐาน | • ออกแบบมาเพื่อจัดเก็บข้อมูลในรูปแบบมาตรฐาน |
| • ตารางที่มีขนาดกว้างและมีข้อมูลกระจายตัวเบาบางใน HBase | • มีตารางข้อมูลขนาดเล็กอยู่ในฐานข้อมูล |
| • รองรับการแบ่งพาร์ติชั่นอัตโนมัติ | • ไม่มีระบบรองรับการแบ่งพาร์ติชันในตัว |
| • เหมาะอย่างยิ่งสำหรับระบบ OLAP | • เหมาะอย่างยิ่งสำหรับระบบ OLTP |
| • อ่านเฉพาะข้อมูลที่เกี่ยวข้องจากฐานข้อมูล | • ดึงข้อมูลทีละแถว ซึ่งอาจอ่านข้อมูลที่ไม่จำเป็นหากต้องการเพียงบางส่วนของข้อมูลในแถวนั้น |
| • ข้อมูลที่มีโครงสร้างและกึ่งโครงสร้างสามารถจัดเก็บและประมวลผลได้โดยใช้ HBase | • ข้อมูลที่มีโครงสร้างสามารถจัดเก็บและประมวลผลได้โดยใช้ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) |
| • ช่วยให้สามารถรวมข้อมูลจากหลายแถวและหลายคอลัมน์ได้ | • การรวมข้อมูลเป็นกระบวนการที่มีค่าใช้จ่ายสูง |
สรุป
HBase นำเสนอคุณสมบัติที่เป็นเอกลักษณ์และจะแก้ปัญหากรณีการใช้งานทางอุตสาหกรรมทั่วไป เนื่องจากเป็นพื้นที่จัดเก็บข้อมูลแบบคอลัมน์ จึงช่วยให้การสืบค้น การดึงผลลัพธ์ และการจัดเก็บข้อมูลปริมาณมากรวดเร็ว หลักสูตรนี้เป็นการแนะนำ HBase แบบทีละขั้นตอนโดยสมบูรณ์
