Development

Litestream คืออะไร? คู่มือ SQLite Replication & Disaster Recovery บน S3/MinIO สำหรับ SME ไทย 2026

Litestream คือ Open-Source Tool ที่ทำให้ SQLite ปลอดภัยระดับ Production ผ่านการ replicate WAL ไป S3, MinIO, Azure Blob แบบ real-time แก้ปัญหา data loss และ disaster recovery สำหรับ SME ไทยที่ต้องการ database เร็ว ถูก ดูแลง่าย

AF
ADS FIT Team
·8 นาที
Share:
Litestream คืออะไร? คู่มือ SQLite Replication & Disaster Recovery บน S3/MinIO สำหรับ SME ไทย 2026

# Litestream คืออะไร? คู่มือ SQLite Replication & Disaster Recovery บน S3/MinIO สำหรับ SME ไทย 2026

ในยุคที่ทีมพัฒนาขนาดเล็กของ SME ไทยต้องสร้างผลิตภัณฑ์ดิจิทัลให้พร้อมขึ้น production ภายในไม่กี่สัปดาห์ การเลือก database ที่เหมาะสมคือหนึ่งในการตัดสินใจที่สำคัญที่สุด หลายทีมเลือก PostgreSQL หรือ MySQL ทันทีตามสูตรสำเร็จ แต่จริงๆ แล้วสำหรับเว็บแอปจำนวนมาก SQLite ที่เร็วกว่า ใช้ทรัพยากรน้อยกว่า และไม่มีค่าจ้าง DBA นั้นเป็นทางเลือกที่ดีกว่ามาก

ปัญหาเดียวที่หลายคนกลัวคือ SQLite ถูกเก็บเป็นไฟล์เดียวบน disk ของเซิร์ฟเวอร์ ถ้าเครื่องพังหรือ disk เสีย ข้อมูลทั้งหมดสูญหายทันที นี่คือจุดที่ Litestream เข้ามาเปลี่ยนเกม Litestream คือ open-source tool ที่เขียนด้วย Go โดย Ben Johnson (ผู้สร้าง BoltDB) เปิดตัวในปี 2021 และในปี 2026 ได้กลายเป็นโครงการที่ Fly.io เข้ามา sponsor หลัก ทำให้ SQLite สามารถ replicate WAL (Write-Ahead Log) ขึ้น object storage แบบ S3, MinIO, Azure Blob, Google Cloud Storage หรือ SFTP ได้แบบ real-time ภายในไม่กี่วินาที

บทความนี้จะอธิบายว่า Litestream ทำงานอย่างไร ติดตั้งใช้งานบน Linux Server ของคุณยังไง และวิธี restore ข้อมูลในกรณีฉุกเฉินเพื่อให้ SME ไทยมี Disaster Recovery Plan ที่ใช้งานได้จริง

ทำไมต้องเลือก SQLite + Litestream แทน Postgres สำหรับ SME

ตารางด้านล่างเปรียบเทียบ SQLite (ผ่าน Litestream) กับ PostgreSQL ในมิติที่ SME สนใจ

| ประเด็น | SQLite + Litestream | PostgreSQL |

|---------|---------------------|------------|

| ค่าใช้จ่ายเซิร์ฟเวอร์ | ใช้ disk + S3 เพียงเท่านั้น | ต้อง VM แยก / managed service ($20-100/เดือน) |

| Performance อ่าน | เร็วกว่า 10-100x สำหรับ workload ทั่วไป | ดี แต่ network overhead |

| Performance เขียน | จำกัดที่ ~1,000 writes/sec | ดีกว่ามากในกรณี high concurrency |

| Disaster Recovery | Litestream replicate ทุก 1 วินาที | ต้องตั้ง replication เอง |

| Operations | ดูแลแค่ไฟล์เดียว | ต้องดูแล DBA tasks เช่น vacuum, replication |

| ความซับซ้อน | ต่ำมาก | ปานกลางถึงสูง |

| เหมาะกับ | App ที่ read-heavy, SaaS เริ่มต้น, internal tools | App ที่ write-heavy, multi-tenant ขนาดใหญ่ |

หากแอปของคุณเป็น dashboard, CMS, internal admin, หรือ SaaS ระดับ early-stage ที่ traffic ส่วนใหญ่เป็น read SQLite + Litestream คือคำตอบที่ลดต้นทุนและความยุ่งยากได้มาก

