Kafka คืออะไร?
13 มี. ค.
Get problem ตั้งปัญหา ตรงนี้เราจะได้โจทย์จากทางธุรกิจ เช่น ที่ผมเคยไปรับงาน consult ให้กับลูกค้ารายนึง เค้าบอกผมว่า เค้าอยากจะลดอุบัติเหตุจากการขนส่ง ทีนี้เราในฐานะ Data scientist ก็ต้องแปลงโจทย์ทางธุรกิจให้เป็นโจทย์ในการสร้าง model ทำนาย นั่นก็คือ เราจะสร้างระบบทำนายถึงความเสี่ยงของการอุบัติเหตุ เพราะถ้ารู้ว่าการส่งของครั้งไหนมีความเสี่ยงเราก็อาจจะหลีกเลี่ยงไม่ส่งสินค้า หรือไม่ก็เอาคนขับเทพ ๆ มาขับแทน หรือไม่ก็จัดเทรนนิ่ง หรือเพิ่มกฏต่าง ๆ พูดง่าย ๆ คือถ้าทำนายเหตุการณ์ได้ และพอจะรู้สาเหต ุเราก็จะแก้ปัญหาได้ b.
Reduce hot-spotting and workload patterns พยายามหลีกเลี่ยง hot-spotting โดยการปรับโครงสร้างของ Data ให้มี access patterns ที่กระจายโหลดออกไปเท่าๆ กันในทุกๆ node พยายามลด activity ที่จะเป็นการ lock ข้อมูล 6. Implement autoscaling and resource planning การที่ระบบมีการใช้งานสูงกว่าปกติในช่วงสั้นๆ เป็นเรื่องปกติ อาจจะเกิดจากการโฆษณาหรือมีโปรโมชั่น ทำให้คนเข้ามาเยอะ เราเรียกลักษณะนี้ว่า Spike แต่ Spike อาจทำให้ระบบไม่เหลือ resource และใช้งานไม่ได้ การทำ autoscaling จะช่วยให้ระบบสามารถทำงานต่อได้ หากเกิด Spike ต้องทำ capacity planning และเตรียม resouce ไว้ เพื่อให้แน่ใจว่าเมื่อถึงเวลาเรามี resource สำหรับระบบที่ขยายตัวเพิ่มขึ้น 7. Adhere to access control and security policies หลีกเลี่ยงการเก็บข้อมูลส่วนบุคคล (PII) ในที่เก็บชั่วคราว และต้องมีการเข้ารหัส (encrypt) ทุกครั้ง จำกัดสิทธิ์การเข้าถึง Data ของ Data pipeline แต่ละ stage ให้แค่เพียงพอที่จะ extract output จาก stage ก่อนหน้าเท่านั้น กำหนด Time-to-Live (TTL) ของ logs และข้อมูลส่วนบุคคล 8. Idempotent and two-phase mutations Data ต้องสามารถถูก reprocess ซ้ำได้โดยยังได้ผลลัพธ์เหมือนเดิม ไม่เกิดข้อมูลซ้ำซ้อนหรือข้อมูลผิดขึ้นมา *ข้อนี้สำคัญมาก ยิ่งข้อมูลเยอะยิ่งสำคัญ* เราสามารถทำได้โดยทำเป็น two-phase mutations อย่างรูปด้านล่าง from — อธิบายอย่างง่ายๆ คือ ให้ดึง Data จาก Source มาแปลงแล้วเขียนลง Staging Storage ก่อน และจะเขียน Data ใน Destination จริงๆ เมื่อผ่านการ validate แล้วเท่านั้น 9.
Plan for dependency failures เมื่อ Define SLO แล้ว ให้ดูด้วยว่า product ที่เรา depend นั้น meet SLO เราด้วย ใน case ของ Data Pipeline, product พวกนี้อาจจะเป็น Data Source ที่เราต้อง extract ข้อมูลมาหรือเป็น Pub/Sub system ที่เราใช้เชื่อม event เราต้องพยายามออกแบบ Data Pipeline เผื่อไว้ว่า dependency พวกนี้ fail ด้วย " Even the best products will fail and experience outages " ข้อนี้ชอบมากขอไม่แปลนะครับ 555 มีการทดสอบ Disaster Recovery และฝึกกู้ระบบเป็นประจำ เพื่อเวลามีปัญหาจะได้รับมือได้ ประเมิน dependency พวกนี้ และพยายามทำ Data Pipeline เรา automate response ให้ได้มากที่สุด 3. Create and maintain pipeline documentation อันนี้ทำแล้วประโยชน์ตรงตัว แต่ในหนังสือแนะนำ document ที่ควรทำ 3 แบบ คือ System diagrams — เช่น from — Process diagrams — เช่น ขั้นตอนการ release pipeline ขึ้น production หรือวิธีการ automate document Playbook entries — ต้องมีคู่มืออธิบาย steps ในการแก้ไขในแต่ละ alert condition 4. Map your development lifecycle Development Lifecycle ของ Data Pipeline จะถูก map ตาม stage เหล่านี้ Prototyping Testing with a 1% dry run Staging Canarying Performing a partial deployment Deploying to production from — 5.
#พิเศษ สำหรับบุคคลทั่วไป ลดทันที 2, 000 บาท (ถึง 5 ธ. ค. นี้) และเข้าร่วมโครงการ #ช้อปดีมีคืน!! #หรือ สมัคร 2 ท่านขึ้นไป ลดทันทีท่านละ 2, 000 บาท!! (ทั้งในนามองค์กร และบุคคล 😁). 🚀ถ้าคุณคือ... #DataEngineer ที่อยากพัฒนาทักษะการจัดการข้อมูลให้ดีขึ้น #DataScientist ที่ไม่รู้ว่าจะดึง และคัดกรองข้อมูลดิบอย่างไรให้ได้ตามที่ใจต้องการ #SoftwareEngineer หรือ #BackEndDeveloper ที่ต้องการพัฒนาฟังก์ชั่นการเก็บข้อมูลในซอฟต์แวร์ #หรือ สนใจทำสาย #Data และมีทักษะการเขียนโปรแกรม และอยากรู้เคล็ดลับการจัดการข้อมูลให้มีประสิทธิภาพแบบนี้ มาเจอกันได้เลย 🔥🔥.. 💻 Automating Your Data Pipelines with Apache Airflow รุ่นที่ 3 💻 📅 ส. 12 - อา. 13 ธ. 🕘 เวลา 09. 30 - 17. 00 น. 🏫 Skooldio Space, MBK Tower, BTS สนามกีฬาฯ. #Skooldio #DataPipeline #ApacheAirflow
ศ. เป็น ค. )