Use Case | Data Warehouse Centralized Database Project 

[เรียบเรียงจาก บทสัมภาษณ์ของทีมงานไซเจ็น]

จุดเริ่มต้นของโปรเจกต์ Data Warehouse Centralized Database Project 

เริ่มแรกเลยลูกค้าของเราเป็นบริษัทต่างชาติ ที่มีบริษัทลูกอีกกว่าหลายสิบบริษัท โดยข้อมูลของลูกค้าจะถูกเก็บแล้วก็สร้างรายงานอยู่บนระบบ SAP เช่น BW (Business Warehouse) และ BO (BusinessObjects) แต่ด้วยความที่พนักงานที่จะเข้ามาจัดการข้อมูลเหล่านี้มีไม่เพียงพอ ลูกค้าเลยต้องการย้าย Data Warehouse มาที่ SQL Data Warehouse แทน และรายงานก็ยกไปสร้างใน Microsoft Power BI แทน 

ซึ่งผู้ใช้งานของเขาก็ยังคงเก็บข้อมูลไว้ที่ SAP เหมือนเดิม แต่ว่าในทุกๆ วัน เวลาที่มีการอัปเดต ทีมงานเราจะตั้งเวลาไว้ในช่วงที่ไม่มีคนใช้งาน ให้ระบบดึงข้อมูลออกมาจาก SAP เข้าไปใน SQL Data Warehouse จากนั้นผู้ใช้งานก็จะใช้ข้อมูลเหล่านั้นนำไปสร้างเป็นรายงานและดู Dashboard บน Power BI อีกที 

XtractIS ความต้องการของลูกค้า และความท้าทายของทีมงาน 

ในโปรเจกต์นี้มีการใช้เครื่องมือสองตัวเข้ามาใช้ในการย้ายข้อมูล ซึ่งก็คือ SSIS และ XtractIS สำหรับตัว XtractIS เป็นเครื่องมือที่ลูกค้าขอมาเลยเพราะเป็นสิ่งที่เขามีอยู่แล้ว มันก็ถือว่า เป็นความท้าทายของทีมงานเลยแหละ เพราะเป็นเครื่องมือถือไม่ได้ใช้กันแพร่หลาย และมีข้อจำกัดหลายอย่างมากๆ แต่ทีมงานก็ต้องพยายามหาวิธี Work Around เพื่อให้ย้ายข้อมูลได้สำเร็จตามที่ได้วางแผนไว้ 


“มีข้อจำกัดหลายอย่างมากๆ แต่ทีมงานก็ต้องพยายามหาวิธี Work Around เพื่อให้ย้ายข้อมูลได้สำเร็จตามที่ได้วางแผนไว้”


สำหรับการทำงาน ตัวอย่างเช่น ใน SAP จะมี Table ซึ่งในบาง Table จะมีการเก็บข้อมูลไว้เยอะมาก สมมติว่า เดือนหนึ่งอาจจะเป็น 10 ล้านรายการ และถ้าเก็บมา 5 ปี ก็คูณ 5 เข้าไปอีก ซึ่งตอนที่เราดึงมา เราจะดึงมา 5 ล้าน Record ต่อวัน นี่คือสิ่งที่เราแพลนไว้ แต่ว่าความจริงแล้วเราไม่สามารถดึงทั้ง 5 ล้าน Record มาได้ เพราะข้อมูลมีจำนวนมากเกินไป XtractIS ไม่สามารถรองรับได้ ตรงนี้ก็ถือว่า ท้าทายสำหรับทีม และจะต้องหาทางออกให้เร็วที่สุด

ซึ่งเมื่อทีมได้ปรึกษากันแล้ว วิธีที่เราใช้ก็คือ เราเลือกที่จะไปเปลี่ยน Logic ของกระบวนการต่างๆ เช่น ETL (Extract, Transform, Load) จากปกติที่เราใช้เพียงหนึ่งกระบวนการ เราก็เปลี่ยนไปใช้หลายกระบวนการแทน เท่ากับว่าแทนที่ในหนึ่งกระบวนการต้องประมวลผล 5 ล้าน Record ทีเดียว ก็แบ่งเป็น 10 กระบวนการ แล้วในแต่ละกระบวนการดึงมา 5 แสน Record แทน ทำให้ยังคงได้ผลลัพธ์ตามความต้องการของลูกค้า และทีมงานก็ทำงานต่อได้อย่างราบรื่น 

เริ่มต้นใหม่ และลุกกลับขึ้นมาอย่างแข็งแกร่งอีกครั้ง 

ระหว่างที่ทำโปรเจกต์ ต้องยอมรับเลยว่าได้เจอ Lesson Learned ที่สำคัญมากๆ แต่เรามองข้ามไป ซึ่งก็คือการคุยเก็บ Requirement กับพนักงานไอทีของลูกค้าแค่ฝ่ายเดียว แต่ตามความเป็นจริงแล้วเราควรมีการพูดคุยกับผู้ใช้งานตัวจริงด้วย ซึ่งอาจจะเป็นพนักงานแผนกบัญชี หรือฝ่ายที่ดูแลธุรกิจต่างๆ ที่ไม่ได้ยุ่งเกี่ยวกับโปรแกรมทางเทคนิคโดยตรง ทำให้มีการเปลี่ยน Requirement เกิดขึ้น เหตุการณ์นี้จะส่งผลกระทบต่อระยะเวลาการทำงานได้ เมื่อเรารู้ตรงจุดนี้แล้ว และมีการพูดคุยกับทั้งไอที และผู้ใช้งานจริง ผลลัพธ์ที่ออกมาก็ตรงความต้องการของลูกค้า รวมถึงเราก็ยังได้เอาบทเรียนนี้ไปใชในการทำโปรเจกต์ที่คล้ายๆ กันของบริษัทลูกของลูกค้า ซึ่งถือว่า เป็นไปได้อย่างราบรื่นมาก จนแทบไม่เจอปัญหาเลย


ด้วยความที่บริษัท ZyGen ให้บริการเกี่ยวกับการปรึกษาทางด้านไอที ทำให้เราได้พบกับโปรเจกต์ที่มีความหลากหลาย บางโปรเจกต์ก็ไม่ยากจนเกินไป บางโปรเจกต์ก็ท้าทายความสามารถของทีมงานเป็นอย่างมาก เช่นโปรเจกต์ Data Warehouse Centralized Database ของเราในครั้งนี้ แต่ทุกความท้าทายก็ช่วยให้ทีมงานของเราเติบโต และส่งมอบบริการที่ดียิ่งขึ้นให้กับลูกค้าในโปรเจกต์ต่อๆ ไป 

สนบริการทางด้าน Big Data และการจัดการฐานข้อมูลอื่นๆ ติดต่อสอบถาม ZyGen

แชร์ :
Scroll to Top