เจาะลึกทุกขั้นตอน การทำ Data Migration ไปยัง Open Source มาแรงอย่าง PostgreSQL

ยุคนี้ข้อมูลจำนวนมหาศาลเกิดขึ้นใหม่ทุกวัน เคยสงสัยบ้างไหมว่าองค์กรต่างๆ นำข้อมูลเหล่านี้ไปจัดเก็บไว้ที่ไหนกัน คงไม่ใช่การลงทุนซื้อ Storage เพิ่มไปเรื่อยๆแบบไม่มีที่สิ้นสุดแน่นอน เมื่อไรก็ตามที่องค์กรมีข้อมูลเพิ่มขึ้น หรือต้องการอัปเกรดระบบจัดเก็บข้อมูล เราจำเป็นต้องมีการปรับเปลี่ยนระบบ Database และย้ายข้อมูลจาก Database เดิมไปยังที่ใหม่ หรือที่เราเรียกกันว่า การทำ Data Migration เพื่อการจัดเก็บ ใช้งาน และบริหารจัดการฐานข้อมูลที่มีประสิทธิภาพยิ่งขึ้น

แต่การโอนย้ายฐานข้อมูลทั้งก้อนไม่ใช่เรื่องง่ายเหมือนการย้ายไฟล์ระหว่างโฟลเดอร์ เพราะหากเลือกใช้ระบบที่ไม่เหมาะสม อาจเกิดความเสียหายต่อ Database และข้อมูลสำคัญขององค์กรได้ ดังนั้นจึงต้องมีการวางแผน หรือปรึกษาผู้เชี่ยวชาญก่อนตั้งแต่ต้น

 

 

การทำ Data Migration สำคัญอย่างไร 

องค์กรขนาดกลาง – ใหญ่มักมีการจัดเก็บชุดข้อมูลจำนวนมาก เช่น ฐานข้อมูลบริษัท ลูกค้า และพนักงาน ไว้ภายในระบบ Database ไม่ว่าจะเป็นบนเซิร์ฟเวอร์หรือคลาวด์ก็ตาม แต่หากไม่มีระบบจัดการ Database ที่ดี ข้อมูลเหล่านี้อาจปะปน ไม่เชื่อมโยงกัน และไม่สามารถนำมาใช้งานได้อย่างมีประสิทธิภาพ 

เพื่อให้ข้อมูลทุกอย่างเชื่อมโยงเป็นหนึ่งเดียวและอัปเดตแบบ Real-time การ Migrate ไปยังระบบ Database ใหม่ที่ตอบโจทย์ และรองรับซอฟต์แวร์ หรือระบบบริหารจัดการชุดข้อมูลจึงเป็นสิ่งจำเป็น เพราะจะช่วยให้พนักงานแต่ละฝ่ายภายในองค์กรสามารถดึงข้อมูลออกมาทำงานได้อย่างง่ายดาย และเป็นระบบมากที่สุด ผู้บริหารเองก็จะเห็นภาพรวมของข้อมูลทางธุรกิจทั้งหมดด้วยเช่นกัน

 

การทำ Data Migration แบ่งเป็นกี่ประเภท

การทำ Data Migration นั้นจะมีอยู่ 2 ประเภทหลัก ๆ ด้วยกัน นั่นก็คือ การใช้งานซอฟต์แวร์แบบ Commercial และแบบ Open Source โดยในปัจจุบัน ซอฟต์แวร์แบบ Open Source อย่าง PostgreSQL ได้รับความนิยมมากขึ้นเรื่อยๆ เนื่องจากสามารถเข้าไปใช้งานได้ฟรี มีความยืดหยุ่นสูง สามารถปรับแต่งฟังก์ชันได้ตามความต้องการ จึงทำให้ประหยัดค่าใช้จ่ายได้ในระยะยาว สำหรับ Blog นี้ เราจะพาไปวิเคราะห์ เจาะลึกถึงจุดเด่น และขั้นตอนการ Migrate Database ไปยัง PostgreSQL กันแบบละเอียดกันครับ

 

Data-migration

 

PostgreSQL คืออะไร

PostgreSQL คือ ระบบจัดการฐานข้อมูลเชิงวัตถุสัมพันธ์ หรือ Relational Database ที่สามารถใช้งานชุดคำสั่งและอ่านภาษา SQL ได้ โดยเป็นที่นิยมมากในปัจจุบัน เพราะบริหารจัดการง่าย ซิงค์และเรียกดูข้อมูลได้รวดเร็ว รองรับการใช้งานผ่านหลากหลายระบบปฏิบัติการ ทั้ง Linux, UNIX และ Windows ที่สำคัญคือเปิดให้ใช้งานฟรีแบบ Open Source ไม่มีค่าใช้จ่ายใดๆ เพิ่มเติม

จุดเด่นของ PostgreSQL2 

  • สามารถทดสอบ หรือรันใช้งานจริงแบบฟรีได้ก่อน จึงไม่จำเป็นต้องลงทุนสูงไปกับการ Migrate ฐานข้อมูลตั้งแต่ต้น
  • รองรับการทำงานร่วมกับแอปฯ BI (ระบบธุรกิจอัจฉริยะ) และเหมาะสำหรับการจัดการข้อมูล คลังสินค้า และแอปฯ ประมวลผลหรือวิเคราะห์ ที่ต้องการความเร็วในการอ่านและเขียนข้อมูล
  • ฟังก์ชันการทำงานออกแบบมาเพื่อการจัดการ ซิงค์ และค้นหาข้อมูลจำนวนมากๆ ที่มีความซับซ้อนสูง

 

Relational-database-data-migration

 

ขั้นตอนของการทำ Data Migration ไปสู่ PostgreSQL3 

