Temporal Table

Temporal Table

Temporal Table

ข้อมูลหาย ถูกแก้ไข ข้อมูลเปลี่ยนไป แล้วใครทำ?


        ปัญหาเหล่านี้จะไม่เกิดขึ้นกับงานของเรา เพราะเราให้ความสำคัญกับการเก็บรักษาข้อมูลของลูกค้าเป็นอันดับแรก จึงเป็นเรื่องจำเป็นที่ Aimagin Analytics จะต้องมี Temporal Table เป็นส่วนหนึ่งของระบบ

1. Temporal Table คืออะไร?

        Temporal Table หรือ system-versioned table เป็นคุณสมบัติที่สามารถติดตามการจัดเก็บข้อมูลในตารางได้ในทุกช่วงเวลา แทนการเก็บข้อมูล ณ เวลาปัจจุบันเพียงอย่างเดียวเพื่อป้องกันข้อมูลสูญหายหรือถูกเปลี่ยนแปลงโดยไม่ได้รับอนุญาต หรือไม่ได้ตั้งใจเปลี่ยนแปลง

2. Temporal Table ทำงานยังไง?

        ทุกครั้งที่มีการเปลี่ยนแปลงข้อมูลในตารางหลักที่เป็น Temporal table จะมีการส่งข้อมูลไปบันทึกไว้ในตาราง History ซึ่งจะเก็บประวัติการเปลี่ยนแปลงไว้ทุกช่วงเวลา

ภาพแสดงการทำงานของ Temporal Table


ภาพแสดงตาราง History มีแถว (Row)ข้อมูลที่แสดงประวัติการเปลี่ยนแปลงจากตารางหลัก


3. ความสามารถของ Temporal Table

        3.1 สำรองข้อมูลเก็บไว้เป็น History ได้

        3.2 ติดตามการเปลี่ยนแปลงของข้อมูลตามช่วงเวลาได้ โดยใช้ filter เพื่อเลือกดูข้อมูลที่สนใจ

                - เลือก ID เพื่อ filter ข้อมูลที่สนใจ

                - เลือก เวลา เพื่อ filter ช่วงเวลาที่สนใจ

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

                - เลือก ID เพื่อ filter ข้อมูลที่สนใจ

                - เลือก User เพื่อ filter User ที่สนใจ

                - เลือก เวลา เพื่อ filter ช่วงเวลาที่สนใจ


ภาพแสดงรายละเอียดการตรวจสอบการเปลี่ยนแปลงข้อมูลที่สนใจในช่วงเวลาที่กำหนด



เปิดใช้งานง่ายภายในคลิกเดียว

ภาพแสดงการเปิดใช้งาน Temporal Table



เลือกดูข้อมูลได้ 4 ฟังก์ชัน

        1. As of

        2. From to

        3. Between and

        4. Contained in


ภาพแสดงฟังก์ชันการเรียกดูข้อมูล



1. As of หมายถึง ข้อมูลสร้างไม่เกินเวลาเริ่มต้นและยังปรากฏในตารางหลักอยู่หลังเวลาสุดท้ายหรือข้อมูลที่ยังปรากฏในตารางหลักจนถึง ณ เวลาที่เลือก

2. From to หมายถึง ข้อมูลที่ยังปรากฏในตารางหลักอยู่หลังเวลาเริ่มต้น แต่สร้างก่อนเวลาสุดท้าย

3. Between and หมายถึง ข้อมูลที่ยังปรากฏในตารางหลักอยู่หลังเวลาเริ่มต้น แต่สร้างไม่เกินเวลาสุดท้าย

4. Contained in หมายถึง ข้อมูลที่ยังสร้างตั้งแต่เวลาเริ่มต้น และยังปรากฏในตารางหลักไม่เกินเวลาสุดท้าย


ภาพอธิบายฟังก์ชันการเรียกดูข้อมูล


4. ประโยชน์ของ Temporal Table

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

        4.2 ตรวจสอบการเปลี่ยนแปลงข้อมูลทั้งหมดได้ว่าเปลี่ยนแปลงอย่างไร เวลาใด และใครเป็นผู้เปลี่ยนแปลง

        4.3 สามารถกู้คืนข้อมูลจากการเปลี่ยนแปลงที่ไม่ได้ตั้งใจหรือผิดพลาดได้

        4.4 สามารถค้นประวัติการเปลี่ยนแปลงได้ง่าย สามารถเรียกดูข้อมูลได้โดยที่โปรแกรมเมอร์ไม่จำเป็นต้องเขียนโค้ด


5. ตัวอย่างการใช้งานในระบบ Aimagin Analytics

        เอมเมจิน ใช้ Temporal Table ในการสำรองข้อมูลที่สำคัญให้กับลูกค้า เช่น

                - ฟอร์ม HR

                - ฟอร์มแจ้งข่าว

                - ข้อมูลฟอร์มแจ้งเหตุการณ์ทางทะเล

                - คนขอเข้าประเทศผ่านด่านทางน้ำ 

6. จุดเด่นของ Temporal Table 

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

7. ถ้าไม่มี Temporal Table?

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


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



Related Posts
  1. Aimagin Analytics พัฒนาสู่ Gen 2 (Go to Gen 2) Aimagin Analytics พัฒนาสู่ Gen 2 (Go to Gen 2)
  2. "ขนำ" กับการแก้ไขปัญหาด้วย Aimagin Analytics