Project-2: Tugas Individual Eksplorasi DBMS NoSQL

Soal / Brief

IF4040 Pemodelan Data Lanjut, Sem. 1 2026/2027. Disalin dari 5 slide 1790703889350_IF4040_Project2_sem1_2627.pdf.

Aturan Penggunaan Gen-AI

Boleh digunakan untuk:

  • Mendapatkan pengetahuan dan mencari referensi tentang penggunaan teknologi
  • Pembangkitan konten dan validasi produk akhir tugas
  • Penyiapan dan pembangkitan data test
  • Penulisan laporan (termasuk untuk pengecekan dan perbaikan tata bahasa dan ejaan)

Deskripsi Tugas

Setiap mahasiswa diminta melakukan eksplorasi 1 (satu) produk DBMS NoSQL yang tidak masuk ke kelompok key-value dan document databases.

  • Contoh kategori: column-family, columnar db, graph-db, time-series db, XML db, dll.
  • 1 produk yang sama boleh dieksplorasi oleh maksimum 2 orang di kelas. Tuliskan pilihan DBMS dan kategorinya pada sheet project-2 di file IF4040 Daftar Kelompok Tugas Project.xlsx.

Tuliskan deskripsi tentang:

  • Deskripsi umum (sejarah, penggunaan utama, success story, dll.)
  • Model data
  • Query
  • Arsitektur sistem
  • Metodologi pemodelan data (?)

Tuliskan 1 (satu) buah studi kasus [kecil] penggunaan produk tersebut. Boleh memakai [subset] dari kasus yang sama seperti project-0 dan project-1.

  • Model data dan contoh query
  • Lakukan analisis perbandingan kinerja dengan implementasi di salah satu DBMS relasional. Bahas tidak hanya dari sisi query tetapi juga dari sisi pemodelan data dan aspek lain yang dianggap menarik.
  • Bonus: analisis perbandingan dengan implementasi di key-value dan/atau document database.

Deadline dan Deliverables

  • Deadline: 11 Oktober 2026 pukul 23.59 melalui Edunex.
  • Laporan: tidak lebih dari 10 halaman A4 (di luar cover).
  • Font 12, spasi 1.

Ketentuan / Yang Dikumpulkan

  • Pilih 1 produk DBMS NoSQL di luar key-value dan document (maksimum 2 orang per produk), tulis pilihan DBMS dan kategorinya di sheet project-2 — ClickHouse (columnar); produk dipilih, tapi baris di sheet Excel belum diisi (cek dulu belum ada >2 orang yang ambil ClickHouse)
  • Deskripsi umum: sejarah, penggunaan utama, success story
  • Model data
  • Query
  • Arsitektur sistem
  • Metodologi pemodelan data
  • 1 studi kasus kecil (boleh subset kasus Nimonspedia project-0/1): model data dan contoh query — dipakai kasus baru “TransitTap” (tap-in/tap-out transportasi), bukan Nimonspedia
  • Analisis perbandingan kinerja dengan DBMS relasional (query, pemodelan data, aspek lain) — PostgreSQL 16
  • (Bonus) Perbandingan dengan key-value dan/atau document database — MongoDB 7
  • Laporan PDF maksimum 10 halaman A4 di luar cover, font 12, spasi 1 — 6 halaman isi + cover
  • Submit ke Edunex sebelum 11 Oktober 2026 23:59

Progress & Catatan Pengerjaan

Bahan belajar konsepnya ada di 18_Column_Family_Database, 19_Graph_Database, dan 20_XML_Database.

  • 2026-10-10 — Disederhanakan atas permintaan Faqih (versi pertama terlalu ribet): dari ±1000 baris kode Node jadi 3 script Python (generate.py, queries.py, run.py) + 6 query + 1 uji update, satu skala data (5 jt baris). Versi lengkap lama (eksperimen skala 1/5/20 jt, verifikasi hash, materialized view) diarsipkan di D:\Kuliah\PDL\Project2_full. Script Python dijalankan lewat container py di Docker karena Python belum terpasang di Windows.
  • 2026-10-08/10 — Hasil akhir. Produk: ClickHouse (columnar). Studi kasus baru “TransitTap”: analitik tap-in/tap-out kartu transportasi, 5 juta perjalanan sintetis (seed 42), 120 stasiun, 200 ribu kartu. Pembanding: PostgreSQL 16 + bonus MongoDB 7. Docker, batas resource sama (4 CPU/4 GB), satu DBMS aktif per waktu.
    • Hasil (median, 5 jt baris, warm cache): ClickHouse 4-93× lebih cepat dari PostgreSQL pada Q1-Q5 dan 51-240× dari MongoDB; PostgreSQL (2,6 ms) dan MongoDB (2,5 ms) lebih cepat dari ClickHouse (14 ms) di lookup satu kartu (Q6); update 1 baris PG 2,7 ms vs CH 73 ms; data ClickHouse 7,6× lebih kecil dari PostgreSQL.
    • Temuan yang layak diingat: (1) PostgreSQL default tidak selalu memakai parallel plan, jadi di-tuning supaya adil; (2) jumlah baris dan total angka hasil tiap query dicocokkan antar DBMS sebelum waktu dibandingkan; (3) MongoDB memakai ±1 core selama agregasi (diukur dengan docker stats), bukan dugaan.
    • Referensi dicari dari internet dan praktik insinyur lain: ClickBench (cara ukur cold/hot), dokumentasi ClickHouse (primary key, ALTER UPDATE), dokumentasi PostgreSQL (parallel query), blog Cloudflare (materialized view/rollup). Semua URL sudah dibuka dan dicek isinya.
    • Gen-AI dipakai dan diperbolehkan untuk tugas ini (boleh dipakai bikin konten, data uji, dan laporan); laporan mencantumkan pemakaiannya apa adanya, jangan dihapus.
    • Sisa untuk Faqih: (a) isi pilihan ClickHouse + kategori columnar di sheet project-2 IF4040 Daftar Kelompok Tugas Project.xlsx; (b) baca laporan sekali (terutama klaim success story dan angka) sebelum submit, dan pastikan paham tiap script supaya bisa menjelaskan; (c) submit PDF ke Edunex paling lambat 11 Oktober 2026 23:59. Nama file PDF IF4040_Project2_13523057.pdf — sesuaikan kalau Edunex minta format lain.

Files Terkait

  • Repo kode, data generator, hasil benchmark: D:\Kuliah\PDL\Project2 (lihat README.md di sana untuk cara menjalankan ulang)
  • Laporan PDF: D:\Kuliah\PDL\Project2\report\IF4040_Project2_13523057.pdf (sumber: report\report.md, dibangun dengan node report/build.mjs)
  • Arsip versi lengkap sebelum disederhanakan: D:\Kuliah\PDL\Project2_full
  • Brief asli: _Materi/PDL/ppt-baru/1790703889350_IF4040_Project2_sem1_2627.pdf
  • Tugas sebelumnya: 1_Project1_Basis_Data_Dokumen_dan_KeyValue (kasus Nimonspedia yang boleh dipakai ulang sebagai subset)