Versioning และ Object Lock (Immutability) คืออะไร? และแตกต่างกันอย่างไร
เมื่อพูดถึง Object Storage มักจะมีฟีเจอร์สำคัญสองอย่างที่เกี่ยวข้องกับการปกป้องข้อมูล ได้แก่ Versioning และ Object Lock (Immutability) แม้ว่าทั้งสองฟีเจอร์จะช่วยลดความเสี่ยงจากการสูญหายของข้อมูล แต่มีวัตถุประสงค์และการทำงานที่แตกต่างกันอย่างชัดเจน แน่นอนว่าฟีเจอร์ทั้งสองนั้น ระบบ S3 Object Storage ของเรานั้นรองรับอยู่ด้วย วันนี้เราเลยพาท่านไปรู้สึกว่าแต่ละฟีเจอร์มันคืออะไร และ แตกต่างกันอย่างไร

Versioning คืออะไร?
Versioning คือความสามารถในการเก็บรักษาไฟล์หลายเวอร์ชันภายใต้ชื่อเดียวกัน เช่นเมื่อท่านทำการอัปโหลดไฟล์ชื่อเดิมซ้ำ ระบบจะไม่เขียนทับไฟล์เดิม แต่จะสร้างเวอร์ชันใหม่ขึ้นมาแทน ทำให้สามารถย้อนกลับไปใช้งานไฟล์เวอร์ชันก่อนหน้าได้
ตัวอย่าง
เราทำการอัพโหลดไฟล์ report.xlsx
| การเขียนไฟล์ | ผลลัพธ์ |
|---|---|
| อัปโหลดครั้งแรก | Version 1 |
| แก้ไขและอัปโหลดใหม่ | Version 2 |
| แก้ไขและอัปโหลดใหม่อีกครั้ง | Version 3 |
ผู้ใช้งานสามารถเลือกกู้คืน Version 1 หรือ Version 2 ได้หากพบว่าข้อมูลใน Version 3 ไม่ถูกต้อง
ประโยชน์ของ Versioning
- ป้องกันการลบไฟล์โดยไม่ตั้งใจ
- ป้องกันการเขียนทับไฟล์ผิดพลาด
- สามารถย้อนกลับไปใช้ข้อมูลเวอร์ชันก่อนหน้าได้
- ช่วยในการตรวจสอบประวัติการเปลี่ยนแปลงของข้อมูล
ข้อจำกัดของ Versioning
แม้จะสามารถกู้คืนไฟล์เวอร์ชันเก่าได้ แต่ผู้ที่มีสิทธิ์เพียงพอยังคงสามารถลบทุกเวอร์ชันของไฟล์ได้ ดังนั้น Versioning จึงไม่สามารถป้องกันการโจมตีจาก Ransomware หรือการลบข้อมูลโดยผู้ดูแลระบบได้อย่างสมบูรณ์
Object Lock หรืออีกชื่อคือ Immutability คืออะไร?
Object Lock หรือ Immutability คือความสามารถในการกำหนดให้ไฟล์ไม่สามารถถูกแก้ไขหรือลบได้ภายในระยะเวลาที่กำหนด
เมื่อ Object ถูกล็อกแล้ว จะไม่มีใคร หรือ โปรเซสใด ทำการ
- แก้ไขข้อมูล
- เขียนทับข้อมูล
- ลบข้อมูล
ได้จนกว่าจะครบระยะเวลาที่กำหนดไว้
ตัวอย่าง
ไฟล์ backup-2026-06-21.vbk และเรากำหนด Retention Period = 30 วัน
ผลลัพธ์คือ
- ผู้ใช้ไม่สามารถลบไฟล์ได้
- โปรแกรมไม่สามารถแก้ไขไฟล์ได้
- Malware หรือ Ransomware ไม่สามารถลบไฟล์ได้
- แม้แต่ผู้ดูแลระบบก็อาจไม่สามารถลบไฟล์ได้
ประโยชน์ของ Object Lock
- ป้องกัน Ransomware
- ป้องกันการลบข้อมูลโดยเจตนาหรือไม่ก็ตาม
- รองรับข้อกำหนดด้านกฎหมายและ Compliance ซึ่งสำคัญมากสำหรับองค์กรขนาดใหญ่
- เหมาะสำหรับระบบ Backup และ Archive อย่างยิ่ง
ข้อจำกัดของ Object Lock
Object Lock ไม่ได้เก็บหลายเวอร์ชันของข้อมูลโดยตัวมันเอง แต่เน้นการป้องกันไม่ให้ข้อมูลที่มีอยู่ถูกเปลี่ยนแปลง
เปรียบเทียบ Versioning และ Object Lock
| คุณสมบัติ | Versioning | Object Lock (Immutability) |
|---|---|---|
| เก็บหลายเวอร์ชันของไฟล์ | ✓ | ✗ |
| ย้อนกลับไปใช้ข้อมูลเวอร์ชันเก่าได้ | ✓ | ✗ |
| ป้องกันการเขียนทับไฟล์ | ✓ | ✓ |
| ป้องกันการลบไฟล์โดยผู้ใช้ทั่วไป | ✓ | ✓ |
| ป้องกันการลบโดยผู้ดูแลระบบ | ✗ | ✓ |
| ป้องกัน Ransomware | จำกัด | ✓ |
| เหมาะสำหรับ Backup แบบ Immutable | ✗ | ✓ |
| เหมาะสำหรับเก็บประวัติการแก้ไขไฟล์ | ✓ | ✗ |
หากใช้งานร่วมกันจะเกิดอะไรขึ้น?
ในระบบ S3 Storage ของเราท่านสามารถเปิดใช้งานทั้ง Versioning และ Object Lock พร้อมกันได้ แล้วจะเกิดอะไรขึ้นหากท่านทำเช่นนั้นเราไปดูกัน
ตัวอย่าง
report.xlsx
├─ Version 1 (Locked)
├─ Version 2 (Locked)
└─ Version 3 (Locked)
หากเกิดการโจมตีจาก Ransomware
- ไฟล์อาจถูกอัปโหลดเป็น Version ใหม่
- แต่ Version เดิมยังคงอยู่
- Version เดิมไม่สามารถถูกลบได้
- สามารถกู้คืนข้อมูลกลับมาได้อย่างปลอดภัย
แนวทางนี้เรียกว่า Immutable Backup
เปรียบเทียบให้เห็นภาพง่าย ๆ
Versioning
เหมือนการเก็บร่างเอกสารทุกครั้งที่มีการแก้ไข
เอกสารฉบับที่ 1
เอกสารฉบับที่ 2
เอกสารฉบับที่ 3
หากแก้ไขผิด สามารถย้อนกลับไปใช้ฉบับเก่าได้
Object Lock (Immutability)
เหมือนการนำเอกสารใส่ตู้เซฟที่ถูกล็อกตามเวลาที่กำหนด
เอกสาร
↓
ตู้เซฟ
↓
เปิดได้อีกครั้งใน 30 วัน
บทสรุป
- Versioning ช่วยเก็บประวัติและกู้คืนไฟล์เวอร์ชันก่อนหน้า
- Object Lock (Immutability) ช่วยป้องกันไม่ให้ไฟล์ถูกลบหรือแก้ไข
- Versioning เน้นการกู้คืนข้อมูล
- Object Lock เน้นการปกป้องข้อมูล
- ระบบของเรารองรับการใช้งานทั้งสองฟีเจอร์ร่วมกัน ซึ่งเป็นแนวทางที่ดีที่สุดสำหรับการสร้าง Immutable Backup และป้องกันความเสียหายจาก Ransomware ในระบบ Object Storage ของเรา
