DEV Community

Discussion on: 5 Challenges ในการสร้าง Production-Grade Data Pipeline

Collapse
 
zkan profile image
Kan Ouivirach

Cron job นิยม host ไว้ที่ไหนครับ มีค่าใช้จ่ายไหม

ถ้าเรามี job ไม่ได้เยอะเท่าไหร่ก็จะ host กันไว้ที่เครื่องนั้นๆ เลยครับ แต่ส่วนใหญ่จะเป็นแยกเครื่องออกมาสัก 1 เครื่อง แต่จะเริ่มมีปัญหาตอนที่มี job มากขึ้นเรื่อยๆ แล้วมี dependency เกิดขึ้นระหว่าง job ตรงนี้เอา technology อื่น อย่างเช่น Airflow เข้ามาใช้น่าจะช่วยแก้ปัญหาได้ครับผม

มีค่าใช้จ่ายครับ ถ้าอยากใช้ฟรี ตอนนี้ผมนึกออกแค่ Heroku Scheduler

Data warehouse ต้อง backup บ่อยแค่ไหม

ถ้าใช้พวก cloud provider ก็อาจจะไม่ค่อยบ่อยได้ครับ 3 วันครั้งก็พอไหวอยู่ หรืออาทิตย์ละครั้ง แล้วค่อยๆ ปรับเอา แต่ถ้า host เองผมว่าช่วงแรกน่าจะบ่อยหน่อยครับ

Data warehouse ต้องไม่ให้เป็น single point of failure ไหม distributed ยังไง host ที่ไหน

ถ้าไปใช้ data warehouse แล้ว จะไปท่า distributed ซะเป็นส่วนใหญ่ครับ (ขนาดของข้อมูลใหญ่พอประมาณ ช่วยเรื่องประมวลผล แล้วก็กัน single point of failure) เรื่อง host นี่ไป host ที่ cloud provider ดีแล้วใช้เป็น managed service ครับ จะลดความปวดหัวไปได้เยอะ

Design schema / schema management ทำยังไง นิยม NoSQL ไหม ประเภทไหนดี

นิยม NoSQL ครับ cost ต่ำสุดทำเป็น JSON แล้วจัดการเองอาจจะพอได้อยู่ครับ ผมเห็นส่วนใหญ่เค้าจะใช้ Apache Avro หรือไม่ก็ Protobuf ครับ ปกติผมจะเขียน script ง่ายๆ เช็ค column ถ้าเจอการเปลี่ยนแปลงก็แจ้งเตือนไรงี้ แต่ถ้าเป็นแนว Kafka ก็ใช้ schema registry ของมันเอง (Avro)

Payoff แค่ไหน turn to profit ยังไง

อันนี้ตอบลำบากเลยครับ เป็นแชร์ประสบการณ์ดีกว่า ผมอยู่ในสถานการณ์ที่ต้องคิดเรื่องนี้ คุยเรื่องนี้กับ business อยู่บ่อยๆ ส่วนใหญ่จะลงเอยด้วยปรับเป็น low priority เรื่องนี้ค่อนข้างยากถ้าฝั่ง business ไม่เข้าใจเรื่องพวกนี้ การคุยเรื่องพวกนี้ที่ผ่านมาถ้าผมอธิบายเริ่มจาก data pipeline ขึ้นไป drive business ก็ไม่ค่อย work เท่าไหร่ แต่ถ้าพูดคุยเรื่อง business โดยตรงเลย แล้วค่อยพูดถึง data ที่จำเป็นต้องมี ก็จะคุยง่ายขึ้น ทีนี้ก็จะคิดเรื่อง profit คิดเรื่อง cost กันต่อได้ครับ

ที่ผมคิด cost คร่าวๆ ก็ประมาณ technology อะไร? ใช้คนประมาณกี่คน? มี timeline เป็นอย่างไร นานแค่ไหน ถึงจุดไหนที่จะเริ่มเห็น data ไหลเข้ามา แล้วเค้าเริ่มเอาไปตั้งคำถามได้ จุดที่จะ turn to profit สำหรับผมคิดเมื่อ business ได้รู้อะไรใหม่ๆ จากข้อมูลที่ไหลเข้ามาครับ

ไม่แน่ใจว่าตอบคำถามบ้างไหม >_< ร่วมพูดคุยกันต่อได้นะครับ ขอบคุณครับบ~