WatermelonDB
Database performa tinggi untuk React Native dengan sinkronisasi offline.
WatermelonDB adalah database SQLite untuk React Native yang dioptimasi untuk performa dan real-time sync. Dibangun dengan lazy-loading architecture — hanya load data yang diperlukan, bukan seluruh database ke memory. Fitur: schema-based models, query builder deklaratif, relasi otomatis (one-to-many, many-to-many), sync engine (pull/push dengan conflict resolution). Cocok untuk aplikasi offline-first dengan ribuan records yang perlu sinkronisasi ke server. Query bersifat reactive — observable, auto re-render component saat data berubah. Alternatif: MMKV untuk key-value sederhana, AsyncStorage untuk data minimal. WatermelonDB untuk data relasional kompleks dengan kebutuhan sync.
Contoh Kode
import { Database } from "@nozbe/watermelondb";
import SQLiteAdapter from "@nozbe/watermelondb/adapters/sqlite";
const adapter = new SQLiteAdapter({ schema });
const database = new Database({ adapter, modelClasses: [Task] });
const tasks = await database.get("tasks").query(
Q.where("status", "active"),
Q.sortBy("created_at", Q.desc),
).fetch();