บ้าน แนวโน้ม hadoop ช่วยแก้ปัญหาข้อมูลขนาดใหญ่ได้อย่างไร

hadoop ช่วยแก้ปัญหาข้อมูลขนาดใหญ่ได้อย่างไร

สารบัญ:

Anonim

ข้อมูลขนาดใหญ่คือ … ดี … ขนาดใหญ่! จำนวนข้อมูลที่สามารถจัดประเภทเป็นข้อมูลขนาดใหญ่นั้นไม่ชัดเจนนักดังนั้นเราจึงไม่ต้องกังวลกับการอภิปรายครั้งนี้ สำหรับ บริษัท ขนาดเล็กที่ใช้ในการจัดการกับข้อมูลในหน่วยกิกะไบต์กิกะไบต์ข้อมูล 10 TB จะใหญ่ อย่างไรก็ตามสำหรับ บริษัท เช่น Facebook และ Yahoo petabytes มีขนาดใหญ่


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


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


ข้อมูลขนาดใหญ่ไม่มีโครงสร้างหรือกึ่งโครงสร้าง

ข้อมูลขนาดใหญ่จำนวนมากไม่มีโครงสร้าง ตัวอย่างเช่นข้อมูลการคลิกสตรีมอาจมีลักษณะดังนี้:


การประทับเวลา, user_id, หน้า, การอ้างอิง _ หน้า


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

ไม่มีจุดในการจัดเก็บข้อมูลขนาดใหญ่ถ้าเราไม่สามารถประมวลผลได้

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


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


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


ทางออกหนึ่งคือการประมวลผลข้อมูลขนาดใหญ่ในสถานที่เช่นในกลุ่มการจัดเก็บสองเท่าเป็นกลุ่มการคำนวณ


ดังนั้นอย่างที่เราได้เห็นข้างต้นข้อมูลขนาดใหญ่ท้าทายการจัดเก็บแบบดั้งเดิม ดังนั้นเราจะจัดการกับข้อมูลขนาดใหญ่ได้อย่างไร

Hadoop แก้ปัญหาข้อมูลขนาดใหญ่ได้อย่างไร

Hadoop ถูกสร้างขึ้นเพื่อให้ทำงานบนคลัสเตอร์ของเครื่องจักร

ให้เริ่มต้นด้วยตัวอย่าง สมมติว่าเราต้องเก็บภาพถ่ายจำนวนมาก เราจะเริ่มต้นด้วยดิสก์เดียว เมื่อเราเกินดิสก์เดียวเราอาจใช้ดิสก์บางแผ่นที่ซ้อนกันบนเครื่อง เมื่อเราใส่ดิสก์ทั้งหมดในเครื่องเดียวเราก็ต้องเอาเครื่องออกมาแต่ละอันก็จะมีดิสก์เป็นจำนวนมาก


นี่คือสิ่งที่ Hadoop สร้างขึ้น Hadoop ได้รับการออกแบบให้ทำงานบนกลุ่มของเครื่องตั้งแต่เริ่มต้น



กลุ่ม Hadoop ไต่ระดับแนวนอน

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


Hadoop สามารถจัดการข้อมูลที่ไม่มีโครงสร้าง / กึ่งโครงสร้าง

Hadoop ไม่บังคับใช้สคีมาบนข้อมูลที่จัดเก็บ มันสามารถจัดการข้อความและข้อมูลไบนารีโดยพลการ ดังนั้น Hadoop จึงสามารถแยกย่อยข้อมูลที่ไม่มีโครงสร้างใด ๆ ได้อย่างง่ายดาย


กลุ่ม Hadoop ให้การจัดเก็บและการคำนวณ

เราเห็นว่าการแยกหน่วยเก็บข้อมูลและกลุ่มการประมวลผลนั้นไม่เหมาะสมที่สุดสำหรับข้อมูลขนาดใหญ่ อย่างไรก็ตาม Hadoop นั้นให้การจัดเก็บและกระจายการคำนวณทั้งหมดในที่เดียว

กรณีศึกษาทางธุรกิจสำหรับ Hadoop

Hadoop ให้การจัดเก็บข้อมูลขนาดใหญ่ในราคาที่สมเหตุสมผล

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


การศึกษาหนึ่งโดย Cloudera แนะนำว่าผู้ประกอบการมักจะใช้จ่ายประมาณ $ 25, 000 ถึง $ 50, 000 ต่อเทราไบต์ต่อปี ด้วย Hadoop ค่าใช้จ่ายนี้ลดลงเหลือสองสามพันดอลลาร์ต่อเทราไบต์ต่อปี เมื่อฮาร์ดแวร์มีราคาถูกลงและถูกลงต้นทุนนี้ก็จะลดลง


Hadoop ช่วยให้สามารถเก็บข้อมูลใหม่หรือมากกว่าได้

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


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


ด้วย Hadoop คุณสามารถเก็บข้อมูลได้นานขึ้น

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


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


Hadoop ให้การวิเคราะห์ที่ปรับขนาดได้

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


Hadoop ให้การวิเคราะห์ที่หลากหลาย

Native MapReduce รองรับ Java เป็นภาษาการเขียนโปรแกรมหลัก สามารถใช้ภาษาอื่นเช่น Ruby, Python และ R ได้เช่นกัน


แน่นอนว่าการเขียนรหัส MapReduce ที่กำหนดเองไม่ใช่วิธีเดียวในการวิเคราะห์ข้อมูลใน Hadoop มีการลดแผนที่ระดับที่สูงขึ้น ตัวอย่างเช่นเครื่องมือชื่อ Pig ใช้ภาษาอังกฤษเหมือนภาษา data data และแปลเป็น MapReduce เครื่องมืออีกอย่างหนึ่งคือไฮฟ์รับคิวรี SQL และรันโดยใช้ MapReduce


เครื่องมือ Business Intelligence (BI) สามารถให้การวิเคราะห์ในระดับที่สูงขึ้น มีเครื่องมือสำหรับการวิเคราะห์ประเภทนี้เช่นกัน


เนื้อหานี้คัดลอกมาจาก "Hadoop Illuminated" โดย Mark Kerzner และ Sujee Maniyam มีการเผยแพร่ผ่าน Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License

hadoop ช่วยแก้ปัญหาข้อมูลขนาดใหญ่ได้อย่างไร