วันนี้ที่งาน AWS re:Invent 2022 Adam Selipsky ซีอีโอของ AWS ได้พูดถึงแนวทางการจัดการข้อมูลที่น่าสนใจ คือ “Zero ETL” เขาบอกว่าลูกค้าต่างมีข้อมูลที่กระจัดกระจาย เช่นแอพดึงข้อมูลจาก database และดึงข้อมูลอีกส่วนจาก data lake ซึ่งการนำข้อมูลมาใช้ปกติต้องผ่านกระบวนการที่เรียกว่า ETL (Extract, Transform, Load) เพื่อให้ข้อมูลพร้อมใช้งาน และการทำ ETL ก็ใช้เวลาเยอะ แถมยังยากอีกด้วย
Adam ระบุว่า AWS พยายามออกบริการต่างๆ มาให้ลูกค้าเพื่อให้การทำ ETL นั้นง่ายที่สุด แต่อย่างไรก็ยังเสียเวลาอยู่ดี AWS จึงเลือกทางเดินสู่ Zero ETL หรือไม่มีการทำ ETL เลย ในการนี้จึงประกาศว่า Amazon Aurora กับ Amazon Redshift จะทำงานร่วมกันได้โดยไม่ต้องทำ ETL
Aurora คือบริการฐานข้อมูลแบบ relational ที่ AWS พัฒนาขึ้นจากเทคโนโลยีฐานข้อมูลที่เป็นโอเพนซอร์สอย่าง MySQL และ PostgreSQL โดยโฆษณาว่ามีประสิทธิภาพสูงกว่าการใช้ MySQL/PostgreSQL เดิมๆ
Redshift คือบริการ data warehouse สำหรับวิเคราะห์ข้อมูลจำนวนมหาศาล ซึ่งการนำข้อมูลที่อยู่ใน Aurora เข้ามาวิเคราะห์ก็ต้องพัฒนา pipeline ขึ้นมาเพื่อเชื่อมข้อมูลทั้งสองที่เข้าด้วยกัน และมักมีค่าใช้จ่ายสูง ต้องเขียนโค้ดและดูแลเอง
การเปิดตัว Zero ETL ระหว่าง Aurora และ Redshift คือการเชื่อมข้อมูลแบบไร้รอยต่อ โดยข้อมูลที่ไหลเข้า Aurora จะไหลต่อเข้า Redshift เกือบจะทันที (หลักวินาที) ซึ่งลูกค้าสามารถเริ่มการวิเคราะห์ข้อมูลบน Redshift ได้เลย หรือจะใช้ฟีเจอร์ขั้นสูงอย่าง Redshift ML ก็ได้ เชื่อมกับ Aurora หลายตัวก็ได้ แถมยังทำงานแบบ serverless คือเรียกใช้งานก็คิดเงิน ถ้าหยุดทำงานก็หยุดคิดเงิน ไม่ต้องดูแลเอง
นอกจากนี้ยังประกาศว่า Redshift จะทำงานร่วมกับ Apache Spark เฟรมเวิร์คสำหรับงาน big data โดยสามารถรันคิวรี่ Spark บนข้อมูลที่อยู่ใน Redshift จาก EMR, Glue และ SageMaker ได้เลย ไม่ต้องเอาข้อมูลไปลง S3 ก่อน รองรับภาษา Java, Python, R และ Scala และยังโฆษณาว่าการรัน Spark บน AWS นั้นเร็วกว่ารันเดิมๆ ถึง 3 เท่า
บริการ Zero ETL ระหว่าง Aurora และ Redshift อยู่ในสถานะพรีวิว ขอทดลองใช้ผ่าน แบบฟอร์ม มีเฉพาะรีเจี้ยน US East (N. Virginia) ส่วนการทำงานร่วมกันระหว่าง Redshift และ Spark เปิดให้ใช้งานอย่างเป็นทางการเลย
ที่มา - AWS re:Invent 2022
ภาพทั้งหมดโดย Blognone
Comments
Redshift ก็แพงมากเด้อ 555
มือใหม่!! ใหม่จริงๆนะ
ความรู้สึกเหมือนมันไม่ใช่ zero ETL แต่มันเหมือนอะไรพวก copy /transfer data แบบ realtime มากกว่าปล. ไม่เคยใช้ aws แค่คิดเอาเอง
แบบนั้นแหละครับ คือเหมือนทำ Real Time Replication เข้า Staging Areaอาจจะช่วยลด ETL/ELT ได้ hop การจัดการ Incremental Load เข้า ใน Hop แรกครับ
ปกติ Real Time Replication แบบนี้มันจะเป็น 3rd Party Tools ที่แพงเลย (tools ฟรีมีแต่ต้องมี Kafka)
ถ้ามีแบบนี้ต่อไปจะ Deliver use-case Near Real Time ก็สามารถทำได้ง่ายขึ้นครับ
แต่จะบอกว่า Zero ETL น่าจะยังไม่ใช่ครับ เพราะเข้า Redshift มาก็ต้องมา ETL/ELT ต่ออยู่ดีครับ
แค่ไม่ต้องใช้ Glue มากั้นก็ประหยัดไปหลายบาทละครับ หวังว่า near zero ETL อันนี้จะ support Glue Catalog/ LakeFormation โดยอััตโนมัติ ไม่งั้นต่อให้ Auto Replicate ก็หนีไม่พ้นต้องเอาไป register manual อยู่ดี