1. การเตรียมตัวสำหรับการทำ Data Migration

1.1) รีวิวกันอีกสักรอบ ว่าเราต้องการ Migrate Database ด้วยวัตถุประสงค์ใด และลิส requirement ทั้งหมดออกมากางดูกัน

1.2) ทำ Application Assessment อย่างละเอียดก่อนว่า ตัว PostgreSQL ที่เรากำลังจะ Migrate ไป มีฟีเจอร์และประสิทธิภาพเพียงพอตามที่ต้องการหรือยัง (เทียบกับ pain point ที่พบเจอในระบบเดิม และฟังก์ชันใหม่ๆ ที่ต้องการอัปเกรด) เพราะอย่าลืมว่า ระบบใหม่ต้องสามารถเข้ามาทำงานแทนที่ Database เดิมทั้งก้อนได้แบบเสถียรสูงสุด สามารถเข้าไปเช็ค patch อัปเดตล่าสุดของ PostgreSQL ได้ที่นี่เลย

2. การวางแผนสำหรับการทำ Data Migration

ขั้นตอนนี้ต้องมีการรีวิวและเซ็ทอัป 2 ส่วนด้วยกัน ได้แก่

2.1)  Application สำหรับการทำ Migration 

หลังจากที่ได้ศึกษาหาข้อมูลของเจ้า PostgreSQL ดีแล้วว่าเหมาะสมและตอบโจทย์ requirement ของเรา ก็ถึงเวลาลงลึกไปทีละฟีเจอร์ภายในระบบ โดยทำเช็คลิสอย่างละเอียดว่ามีฟังก์ชันใด ที่มีความจำเป็นต้องปรับแต่ง หรือตั้งค่าใหม่หรือไม่ 

2.2)  เตรียม Workflow และสเปค สำหรับการทำ Data Migration 

โดยต้องพิจารณาในหลาย ๆ ส่วน ตั้งแต่ Schema Migration, Role Migration, Administrator, Extension, Storage ไปจนถึงการเลือกใช้เทคโนโลยีในการย้ายข้อมูล

เมื่อใส่ดีเทลเข้าไปในแต่ละขั้นตอนย่อยเรียบร้อยแล้ว อย่าลืมทำ Workflow Assessment อีกสักรอบ เพื่อเช็คว่าระบบใหม่ที่เตรียมอัปขึ้นนั้น สามารถใช้งานทดแทนระบบเก่าโดยที่ไม่กระทบต่อการใช้งานและการค้นหาเรียกดูข้อมูลของ User แน่นอนนะ เพราะถ้าเกิดปัญหาหลังจากที่ Migrate ไปแล้ว คราวนี้ต้องตามมาแก้ยิบย่อย และเพิ่มงานโดยไม่จำเป็นอีกด้วย

 

3. การลงมือทำ Database Migration

หลังจากที่มีการทำความเข้าใจและวางแผนระบบได้อย่างดีแล้ว ก็จำเป็นที่จะต้องมีการออกแบบและตั้งค่าระบบ เพื่อวางโครงสร้างของฟังก์ชันการทำงานให้ชัดเจน ไม่ว่าจะเป็นเรื่องของขนาดของระบบ, Workflow การทำงาน, วิธีการปกป้องข้อมูล และการสำรองหรือกู้คืนข้อมูล เพื่อให้มั่นใจว่าระบบจะรันได้อย่างเสถียร มีประสิทธิภาพสูงสุด และรองรับการขยายระบบในอนาคต

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

การทำ Application Migration ให้ระบบพร้อมใช้งาน จำเป็นที่จะต้องเตรียมระบบเพื่อย้ายฐานข้อมูลตั้งแต่เนิ่น ๆ  โดยต้องคำนึงถึง User Experience (UX) เป็นสำคัญ โดยภาพรวมของระบบต้องมีความ friendly ต่อ User ไม่เปลี่ยนแปลงรูปแบบการใช้งานมากนัก และมีความปลอดภัยสูง เช่น มีการกำหนดสิทธิ์การเข้าถึงข้อมูลเฉพาะบุคคล เพื่อไม่ให้ข้อมูลรั่วไหลสู่ภายนอก

 

4. การเก็บรายละเอียดก่อนส่งมอบงาน

ก่อนส่งมอบงานหรือนำระบบขึ้นใช้งานจริง จำเป็นที่จะต้องเตรียมรับ Feedback จาก User เกี่ยวกับจุดผิดพลาด และสิ่งที่จะต้องแก้ไขปรับปรุง เพื่อที่จะช่วยให้การทำงานในระยะยาวนั้น สามารถดำเนินไปอย่างราบรื่นและสมบูรณ์มากที่สุด

การทำ Database Migration สำหรับองค์กรเป็นเรื่องละเอียดอ่อนและสำคัญอย่างมาก เพราะจำเป็นที่จะต้องใช้ทั้งเวลาและระดมทรัพยากรบุคคล ในการวางแผน ค้นหาข้อมูล ไปจนถึงการออกแบบและนำไปใช้งาน การมีผู้เชี่ยวชาญด้าน IT ที่พร้อมให้บริการครบทุกด้าน จะเข้ามาช่วยในการให้คำปรึกษาตั้งแต่ต้นจนจบ Konica Minolta ผู้ให้บริการด้านไอทีครบวงจร พร้อมให้การดูแล ให้คำปรึกษา และช่วยวางแผนให้การ Migrate database เป็นไปตามระยะเวลาและตรงกับความต้องการมากที่สุด

 

ข้อมูลอ้างอิง:

1 https://www.altexsoft.com/

2 https://www.altitudetvm.com/

3 https://www.techtalkthai.com/