NoSQL
Database non-relational yang tidak menggunakan tabel dan SQL — fleksibel untuk data tidak terstruktur.
NoSQL (Not Only SQL) adalah kategori database yang tidak menggunakan model relasional traditional (tabel dengan baris dan kolom). NoSQL designed untuk: data yang tidak terstruktur, skala horizontal (mudah ditambah server), dan flexible schema. Tipe NoSQL: Document Store (MongoDB — data dalam format JSON-like document), Key-Value Store (Redis, DynamoDB — simpel, sangat cepat), Column-Family Store (Cassandra — untuk big data, time-series), dan Graph Database (Neo4j — untuk data dengan banyak relasi). Kapan pakai NoSQL: data tidak terstruktur (log, sensor data), perlu skala horizontal, dan development cepat (no schema migration). Kapan pakai SQL: data terstruktur dengan relasi kompleks, butuh ACID transactions, dan reporting/complex queries.
Contoh Kode
// MongoDB (Document Store)
db.users.insertOne({
name: "Budi",
email: "budi@mail.com",
addresses: [
{ city: "Jakarta", zip: "12345" },
{ city: "Bandung", zip: "67890" }
],
metadata: { loginCount: 5, lastLogin: new Date() }
});
// Redis (Key-Value)
await redis.set('session:abc123', JSON.stringify(userData), 'EX', 3600);