ทำไมถึงต้องสร้าง Data pipeline

ประโยชน์ในด้านต่าง ๆ

Data pipeline มีประโยชน์หลักคือประมวลผลข้อมูลจำนวนมหาศาลโดยอาศัยการประมวลผลแบบขนานและฐานข้อมูลแบบขนาน

ประโยชน์ด้าน Tech เช่น

การทำงานอัตโนมัติตาม Trigger รูปแบบต่าง ๆ เช่น เวลา หรือ action (ทำงานหลังจาก A เสร็จสิ้น)

การทำให้การจัดการข้อมูลอยู่ในรูปแบบที่เป็นสากลและเข้าใจผ่านมาตรฐานการสร้าง Data pipeline

ประโยชน์ด้าน Business เช่น

การเพิ่มประสิทธิของการทำรายงานและการวิเคราะห์อื่น ๆ

การทำให้ข้อมูลมีคุณภาพที่ดีขึ้นและทำให้ข้อมูลอยู่ภายใตกฎเกณฑ์ข้อบังคับของกฎหมายหรือกฎระเบียบ

การทำให้ข้อมูลถูกใช้งานได้มากยิ่งขึ้น

แล้วถ้าไม่ใช้การประมวลผลแบบขนานและฐานข้อมูลแบบขนานจะยังเรียกว่าเป็น Data pipeline ได้รึเปล่า

ก็สามารถตอบได้เลยว่า ได้

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

เหตุผลที่ยกประโยชน์ด้าน Tech มาเป็นข้อใหญ่เพราะความเป็นไปได้ทางธุรกิจนั้นล้วนมาจากความสามารถทางด้าน Technology เป็นหลัก

Data pipeline on Cloud

การสร้าง Data pipeline ที่อยู่บน Cloud computing ตั้งแต่ต้นนั้น จะสามารถปลดล็อกศักยภาพของ Data pipeline ได้อย่างดีที่สุด เนื่องจากทรัพยากรบน Cloud computing นั้นสามารถทำให้เราประมวลผลข้อมูลหรือ Record จำนวนมหาศาลโดยที่ไม่จำเป็นต้องลงทุนด้าน Hardware เพิ่มเติม

Cloud computing นั้นมี Service ที่สามารถใช้งานเพื่อบรรลุ Job to be done ของการสร้าง Data pipeline ได้หลากหลาย Service แต่ข้อสังเกตุหลักคือ Service นั้นเป็น Service ประเภทใด และมีข้อจำกัดข้อใดบ้าง

ตัวอย่างเช่น AWS มี Service สำหรับ Data pipeline อยู่ 3 ประเภท

1.Low Code (AWS Glue) คือ การที่จะบรรลุ Job to be done ด้าน business ได้โดยใช้การเขียน Code ให้น้อยที่สุดและไม่ต้องดูแล Infrastructure ด้วยตัวเอง

ข้อดีคือ ความเร็วของ Job to be done รวดเร็วที่สุด, ใช้ความรู้เกี่ยวกับ Infrastructure น้อยที่สุด และ Pricing model ที่เข้าใจง่าย

ข้อเสียคือ ความไม่ยืดหยุ่นในการจัดการข้อมูล, ไม่สามารถใช้งาน Code ที่เกี่ยวข้องได้อย่างเต็มประสิทธิภาพ, จัดการประสิทธิภาพด้านการประมวลผลได้ยาก, ไม่สามารถประมวลผลข้อมูลในรูปแบบ Unstructure data และ Pricing model ต่อชั่วโมงที่แพงที่สุด  

2.Managed Service (AWS EMR) คือ การที่จะได้ประสิทธิภาพด้านการประมวลผลได้ดีเทียบเท่า Bare metal และไม่ต้องดูแล Infrastructure ด้วยตัวเอง

ข้อดีคือ ประสิทธิภาพด้านการประมวลผลสามารถปรับแต่งได้ตามความต้องการ, ไม่จำเป็นตั้งค่าการเชื่อมต่อของ Network ทั้งหมดด้วยตัวเอง, Software อัพเดทด้วยตัวเอง ,สามารถใช้งาน Code ได้อย่างอิสระ และสามารถประมวลผลข้อมูลในรูปแบบ Unstructure data ได้

ข้อเสียคือ การเรียนรู้ใช้ระยะเวลานาน, การแก้ไขปัญหายากกว่า Low Code และต้องเข้าใจทั้งระบบก่อนถึงจะใช้งานได้

3.Bare metal (AWS EC2) คือ การที่สร้าง Cluster สำหรับการประมวลผลด้วยตัวเองตั้งแต่เริ่มต้น เหมาะสำหรับการปรับแต่งในทุกด้าน

ข้อดีคือ สามารถปรับแต่งทุกอย่างได้ตามความต้องการ

ข้อเสียคือ ใช้ระยะเวลาในการสร้างระบบนานกว่า Mananged Service, ระบบดูแลต่อยาก, จำเป็นต้องอัพเดทเวอร์ชัน Software ด้วยตัวเอง

Limitation

ซึ่ง Data pipeline ที่นำเสนอไปทั้งหมดล้วนมี Limitation อย่างง่ายเพื่อให้เลือกใช้ได้อย่างเหมาะสม

Low code เหมาะสำหรับงานที่ต้องการความเร็วในการประมวล 1 ครั้งมากกว่า 10 วินาที

Managed service เหมาะสำหรับงานที่ต้องการความเร็วในการประมวล 1 ครั้งต่ำกว่า 10 วินาที

Bare metal เหมาะสำหรับงานที่ต้องการความเร็วในการประมวล 1 ครั้ง ตามที่เราต้องการ

*เวลาทั้ง 3 ตัวเลขนั้น อยู่บนพื้นฐานการประมวลผลที่ข้อมูลมีขนาดเท่ากัน โดยมีขนาดน้อยกว่า 100 GB, File Format Parquet, Partition Data

ความท้าทาย

โดยความท้าทายโดยทั่วไปของการสร้าง Data pipeline คือ

การเพิ่มขึ้นของจำนวนข้อมูลที่ต้องประมวลผล

การเปลี่ยนแปลงโครงสร้างของข้อมูล

คุณภาพที่แย่ของข้อมูล

การเข้ากันไม่ได้ของข้อมูลต้นทาง

ข้อมูลซ้ำ

ระบบเวลาในข้อมูลต้นทางไม่เหมือนกัน

สรุป

โดยสรุปแล้ว ความสามารถของ Data pipe นั้นคือการที่ประมวลผลข้อมูล (Preparation, Cleansing, Transform) ในรูปแบบไฟล์ csv, json, parquet ร่วมกันโดยอาจจะกำหนดให้ทำตามเวลาที่กำหนดเช่นทุก 6 โมงเช้า เพื่อให้ได้ข้อมูลรูปแบบใหม่ (csv, json, parquet) เพื่อที่จะสามารถนำไปใช้ในงาน Visualization, นำไปสร้างรายงานหรือนำไปสร้าง Machine learning model ต่อไปได้

Aa

© 2023, All Rights Reserved, VulturePrime co., ltd.