Analytics Engineering ต่างกับ Data Engineering อย่างไร?

พอดีมีคำถามในเพจ Data Engineer Cafe เกี่ยวกับหัวข้อนี้ ผมขอเอามาตอบในนี้ด้วย แล้วก็อยากชวนทุกคนมาคอมเม้นต์เสริมกันด้วยนะครับ หรือถ้ามีคำถามเพิ่มเติมก็ยินดี :kissing_closed_eyes:

คำว่า analytics engineering ตามความเข้าใจของผมนะ อ้างอิงจากนิยามคือการที่เรานำเอา software engineering practices ต่าง ๆ เข้ามาในส่วนของ analytics ครับ เช่น เป็น ambassador ของข้อมูล การออกรายงาน การเตรียมชุดข้อมูลเอาไว้ขุดหา insights ต่าง ๆ รวมไปถึงการเตรียมข้อมูลสำหรับ data scientists มาหยิบเอาไปทำโมเดลต่อ

แน่นอนว่างานแนว analytics engineering จะรวมไปถึงการเขียนเทส การ deploy โค้ด การเขียน docs การทำ version control ด้วยเช่นกัน

แล้วทีนี้ data engineering จะไปอยู่ส่วนไหน? จริง ๆ ถ้า scale ของเราไม่ได้ใหญ่มาก ส่วนที่กล่าวมาด้านบนก็คือส่วนของ data engineering ครับ แต่เมื่อไหร่ก็ตามถ้า scale ใหญ่ขึ้นมามากเมื่อไหร่ data engineering จะเริ่มไปในเชิงการวางระบบ วางแพลตฟอร์มต่าง ๆ เพื่อรองรับ big data และทำ data tools/products ออกมา ทีนี้จะไม่ได้มีเวลามา focus ในส่วนของการเตรียมข้อมูลต่าง ๆ ให้กับ data scientists ล่ะ ตรงนี้ก็จะเกิด role ใหม่ขึ้นมาเป็น analytics engineer ครับ ที่มา focus และช่วยในการเตรียมข้อมูล และการขุดหา insights

ทั้งนี้ทั้งนั้น ที่เกิด analytics engineering ได้ เป็นเพราะว่าเราสามารถทำ ELT (extract-load-transform) ซึ่งจะโหลดข้อมูลดิบ ๆ เข้าไปใน data warehouse ได้ แล้วไปทำ transformation บนนั้น แทนที่จะทำ transformation ก่อนโหลด (ETL) เข้าไปครับผม

แอบขายของ อิอิ ผมเคยไปพูดในงาน dev mountain เกี่ยวกับ analytics engineering ไว้ ลองดูได้ครับ :laughing:

1 Like

แหม่ จังหวะเหมาะมาก เพราะสิ่งนี้เริ่มเกิดแล้ว 555

1 Like

บทความนี้ก็อธิบายความแตกต่างได้ดีนะ สั้น ๆ ไม่ยาวมากครับ

อยากรู้เหมือนกันครัช แฮ่