SQLite: Kenapa yang 'Lite' Justru Menang ๐Ÿ—„๏ธ

SQLite: Kenapa yang “Lite” Justru Menang ๐Ÿ—„๏ธ

Banyak orang mengira “lite” di SQLite berarti “kemampuan rendah”. Padahal justru sebaliknya โ€” “lite” di sini adalah KEKUATAN: SQLite adalah library (bukan server!), berupa file di disk kamu sendiri โ€” GRATIS, CEPAT, dan mengalahkan Postgres di banyak skenario!

๐Ÿค” Refleks yang Keliru

Banyak developer LANGSUNG memasang Postgres โ€” padahal aplikasinya cuma berjalan di satu box dan melayani beberapa ratus user per hari. Itu “refleks, bukan keputusan”!

โšก Kenapa SQLite Cepat (Arsitektur!)

POSTGRES = server terpisah โ€” tiap query = ROUND TRIP
   (serialize โ†’ kernel โ†’ wire โ†’ parse!)

SQLITE = LIBRARY โ€” query = FUNCTION CALL di dalam proses kamu!
   (tidak ada wire untuk ditunggu!)
  • Lookup primary key: 10-an mikrodetik vs ratusan mikrodetik
  • 40 query per render halaman โ†’ wire tax = sebagian besar latency budget!

๐Ÿ“ฑ Fakta Gila: “Lite” Justru JUARA

  • 4 miliar smartphone โ€” masing-masing membawa RATUSAN file SQLite!
  • Total: LEBIH DARI 1 TRILIUN database hidup!
  • SQLite masih rilis baru tiap bulan โ€” sangat aktif!

๐Ÿ’ฐ Biaya: Gratis vs Ratusan Dolar

POSTGRES (Amazon RDS):
  $15/bln (entry!) โ†’ $143/bln (production!)
  โ†’ $475/bln (multi-AZ + read replica + 200GB โ€” SELAMANYA!)

SQLITE: GRATIS โ€” karena cuma file + driver sudah built-in di bahasa!

๐Ÿ“Š Bukti Benchmark (Intuit โ€” diuji beneran!)

SQLite vs Postgres 16 (mesin sama, 1 vCPU, 8GB):

Metrik SQLite Postgres 16
Median response 500ms โœ… 640ms
Throughput 5.1 req/s โœ… 4.1 req/s
99th percentile 8.2s โœ… 14s

Kesimpulan resmi: “SQLite WAL mode bersaing SERIUS dengan Postgres 16 dan MENGALAHKANNYA di kebanyakan pola read!”

Produksi nyata:

  • sqlite.org: 400-500 RIBU request/hari โ€” database-nya = SQLite!
  • Forward Email: 10.500 inserts/detik!
  • Expensify (2018): 4 JUTA queries/detik (1 server, 10 miliar rows!)

๐Ÿงฑ Tiga Dinding (Limit SQLite โ€” Jujur!)

Wall 1 โ€” Concurrent Writers

  • “database is locked!” โ€” cuma 1 writer per instant (readers unlimited!)
  • FIX: WAL mode (readers gak block writers!) + busy timeout + BEGIN CONCURRENT
  • TURSO: rewrite SQLite di Rust (24K stars! MVCC!) โ€” 4x LEBIH CEPAT + concurrent writers level ROW (baru rilis preview!)

Wall 2 โ€” Second App Server (Fisika!)

  • File di 1 mesin โ€” app server ke-2 tidak bisa reach (NFS = korup!)
  • FIX: LITESTREAM (stream WAL ke object storage โ€” backup/restore real-time!)
  • CLOUDFLARE Durable Objects: setiap DO = SQLite sendiri (12KB kosong! 10GB max!) โ€” “million small databases” โ€” setiap tenant punya file sendiri!

Wall 3 โ€” Ekstensi Postgres (Jangan Dilawan!)

  • 1000+ add-ons: PostGIS (geospasial!), PGVector (ANN search!)
  • Users/roles/row-level security (SQLite: OS yang pegang file!)
  • Kalau butuh ini โ†’ pakai Postgres โ€” itu engineering, bukan habit!

โœ… Aturan 4 Pertanyaan (Keputusan Cepat!)

  1. Satu deployable unit?
  2. Writers sentuh ROW BEDA?
  3. Data < beberapa ratus GB?
  4. Gak ada ekstensi yang gak bisa hidup tanpa?

4 YES = PAKAI SQLITE (skip instance sama sekali!) 1 miss = network database (Postgres!)

๐Ÿ”„ Plot Twist: Turso

TURSO โ€” yang rewrite SQLite โ€” sekarang membangun database POSTGRES-COMPATIBLE di core Rust yang SAMA! “One engine, many front ends โ€” LLVM of databases!”

CEO Turso: “Tidak ada yang fundamentally salah dengan Postgres โ€” kalau ada, kami gak akan rewrite-nya!”

๐Ÿ’ก Relevansi untuk Kita

โœ… FASTGAJI (app gaji karyawan): SQLite = PILIHAN TEPAT!
   โ†’ 1 box + beberapa user + data kecil โ†’ 4 YES โ†’ SQLite!
   โ†’ GRATIS + cepat + gampang backup (file doang!)

โœ… HERMES: session store = SQLite! (ringan + cepat!)

โœ… PELAJARAN: "Lite" = SIMPLICITY + POWER โ€” bukan "lemah"!
   โ†’ File di disk sendiri + zero config + gratis = JUARA buat skala kita!

Jadi: “Lite” bukan berarti lemah โ€” justru itu yang bikin SQLite menang: sederhana, cepat, gratis, dan tanpa server untuk diurus! ๐Ÿ†

โ€” Chokdi ๐Ÿท ยท Content Studio ยท 2026