จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

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

ฉันขอให้ Alexey Ananyev ผู้ฝึกสอนชั้นนำของรัสเซียในการพัฒนาและบริหารจัดการผลิตภัณฑ์ Informatica พูดคุยเกี่ยวกับฟังก์ชันการเพิ่มประสิทธิภาพแบบกดลงใน Informatica Big Data Management (BDM) คุณเคยเรียนรู้ที่จะทำงานกับผลิตภัณฑ์ Informatica หรือไม่? เป็นไปได้มากว่า Alexey เป็นผู้บอกคุณเกี่ยวกับพื้นฐานของ PowerCenter และอธิบายวิธีสร้างการแมป

Alexey Ananyev หัวหน้าฝ่ายฝึกอบรมของ DIS Group

การกดลงคืออะไร?

หลายท่านคงคุ้นเคยกับ Informatica Big Data Management (BDM) อยู่แล้ว ผลิตภัณฑ์สามารถบูรณาการข้อมูลขนาดใหญ่จากแหล่งต่างๆ ย้ายข้อมูลระหว่างระบบต่างๆ ช่วยให้เข้าถึงข้อมูลได้ง่าย ช่วยให้คุณสามารถจัดทำโปรไฟล์ และอื่นๆ อีกมากมาย
ในมือขวา BDM สามารถทำงานได้อย่างมหัศจรรย์: งานต่างๆ จะเสร็จสิ้นได้อย่างรวดเร็วและใช้ทรัพยากรการประมวลผลน้อยที่สุด

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

ในการกำหนดค่าสภาพแวดล้อมการดำเนินการสคริปต์ คุณต้องเลือกประเภทการเลื่อนลง สคริปต์สามารถทำงานได้ทั้งหมดบน Hadoop หรือกระจายบางส่วนระหว่างต้นทางและซิงก์ การกดลงที่เป็นไปได้มี 4 แบบ การแมปไม่จำเป็นต้องเปลี่ยนเป็นสคริปต์ (เนทิฟ) การแมปสามารถทำได้มากที่สุดเท่าที่เป็นไปได้ในแหล่งที่มา (แหล่งที่มา) หรือทั้งหมดบนแหล่งที่มา (แบบเต็ม) การแมปสามารถเปลี่ยนเป็นสคริปต์ Hadoop ได้ (ไม่มี)

การเพิ่มประสิทธิภาพแบบกดลง

รายการทั้ง 4 ประเภทสามารถรวมกันได้หลายวิธี - สามารถปรับการกดลงให้เหมาะกับความต้องการเฉพาะของระบบได้ ตัวอย่างเช่น มักจะเหมาะสมกว่าที่จะดึงข้อมูลจากฐานข้อมูลโดยใช้ความสามารถของตัวเอง และข้อมูลจะถูกแปลงโดยใช้ Hadoop เพื่อไม่ให้ฐานข้อมูลทำงานหนักเกินไป

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

ลองทำแผนที่เพื่ออ่านสองตารางในฐานข้อมูล Oracle เดียว และให้ผลการอ่านถูกบันทึกลงในตารางในฐานข้อมูลเดียวกัน รูปแบบการแมปจะเป็นดังนี้:

จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

ในรูปแบบของการแมปบน Informatica BDM 10.2.1 มีลักษณะดังนี้:

จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

ประเภท Pushdown – ดั้งเดิม

หากเราเลือกประเภทเนทีฟแบบกดลง การแมปจะดำเนินการบนเซิร์ฟเวอร์ Informatica ข้อมูลจะถูกอ่านจากเซิร์ฟเวอร์ Oracle ถ่ายโอนไปยังเซิร์ฟเวอร์ Informatica แปลงที่นั่น และถ่ายโอนไปยัง Hadoop กล่าวอีกนัยหนึ่ง เราจะได้รับกระบวนการ ETL ปกติ

ประเภท Pushdown – แหล่งที่มา

เมื่อเลือกประเภทแหล่งที่มา เราได้รับโอกาสในการกระจายกระบวนการของเราระหว่างเซิร์ฟเวอร์ฐานข้อมูล (DB) และ Hadoop เมื่อดำเนินการกระบวนการด้วยการตั้งค่านี้ คำขอดึงข้อมูลจากตารางจะถูกส่งไปยังฐานข้อมูล และส่วนที่เหลือจะดำเนินการในรูปแบบของขั้นตอนบน Hadoop
แผนภาพการดำเนินการจะมีลักษณะดังนี้:

จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

ด้านล่างนี้คือตัวอย่างการตั้งค่าสภาพแวดล้อมรันไทม์

จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

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

จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

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

แบบกดลง-เต็ม

เมื่อคุณเลือกประเภทเต็ม การแมปจะกลายเป็นแบบสอบถามฐานข้อมูลโดยสมบูรณ์ และผลลัพธ์ของการร้องขอจะถูกส่งไปยัง Hadoop แผนภาพของกระบวนการดังกล่าวแสดงไว้ด้านล่าง

จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

ตัวอย่างการตั้งค่าแสดงอยู่ด้านล่าง

จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

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

จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

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

ประเภทการเลื่อนลงเป็นโมฆะ

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

การแมปที่ปรับให้เหมาะสมที่สุดจะมีลักษณะดังนี้:

จะย้าย อัพโหลด และรวมข้อมูลขนาดใหญ่มากอย่างประหยัดและรวดเร็วได้อย่างไร การเพิ่มประสิทธิภาพแบบพุชดาวน์คืออะไร?

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

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

ที่มา: will.com

เพิ่มความคิดเห็น