← กลับไปหน้าบทความ
ขั้นสูง (MarTech)

เซิร์ฟเวอร์ฐานข้อมูล tracking พังกลางดึก ไม่มี backup: บทเรียนราคาแพงและวิธีวางแผนกู้คืนให้ทัน

02 ส.ค. 04:27 · อ่าน 1 นาที
เซิร์ฟเวอร์ฐานข้อมูล tracking พังกลางดึก ไม่มี backup: บทเรียนราคาแพงและวิธีวางแผนกู้คืนให้ทัน

สรุปสั้น ๆ

ฐานข้อมูล tracking ที่เก็บประวัติการผูก UID, Click ID และ Conversion ทั้งหมด ถ้าไม่มีแผน backup และกู้คืนที่ชัดเจน วันหนึ่งที่เซิร์ฟเวอร์มีปัญหา ธุรกิจอาจเสียประวัติข้อมูลลูกค้าที่สะสมมาเป็นปีในคืนเดียว การวางแผนกู้คืนไม่ใช่เรื่องของธุรกิจใหญ่เท่านั้น แต่เป็นสิ่งที่ธุรกิจทุกขนาดควรมี

เจ้าของธุรกิจขายอะไหล่รถแห่งหนึ่งเล่าประสบการณ์ที่ยังจำได้แม่นว่า คืนหนึ่งเซิร์ฟเวอร์ที่รันระบบ tracking ของธุรกิจล่มกะทันหันจากปัญหาฮาร์ดแวร์ พอกู้เซิร์ฟเวอร์กลับมาได้ พบว่าฐานข้อมูลเสียหายบางส่วน และไม่มี backup ที่ใช้ได้เลย เพราะทีมที่ตั้งระบบไว้ตอนแรกคิดว่า 'ผู้ให้บริการคลาวด์คงมี backup ให้อยู่แล้ว' ซึ่งกลายเป็นว่าเป็นแค่สแนปช็อตของเครื่อง ไม่ใช่ backup ระดับฐานข้อมูลที่กู้คืนได้แม่นยำ ประวัติการผูก UID กับ Click ID ของลูกค้ากว่าสองปีหายไปเกือบทั้งหมด

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

บทความนี้จะพาดูว่าแผนกู้คืนข้อมูล (disaster recovery) ที่ทำได้จริงสำหรับธุรกิจที่ไม่มีทีม IT ขนาดใหญ่ ควรมีองค์ประกอบอะไรบ้าง

มี backup กับมีแผนกู้คืนจริง เป็นคนละเรื่องกัน

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

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

สองตัวเลขที่ต้องตกลงกันไว้ล่วงหน้า

ตัวเลขความหมายตัวอย่างการตั้งเป้า
RPO (Recovery Point Objective)ยอมเสียข้อมูลย้อนหลังได้มากที่สุดกี่ชั่วโมง นับจากจุดที่ backup ล่าสุดbackup ทุก 6 ชั่วโมง แปลว่าถ้าล่มตอนไหน เสียข้อมูลได้สูงสุด 6 ชั่วโมงล่าสุด
RTO (Recovery Time Objective)กู้ระบบกลับมาใช้งานได้ภายในกี่ชั่วโมง นับจากตอนเกิดเหตุตั้งเป้าไว้ 4 ชั่วโมง สำหรับธุรกิจที่พึ่งพาระบบ tracking ตลอดเวลาทำการ

ขั้นตอนที่ทำได้จริงโดยไม่ต้องมีทีม IT ใหญ่

  1. ตั้งค่า backup ฐานข้อมูลแบบอัตโนมัติที่ระดับฐานข้อมูลเอง ไม่ใช่แค่สแนปช็อตของเครื่องเซิร์ฟเวอร์ทั้งหมด เพราะกู้คืนได้แม่นยำกว่ามาก
  2. เก็บ backup ไว้อย่างน้อยสองแห่งที่แยกจากกัน เช่นในผู้ให้บริการคลาวด์เดิมและอีกที่หนึ่งแยกต่างหาก เผื่อผู้ให้บริการหลักมีปัญหาทั้งระบบ และตั้งนโยบายการเก็บรักษาข้อมูลให้สอดคล้องกับความจำเป็นทางธุรกิจและกฎหมาย
  3. ทดสอบกู้คืนจริงอย่างน้อยทุกไตรมาส โดยกู้คืนขึ้นสภาพแวดล้อมทดสอบแล้วตรวจสอบว่าข้อมูลครบถ้วนใช้งานได้ ไม่ใช่แค่เชื่อว่า backup มีอยู่
  4. เขียนขั้นตอนกู้คืนเป็นเอกสารง่าย ๆ ที่คนอื่นนอกจากผู้ตั้งระบบเดิมก็ทำตามได้ เผื่อคนที่รู้ระบบดีที่สุดไม่อยู่ในวันที่เกิดเหตุจริง

อย่าลืมส่วนอื่นนอกจากฐานข้อมูล

