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:

2 Likes

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

1 Like

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

1 Like

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

นี่แสดงว่า only ELT เท่านั้น ถึงจะมี analytics engineer ใช่มั้ยครับ

จริง ๆ ETL ทำได้เช่นกันครับ คือ transform แล้ว load เข้า data warehouse เสร็จแล้วทำ analytics engineering ต่อ

ผมคิดว่าที่ผมเขียนไปประมาณว่า ELT ทำให้ทำ analytics engineering ได้ ขอแก้เป็น ETL ทำให้เกิดแนวคิดแบบ analytics engineering ขึ้นมานะครับ

ขอบคุณที่ทักถามมานะครับบ :heart_eyes:

1 Like

เอาจริงๆ มันก็ไม่ได้เป็น ELT/ETL แล้วจบ ส่วนใหญ่จะเป็น ELTLTLTLTLTLTL :joy:

แต่มันก็ mix & match ระหว่างทางได้ ขึ้นอยู่กับการใช้แต่ละรูปแบบ

3 Likes

บทความนี้ก็เขียนไว้อ่านง่ายดีครับ

2 Likes

ส่วนตัวคิดว่า Analytics Engineering โฟกัสด้าน Analytics มากกว่าตามชื่อ และมีทูลสมัยใหม่ (Modern Data Stack: Modern Data Stack คืออะไร? เครื่องมือ Data สมัยใหม่ที่ SME / Startup - Corporate นิยมใช้กันทั่วโลก - เข้าใจ Data ง่าย ๆ กับ DataTH) เลยทำให้งาน AE ใช้ทูลช่วยได้เยอะ ไม่ต้องเขียนโค้ดหนัก ๆ

แต่ถ้าคำถาม คือ Analytics Engineer vs Data Engineer จากประสบการณ์จริงที่เป็นตำแหน่ง AE ใน Startup ที่ค่อนข้างใหญ่ เลยเห็นว่ามันเป็นแค่ Job Title ซึ่งก็ทำสลับกันไปมาได้ครับ แล้วแต่ บ ไหนเรียกอะไร

2 Likes