หลักการทำงานของ Litestream

Litestream อาศัยกลไก WAL (Write-Ahead Logging) ของ SQLite ทุกการแก้ไขข้อมูลจะถูกเขียนลง WAL ก่อนที่จะ commit ไปยัง main database file Litestream จะ "subscribe" กับ WAL นี้แล้ว stream ทุกการเปลี่ยนแปลงไปยัง replica ปลายทางที่กำหนด

  • **Continuous Replication** ส่ง WAL frames ทุก 1 วินาทีโดย default
  • **Point-in-time Recovery** สามารถ restore ข้อมูลย้อนกลับไปยังวินาทีใดก็ได้
  • **Multiple Replicas** กำหนด destination หลายที่พร้อมกันได้ เช่น S3 + Local NAS
  • **Snapshot + Incremental** เก็บ snapshot รายวันและ incremental WAL frames ตลอดวัน
  • **Compression** บีบอัดอัตโนมัติ ประหยัด storage cost
  • **No App Changes** ไม่ต้องแก้โค้ดแอป ทำงานในระดับ filesystem
  • ในปี 2026 Litestream v0.5 ได้เพิ่มฟีเจอร์ Multi-process Read Replicas ผ่านโปรเจ็คน้องชื่อ LiteFS ทำให้สามารถ scale read traffic ไปยังเซิร์ฟเวอร์หลายเครื่องผ่าน FUSE filesystem โดย writes ยังคง route ไปยัง primary node เพียงเครื่องเดียว

    วิธีติดตั้ง Litestream บน Production Server

    ขั้นตอนนี้สมมติว่าคุณรัน Linux server (Ubuntu, Debian, Rocky, Alma) และแอปใช้ SQLite อยู่แล้ว

  • ดาวน์โหลด binary ล่าสุด จาก github.com/benbjohnson/litestream/releases หรือใช้ apt repo `apt install litestream`
  • เลือก destination สำหรับ production แนะนำ S3-compatible storage เช่น AWS S3, Cloudflare R2 (ฟรี egress), DigitalOcean Spaces, หรือ MinIO ที่ self-host เอง
  • สร้าง bucket บน S3/MinIO และเก็บ access key / secret key
  • สร้างไฟล์ config ที่ `/etc/litestream.yml`
  • ```yaml

    dbs:

  • path: /var/lib/myapp/data.db
  • replicas:

  • type: s3
  • bucket: myapp-backup

    path: data

    region: ap-southeast-1

    endpoint: https://s3.ap-southeast-1.amazonaws.com

    access-key-id: $AWS_ACCESS_KEY_ID

    secret-access-key: $AWS_SECRET_ACCESS_KEY

    retention: 168h

    snapshot-interval: 24h

    ```

  • Enable systemd service `systemctl enable --now litestream`
  • ตรวจสอบสถานะ `litestream replicas /var/lib/myapp/data.db`
  • ทุกการเขียนลง SQLite จะถูก replicate ไปยัง S3 ภายในไม่กี่วินาที storage cost ของ S3 อยู่ที่ประมาณ $0.023/GB/เดือนสำหรับ Standard และเกือบฟรีบน Cloudflare R2

    วิธี Restore ข้อมูลจาก Litestream

    หากเซิร์ฟเวอร์ล่มหรือ disk เสีย คุณสามารถ restore database ใน 3 ขั้นตอน

  • **ติดตั้ง Litestream บนเซิร์ฟเวอร์ใหม่** ด้วย config เดียวกัน
  • **รันคำสั่ง restore** `litestream restore -o /var/lib/myapp/data.db s3://myapp-backup/data`
  • **เริ่มแอปและเปิด replication ต่อ** ระบบจะกลับมาทำงานปกติจากจุดที่ replicate ล่าสุด ปกติเสียข้อมูลไม่เกิน 1 วินาที
  • หากต้องการ restore ไปยังจุดเวลาเฉพาะใช้ option `-timestamp 2026-04-26T10:30:00Z` Litestream จะนำ snapshot ใกล้เคียงและ replay WAL จนถึงเวลาที่ระบุ ทำให้กู้สถานการณ์ ransomware หรือ accidental delete ได้

    ใช้ Litestream กับ MinIO ภายในองค์กร

    หาก SME ของคุณอยู่ในกลุ่มที่ห้ามเก็บข้อมูลบน public cloud เช่น โรงพยาบาล, สถาบันการเงิน, หน่วยงานรัฐ คุณสามารถ self-host MinIO ภายใน data center หรือ on-premise server ได้ MinIO เป็น S3-compatible object storage ที่ open-source 100% และ Litestream ทำงานกับ MinIO ได้โดยตรง

    ขั้นตอนสั้นๆ คือ

  • ติดตั้ง MinIO บนเซิร์ฟเวอร์เปล่าหรือใน Docker (`docker run -p 9000:9000 minio/minio server /data`)
  • สร้าง bucket และ access key
  • เปลี่ยน endpoint ใน `litestream.yml` เป็น `endpoint: http://minio.local:9000`
  • ตั้งค่า `region: us-east-1` (default ของ MinIO) และ `force-path-style: true`
  • ผลลัพธ์คือคุณได้ Disaster Recovery System ที่ข้อมูลไม่ออกจากองค์กร ตอบโจทย์ PDPA และ HIPAA ได้พร้อมกัน

    เปรียบเทียบ Litestream vs Backup Solution อื่นๆ

    | Solution | RPO | RTO | ค่าใช้จ่าย | ความยุ่งยาก |

    |----------|-----|-----|----------|--------------|

    | Litestream | ~1 วินาที | < 1 นาที | ต่ำมาก | ติดตั้งครั้งเดียว |

    | pg_dump cron | 24 ชั่วโมง | 5-30 นาที | ต่ำ | ต้องสคริปต์เอง |

    | Managed DB (RDS) | 5 นาที | 5-15 นาที | สูง | ไม่ต้องดูแล |

    | Filesystem snapshot | 1-24 ชั่วโมง | 5 นาที | ต่ำ | ขึ้นกับ infra |

    | Borg / Restic backup | 1-24 ชั่วโมง | 10-60 นาที | ต่ำ | ปานกลาง |

    RPO (Recovery Point Objective) ของ Litestream อยู่ที่ ~1 วินาทีซึ่งเทียบเคียงได้กับ enterprise replication แต่ค่าใช้จ่ายต่ำกว่ามาก ทำให้เป็นทางเลือกที่คุ้มค่าสำหรับ SME

    สรุปและ CTA

    Litestream เปลี่ยน SQLite จากตัวเลือกที่หลายคนมองว่า "ไม่เหมาะ production" ให้กลายเป็น database ที่มี Disaster Recovery ระดับ enterprise โดยไม่ต้องเปลี่ยนโค้ดแอป เหมาะกับ SME ไทยที่ต้องการลดต้นทุน หรือทีมพัฒนาขนาดเล็กที่อยากเริ่มต้นเร็วโดยไม่ติดกับดักการดูแล database ขนาดใหญ่

    สิ่งที่ควรทำต่อจากการอ่านบทความนี้

  • ทดลองติดตั้ง Litestream บนแอปเล็กๆ ก่อน
  • เปิด S3 หรือ MinIO bucket สำหรับ backup
  • ทำ DR drill รัน restore แบบจริงเดือนละครั้ง
  • ตั้ง alert แจ้งเตือนถ้า replication lag เกิน 30 วินาที
  • หากคุณต้องการทีม ADS FIT ช่วยออกแบบ Disaster Recovery Plan, ติดตั้ง Litestream + MinIO บน infrastructure ขององค์กร หรือทำการ migrate จาก PostgreSQL ที่มีค่าใช้จ่ายสูงไปยัง SQLite + Litestream ติดต่อทีมงานที่ contact@adsfit.co.th และอ่านบทความเกี่ยวกับ Restic backup, MinIO object storage, และ Self-Hosted Infrastructure เพิ่มเติมในบล็อกของเรา

    Tags

    #Litestream#SQLite#Database Backup#Disaster Recovery#S3#MinIO

    สนใจโซลูชันนี้?

    ปรึกษาทีม ADS FIT ฟรี เราพร้อมออกแบบระบบที่ฟิตกับธุรกิจของคุณ

    ติดต่อเรา →

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