การมาถึงของยุค Big Data (ข้อมูลขนาดใหญ่) ทำให้องค์กรต้องปรับตัวให้ไวขึ้น ทำให้เครื่องมือจัดการ Data ในสมัยใหม่ ไม่ว่าจะเป็นเครื่องมือด้าน Data Warehouse หรือ Data Pipeline ก็ต้องช่วยให้บริษัทต่าง ๆ สามารถทำงานกับ Data ของตัวเองได้สะดวก รวดเร็วขึ้น
ก่อนหน้านี้ Cloud Computing เปลี่ยนโลกการทำงานกับ Data ในองค์กรไปมหาศาล ช่วยให้องค์กรสมัยใหม่จัดเก็บข้อมูลผ่าน Cloud Storage ในราคาไม่แพง และยังมีการพัฒนาบริการที่ช่วยในการทำงานกับ Data เช่น บริการบน Cloud ด้าน Machine Learning
ด้วยความที่ องค์กรต่างต้องการ Data Engineer ทำให้เกิดการขาดแคลนของ Data Engineer ทั้งที่จริงงานการสร้าง ETL Pipeline มีความคล้ายกันในหลายองค์กร จึงเกิดเป็นเครื่องมือในกลุ่ม “Modern Data Stack” ที่ใช้ง่าย ราคาไม่แพง และเหมาะสมสำหรับงานที่คล้ายกัน
ในบทความนี้ เราจะมารู้จักกับ Modern Data Stack ว่ามีเครื่องมืออะไรให้เราใช้บ้าง, ช่วยให้งาน Data ง่ายขึ้นอย่างไร และทำไมบริษัททั่วโลกถึงนิยมใช้กัน
Modern Data Stack คืออะไร
Modern Data Stack (MDS) เป็นกลุ่มเครื่องมือทำงานกับ Data สมัยใหม่ ที่ช่วยให้งานของสาย Data ทำงานได้รวดเร็ว และง่ายขึ้น
เครื่องมือในกลุ่ม MDS ช่วยในการทำงานของ Data Engineer ค่อนข้างเยอะ เช่น การดึงข้อมูล (Data Ingestion), การลำดับการทำงาน (Data Orchestration)
ในปัจจุบันได้มีการพัฒนาเครื่องมือใหม่ ๆ ในกลุ่ม MDS ให้ครอบคลุมงานของสาย Data ทั้ง Data Engineer, Data Scientist, และ Data Analyst อีกด้วย
Modern Data Stack เกิดขึ้นมาได้ยังไง
ก่อนหน้านี้ การจะทำงานกับ Data จำเป็นต้องตั้งเครื่องเซิร์ฟเวอร์เอง (On-Premise) ซึ่งต้องใช้เงินทุนมหาศาล เนื่องจากว่าเซิร์ฟเวอร์ในการทำงานกับ Data ต้องมีขนาดใหญ่
แต่ปัจจุบัน เราสามารถใช้วิธีการเช่าเซิร์ฟเวอร์จากบริษัทอื่น (Cloud Computing) เข้ามาช่วยได้มากขึ้น ทำให้ไม่ต้องลงทุนก้อนแรกสูง แต่มีค่าใช้จ่ายรายเดือนแทน
บริษัทที่ให้บริการ Cloud Computing เจ้าดัง ๆ คือ Amazon, Google, Microsoft ซึ่งเราเรียกบริการด้านนี้ว่า Public Cloud แต่ละเจ้าก็มีข้อดีแตกต่างกันไป
ซึ่งการมาถึงของ Cloud Computing ทำให้บริการสาย Data ต่าง ๆ ย้ายไปอยู่บน Cloud มากขึ้น และสามารถจัดเก็บข้อมูล (Data Storage) ได้แทบไม่จำกัด รวมถึงการประมวลผลข้อมูล (Data Processing) ที่ปรับขนาด Server ได้ตามต้องการ
ด้วยความที่การเริ่มทำงานกับ Data ทำได้ง่าย และมีความยืดหยุ่น (Flexible) สูง ทำให้เครื่องมือสาย Modern Data Stack เกิดขึ้นมามากขึ้น
Modern Data Stack มีข้อดีอย่างไร
ด้วยความที่ Modern Data Stack เกิดตามมาจาก Cloud Computing จึงมีการนำข้อดีของ Cloud Computing เข้ามาใช้ด้วยเยอะ
แต่แทนที่จะเป็นบริษัทยักษ์ใหญ่ที่ให้บริการเซิร์ฟเวอร์ประมวลผลได้แรง ๆ แบบ Amazon, Google, Microsoft ฯลฯ ก็เปิดช่องให้บริษัทเล็กที่ให้บริการเฉพาะเครื่องมือตัวใดตัวหนึ่ง เข้ามาในตลาดนี้ได้ด้วย
ข้อดีของเครื่องมือกลุ่ม Modern Data Stack มีเยอะมาก ผมสรุปออกมาเป็น 4 ข้อหลัก ๆ ดังนี้
1) Managed – เครื่องมือ Modern Data Stack มีคนดูแลให้
เครื่องมือสาย MDS ส่วนใหญ่จะเป็นบริการอยู่บน Cloud Computing (เรียกว่า SaaS หรือ Software as a Service) เรามีหน้าที่จ่ายรายเดือน แล้วคนที่เราเช่ามีทีมดูแลให้
เพราะฉะนั้นเวลาเกิดปัญหา เราไม่ต้องแก้เอง แต่ใช้วิธีเปิด Support Ticket ไปให้เจ้าของ SaaS มาจัดการแทน
อย่างไรก็ตาม เครื่องมือกลุ่ม MDS ส่วนหนึ่งจะมีเวอร์ชั่น Open Source ให้สามารถนำไปติดตั้งบนเซิร์ฟเวอร์ของตัวเองได้ ถ้าเลือกติดตั้งแบบนั้นจะต้องดูแลเอง
2) Scalability – เครื่องมือ Modern Data Stack รองรับการใช้งานทั้งเล็ก – ใหญ่
เครื่องมือ MDS มักจะใช้ระบบระดับโลก เช่น Snowflake เป็นบริการที่ติดตั้งบนเซิร์ฟเวอร์ของ Amazon Web Services, Google Cloud, และ Microsoft Azure
ทำให้บริษัทเล็กก็ใช้ MDS ได้ บริษัทใหญ่ก็ใช้ดี ขยายได้โดยไม่พัง ไม่ต้องกลัวล่มง่าย ๆ
3) Efficiency – เครื่องมือ Modern Data Stack ดูแลโดยทีมเล็กได้
ต่อจากข้อแรก เมื่อมีเจ้าของดูแลให้ ก็ใช้ทีมเล็ก ๆ ดูแลทั้งระบบได้ ทำให้เราสามารถนำ Engineer ไปดูแลโปรเจคอื่นได้ คนน้อยแต่ได้งานดีเหมือนทีมใหญ่เลย
(แต่อาจจะปวดหัวกับการคุย Support Ticket กับเครื่องมือต่าง ๆ แทน)
4) Flexible Pricing – เครื่องมือ Modern Data Stack ราคาไม่แรง
สิ่งที่น่าสนใจของเครื่องมือสาย MDS คือ ถึงข้อดีจะมีเยอะแยะมากมาย แต่ราคาไม่แรง และยุติธรรมมาก
ทำให้บริษัทเล็กก็สามารถเริ่มต้นทำงานกับ Data ได้ ยิ่งถ้าบริษัทเปิดใหม่ ข้อมูลไม่เยอะ ใช้น้อย ก็จ่ายแค่เท่าที่ใช้
ส่วนบริษัทใหญ่ Corporate / Enterprise ที่เติบโตแล้ว ข้อมูลเยอะ ใช้เยอะ ก็จ่ายเยอะเป็นธรรมดา
ตัวอย่างเครื่องมือกลุ่ม Modern Data Stack มีอะไรบ้าง – Fivetran, dbt etc.
หลังจากที่เราดูข้อดีของ MDS กันแล้ว มาดูกันว่ามีเครื่องมือตัวไหนให้เราใช้บ้าง
ตัวอย่างเครื่องมือกลุ่ม Modern Data Stack บางส่วนด้านล่างนี้ ผมแบ่งกลุ่มไว้ให้ และมีอธิบายเพิ่มเติมให้ด้วย สำหรับไปหาข้อมูลต่อได้
1) เครื่องมือ MDS กลุ่ม Data Orchestration
Data Orchestration ใช้ควบคุมการไหลของข้อมูล ซึ่งมีประโยชน์มากกับบริษัทขนาดเริ่มใหญ่ ที่ทำ Data Pipeline หลายตัว แล้วแต่ละตัวต้องมีการเชื่อมกัน เช่น ทำ A ก่อน ค่อยทำ B
ตัวอย่างเครื่องมือในกลุ่ม Data Orchestration:
- Apache Airflow (ใช้ฟรี)
- Prefect (ใช้ฟรี)
- Dagster (ใช้ฟรี)
2) เครื่องมือ MDS กลุ่ม Extract & Load (ELT แบบไม่มี T)
เครื่องมือสาย EL (Extract – Load) ใช้ดึงข้อมูล และเก็บข้อมูล แต่ไม่ทำการแปลงข้อมูล (ไม่ทำ Data Transform) เช่น ดึงข้อมูลจาก Facebook ไปเก็บใน BigQuery
ตัวอย่างเครื่องมือในกลุ่ม Extract & Load:
- Fivetran
- Airbytes (ใช้ฟรี)
3) เครื่องมือ MDS กลุ่ม Data Platform
Data Platform หมายถึง Data Warehouse ซึ่งใช้เก็บข้อมูลสำหรับนำมาวิเคราะห์ อาจจะเคยได้ยินกันในชื่อ Modern Data Platform
สำหรับคนที่สนใจเรื่อง Data Warehouse สามารถอ่านเพิ่มเติมได้ที่บทความ ความแตกต่างระหว่าง Data Lake vs Data Warehouse vs Database
ตัวอย่างเครื่องมือในกลุ่ม Data Platform:
- Google BigQuery
- Snowflake
- Databricks
- Azure Synapse Analytics
4) เครื่องมือ MDS กลุ่ม Data Transformation
การทำ Data Transformation คือ การแปลงข้อมูลให้อยู่ในรูปแบบที่นำไปใช้ต่อได้ง่าย
ตัวอย่างเครื่องมือในกลุ่ม Data Transformation:
- dbt (ใช้ฟรี)
- Dataform
5) เครื่องมือ MDS กลุ่ม Data Analysis & Visualization
การทำ Data Analysis & Data Visualization เป็นการนำข้อมูลมาวิเคราะห์เพื่อให้เกิดประโยชน์ หรือนำข้อมูลมาทำโมเดล Machine Learning แล้วนำแสดงผลให้อ่านง่าย
ตัวอย่างเครื่องมือในกลุ่ม Data Analysis & Visualization:
- Dataiku
- Amazon Sagemaker
- Looker
- Looker Studio / ชื่อเก่า คือ Google Data Studio (ใช้ฟรี)
- PowerBI
- Tableau
- Apache Superset (ใช้ฟรี)
หมายเหตุ: เครื่องมือตัวที่เขียนว่า “ใช้ฟรี” จะสามารถใช้ได้ฟรี 100% ส่วนใหญ่เป็นแบบ Open Source คือดาวน์โหลดมาติดตั้งเองได้เลยส่วนเครื่องมือที่ไม่ได้เขียนว่าใช้ฟรี ส่วนใหญ่จะมีแพลนฟรีสำหรับลูกค้าที่ใช้น้อย ๆ เช่น Fivetran มีตัวฟรีให้ใช้สำหรับองค์กรที่ข้อมูลน้อย ๆ
Modern Data Stack กระทบกับสาย Data อย่างไร
อ่านมาถึงตรงนี้ อาจจะเห็นว่ามีเครื่องมือใหม่ ๆ มากมาย แล้ว Modern Data Stack มันสำคัญยังไง จะกระทบกับสาย Data อย่างไรมั้ย?
ยุคก่อนมี Modern Data Stack: การสร้าง Data Platform เป็นงานของ Data Engineer ทีมเดียว
ส่วนการใช้ Data Platform จะเป็นงานของ Data Analyst
ซึ่งจะเห็นว่า DA กับ DE แยกงานกันชัดเจน โดยที่ Data Analyst ไม่ได้ไปแตะในส่วนการสร้าง Data Platform เลย
ในยุคหลังจากมี MDS และ Analytics Engineer (AE) เกิดขึ้นแล้ว ซึ่ง AE กลายมาเป็นคนที่เชื่อม DE กับ DA เข้าด้วยกัน
ส่วน MDS จะช่วยให้อาชีพนอกเหนือจาก DE สามารถช่วยในการสร้าง Data Platform ได้ด้วย
งานสร้าง Data Platform จะไม่ใช่งานของแค่ DE อีกต่อไป แต่เป็น DE + AE + DA รวมพลังกัน เพื่อให้งาน Data ออกมาดีมากขึ้น
สรุป Modern Data Stack คืออะไร บริษัทท่ี่ทำงานกับ Data ควรใช้มั้ย
Modern Data Stack เป็นกลุ่มเครื่องมือทำงานกับ Data สมัยใหม่ ที่ช่วยให้งานของสาย Data ทำงานได้รวดเร็ว และง่ายขึ้น เหมาะมากกับองค์กรที่
- องค์กรที่เพิ่งเริ่มต้นทำงานกับ Data งบอาจไม่สูงมาก และทีมยังขนาดเล็ก ก็ใช้พลังของ Modern Data Stack ทำงานได้ไม่แพ้ทีมใหญ่ ๆ
- หรือ องค์กรที่มีข้อมูลเยอะแล้ว และมีทุนระดับหนึ่ง เพราะพอข้อมูลเยอะขึ้น งาน Data เยอะมากขึ้น ค่าใช้จ่ายของ Modern Data Stack ก็จะสูงมากยิ่งขึ้น (แต่รวมแล้วอาจจะถูกกว่าตั้ง Server แบบ On-Premise + ใช้่ทูลฟรี + จ้างทีมใหญ่เข้ามาดูแล อันนี้แนะนำให้ลองประเมิณดูครับ)
เครื่องมือกลุ่ม Modern Data Stack ในปัจจุบันมีให้เลือกเยอะมาก และเกิดขึ้นใหม่แทบจะตลอดเวลา ซึ่งครอบคลุมตลอดการทำงานของ Data ได้แก่
- Data Orchestration
- Extract & Load (EL ใน ELT)
- Data Platform
- Data Transformation
- Data Analysis & Data Visualization
หวังว่าบทความนี้จะช่วยให้เพื่อน ๆ รู้จักกับ Modern Data Stack และเครื่องมือต่าง ๆ เพิ่มขึ้นนะครับ และหากบทความนี้มีประโยชน์ อยากรบกวนช่วยแชร์ เพื่อส่งต่อความรู้นี้ให้เพื่อน ๆ ด้วยครับ
และถ้าชอบเนื้อหาแนวนี้ ติดตามบทความดี ๆ ด้าน Data และวีดิโอสนุก ๆ ดูชิล ๆ แล้วได้ความรู้กันได้ที่ Facebook Page: DataTH และ Youtube Channel: Data Science ชิลชิล ครับ แล้วเจอกันครับ