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 diD:\Kuliah\PDL\Project2_full. Script Python dijalankan lewat containerpydi 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 PDFIF4040_Project2_13523057.pdf— sesuaikan kalau Edunex minta format lain.
Files Terkait
- Repo kode, data generator, hasil benchmark:
D:\Kuliah\PDL\Project2(lihatREADME.mddi sana untuk cara menjalankan ulang) - Laporan PDF:
D:\Kuliah\PDL\Project2\report\IF4040_Project2_13523057.pdf(sumber:report\report.md, dibangun dengannode 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)