Kodeloka
  1. Kodeloka
  2. Kelas Microservices
  3. Materi

Data Pattern · Modul 7 dari 24

Belajar Microservices - NoSQL Database

Penggunaan database NoSQL (Document Store, Key-Value, Column-family, Graph) yang disesuaikan dengan kebutuhan domain bisnis masing-masing service.

1. Kategori Database NoSQL dalam Microservices

  • Key-Value Store (Redis, Memcached): Sangat cocok untuk Caching layer, Session store, Rate Limiter, dan Leaderboard. Read speed sub-millisecond.
  • Document Store (MongoDB, Couchbase): Menyimpan data terstruktur fleksibel (JSON/BSON). Cocok untuk Katalog Produk, User Profile, dan Content Management.
  • Column-Family Store (Apache Cassandra, ScyllaDB): Penulisan data berkecepatan tinggi tanpa batasan. Cocok untuk IoT Time-Series Data, Activity Logs, dan Analytics tracking.
  • Graph Database (Neo4j, Amazon Neptune): Mengelola hubungan (nodes & edges) antar entitas. Cocok untuk Recommendation Engine, Fraud Detection, dan Social Network Connection.

2. Contoh Dokumen JSON di MongoDB (Catalog Service)

catalog_products.json
{
  "_id": "PROD-99412",
  "name": "Laptop Gaming Pro 16",
  "brand": "TechBrand",
  "price": 25000000,
  "attributes": {
    "ram": "32GB DDR5",
    "cpu": "Intel Core i9",
    "gpu": "RTX 4080"
  },
  "tags": ["laptop", "gaming", "pro"],
  "stock": 15
}