แผนกู้คืนที่ครบถ้วนต้องคิดถึงมากกว่าแค่ฐานข้อมูล เช่นการตั้งค่า webhook ที่ผูกกับ LINE OA, credential ที่ใช้เชื่อมกับแพลตฟอร์มโฆษณา (ดูเพิ่มเติมเรื่องการจัดการ credential), และโค้ดที่ deploy อยู่บนระบบ ทั้งหมดนี้ต้องกู้คืนกลับมาให้ทำงานร่วมกันได้ ไม่ใช่แค่มีข้อมูลแต่ระบบรอบข้างใช้งานไม่ได้ ควรมีแผนสื่อสารกับลูกค้าและทีมงานตามแนวทางของการรับมือเหตุการณ์ข้อมูลรั่วไหลควบคู่ไปด้วย เผื่อเหตุการณ์นั้นกระทบข้อมูลลูกค้าโดยตรง

สรุป

ข้อมูลการผูก UID, Click ID และประวัติ Conversion ที่สะสมมาเป็นปี ไม่ใช่สิ่งที่สร้างใหม่ได้ในวันเดียวถ้าหายไป มันคือความเข้าใจลูกค้าที่ธุรกิจใช้เวลาสั่งสมมานาน

แผนกู้คืนที่ทดสอบจริงแล้ว ไม่ใช่แค่ backup ที่นอนเงียบอยู่ในระบบ คือสิ่งที่แยกธุรกิจที่ฟื้นตัวได้ภายในไม่กี่ชั่วโมง กับธุรกิจที่ต้องเริ่มนับหนึ่งใหม่ทั้งหมด

  • มี backup อัตโนมัติกับมีแผนกู้คืนที่ทดสอบจริงแล้ว เป็นคนละเรื่องกัน
  • ตกลง RPO และ RTO ล่วงหน้าให้ชัดเจนตามความสำคัญของข้อมูลต่อธุรกิจ
  • แผนกู้คืนต้องครอบคลุมมากกว่าฐานข้อมูล รวมถึง credential และการตั้งค่า webhook ด้วย

คำถามที่พบบ่อย

ธุรกิจขนาดเล็กจำเป็นต้องมีแผนกู้คืนข้อมูลระดับนี้ไหม

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

ใช้บริการคลาวด์ที่มี backup อัตโนมัติอยู่แล้ว ยังต้องทำอะไรเพิ่มไหม

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

RPO กับ RTO ควรตั้งเท่าไหร่ถึงจะเหมาะ

ขึ้นอยู่กับว่าธุรกิจพึ่งพาข้อมูลนี้มากแค่ไหน ธุรกิจที่ตัดสินใจงบโฆษณารายวันจากข้อมูลนี้ควรตั้ง RPO และ RTO ให้สั้น ส่วนธุรกิจที่ใช้ข้อมูลเพื่อวิเคราะห์ภาพรวมรายเดือนอาจยอมรับค่าที่หลวมกว่าได้

ทดสอบกู้คืนบ่อยแค่ไหนถึงจะพอ

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

ถ้าไม่มีทีมเทคนิคเลย ควรทำยังไง

ควรปรึกษาผู้ให้บริการระบบ tracking หรือเอเจนซี่ที่ดูแลอยู่ให้ยืนยันเป็นลายลักษณ์อักษรว่ามีนโยบาย backup และกู้คืนอย่างไร แทนที่จะสันนิษฐานเอาเองว่าทุกอย่างถูกดูแลให้แล้ว

อยากวัดผลโฆษณาเข้า LINE ให้ถึงยอดขาย?

ทดลองใช้ linli ฟรี 14 วัน ไม่ต้องใช้บัตรเครดิต

เริ่มทดลองใช้ฟรี

บทความที่เกี่ยวข้อง

คู่มือเริ่มต้น LINE Conversion Tracking ในไทย ตั้งแต่ติดตั้งจนวัดยอดขายจริง
คู่มือเริ่มต้น LINE Conversion Tracking ในไทย ตั้งแต่ติดตั้งจนวัดยอดขายจริง
สำหรับคนที่เพิ่งเริ่มทำ LINE Conversion Tracking บทความนี้รวมทุกขั้นตอนตั้งแต่นิยาม Funnel ติดตั้งระบบ เชื่อมแพลตฟอร์ม จนถึงวางแผนช่วงทดลองใช้ให้ตัดสินใจได้จริงก่อนหมด Trial
LINE Tracking กับ PDPA ธุรกิจไทยควรเก็บข้อมูลอย่างไรให้เหมาะสม
LINE Tracking กับ PDPA ธุรกิจไทยควรเก็บข้อมูลอย่างไรให้เหมาะสม
ระบบ Tracking ไม่ได้ทำให้ธุรกิจผ่าน PDPA โดยอัตโนมัติ บทความนี้อธิบายว่าธุรกิจยังต้องรับผิดชอบอะไรเองบ้าง ตั้งแต่ Legal Basis ไปจนถึงการจำกัดข้อมูลที่ส่งไปแพลตฟอร์มโฆษณา
วิธีติดตั้ง Tracking Link และ Tracking Script สำหรับปุ่ม LINE บนเว็บไซต์
วิธีติดตั้ง Tracking Link และ Tracking Script สำหรับปุ่ม LINE บนเว็บไซต์
ก่อนติดตั้ง Tracking Link หรือ Script บนปุ่ม LINE ต้องเตรียมอะไรบ้าง บทความนี้เล่าขั้นตอนจริงตั้งแต่สิทธิ์เข้าถึงเว็บ ไปจนถึง Test Journey ก่อนเปิดใช้งาน ไม่ใช่แค่ก็อปโค้ดไปวาง