💻

Distributed Database Simulator

Visualize node replication, CAP theorem tradeoffs, and consistency propagation

💻 Coba sekarang

\ud83e\udd14 What Is a Distributed Database?

A distributed database spreads data across multiple servers (nodes) in different locations. The CAP theorem says you can only guarantee two of three properties: Consistency (every read sees the latest write), Availability (every request gets a response), and Partition Tolerance (the system works despite network splits).

Mengapa ini penting? Every major internet service from Google to Netflix relies on distributed databases. Understanding the tradeoffs between consistency and availability is essential for building reliable, scalable systems that serve billions of users.

📖 Pelajari lebih dalam

Analogi 1

Bayangkan sebuah sistem perpustakaan dengan cabang di 5 kota, semuanya berbagi katalog yang sama. Ketika seseorang memeriksa buku di Cabang A, semua cabang lainnya perlu memperbarui catatan mereka. Jika saluran telepon ke Cabang C terputus (partisi jaringan), Cabang C mungkin masih menampilkan buku tersedia — itu adalah masalah konsistensi. Anda dapat mengunci semua pinjaman hingga Cabang C terhubung kembali (memilih konsistensi), atau membiarkan setiap cabang tetap memberikan pinjaman secara independen dan melakukan rekonsiliasi nanti (memilih ketersediaan).

Analogi 2

Bayangkan obrolan grup dengan teman-teman dari berbagai negara. Saat Anda mengirim pesan, semua orang akan melihatnya dalam urutan yang sama. Namun jika koneksi internet seseorang terputus, mereka akan kehilangan pesan dan mungkin membalas informasi yang sudah ketinggalan zaman sehingga menciptakan alur percakapan yang saling bertentangan. Basis data terdistribusi menghadapi masalah serupa dalam skala besar, dan menggunakan teknik seperti jam vektor dan CRDT untuk menyelesaikan kekacauan ketika semua orang terhubung kembali.

🎯 Tips Simulator

Pemula

Mulailah dengan 5 node dan Faktor Replikasi 3 — ini berarti setiap bagian data disimpan di 3 dari 5 node

Menengah

Bandingkan Konsistensi Tulis ALL vs ONE — ALL lebih lambat namun menjamin setiap replika memiliki data terbaru

Ahli

Nonaktifkan Jam Vektor dan picu penulisan serentak selama partisi untuk mengamati konflik yang belum terselesaikan

📚 Glosarium

CAP Theorem
Teorema Brewer menyatakan bahwa sistem terdistribusi dapat memberikan paling banyak dua dari tiga jaminan: Konsistensi, Ketersediaan, dan Toleransi Partisi. Selama partisi jaringan, Anda harus memilih antara C dan A.
Replication Factor
Jumlah salinan setiap bagian data yang disimpan di seluruh cluster. Faktor replikasi 3 berarti setiap penulisan disimpan pada 3 node berbeda.
Quorum
Mayoritas replika yang harus mengakui baca atau tulis agar operasi berhasil. Untuk RF=3, kuorumnya adalah 2. Kuorum pembacaan yang dipadukan dengan kuorum penulisan menjamin konsistensi.
Consistency Level
Menentukan berapa banyak replika yang harus merespons sebelum pembacaan atau penulisan dianggap berhasil. ONE adalah yang tercepat tetapi mungkin mengembalikan data lama; SEMUA paling lambat tetapi selalu konsisten.
Network Partition
Kegagalan dalam komunikasi jaringan yang membagi cluster menjadi dua atau lebih kelompok node yang tidak dapat berkomunikasi satu sama lain, memaksa pilihan antara konsistensi dan ketersediaan.
Split-Brain
Kondisi berbahaya ketika partisi jaringan menyebabkan dua grup node secara independen menerima penulisan yang bertentangan, dan meyakini bahwa mereka adalah klaster otoritatif.
Vector Clock
Struktur data yang melacak pengurutan peristiwa secara kausal di seluruh node yang terdistribusi. Setiap node memelihara penghitung logis, dan membandingkan jam vektor mengungkapkan apakah peristiwa terkait secara kausal atau terjadi bersamaan.
CRDT
Tipe Data Replikasi Bebas Konflik — struktur data yang dirancang sedemikian rupa sehingga pembaruan serentak pada replika berbeda selalu menyatu ke keadaan yang sama tanpa koordinasi, menggunakan properti matematika seperti komutatifitas.
Last-Write-Wins (LWW)
Strategi resolusi konflik sederhana yang mana penulisan dengan stempel waktu terbaru akan menang. Mudah diterapkan tetapi dapat membuang pembaruan secara bersamaan secara diam-diam.
Gossip Protocol
Pola komunikasi peer-to-peer di mana setiap node secara berkala bertukar informasi negara dengan rekan acak, yang pada akhirnya menyebarkan pembaruan ke semua node — terinspirasi oleh bagaimana rumor menyebar.
Anti-Entropy
Proses perbaikan latar belakang di mana node secara berkala membandingkan data mereka dengan rekan-rekannya dan menyinkronkan perbedaan, memastikan konsistensi bahkan setelah kegagalan.
Merkle Tree
Struktur data pohon hash yang digunakan untuk mendeteksi perbedaan antara data replika secara efisien. Node membandingkan hash root terlebih dahulu, lalu menelusuri untuk menemukan dan memperbaiki hanya kunci spesifik yang berbeda.
Tombstone
Penanda yang menunjukkan bahwa data telah dihapus. Batu nisan harus disimpan selama periode TTL untuk mencegah data yang dihapus muncul kembali ketika node yang dipartisi dengan data lama bergabung kembali dengan cluster.
Eventual Consistency
Model konsistensi yang menjamin bahwa jika tidak ada pembaruan baru yang dilakukan, semua replika pada akhirnya akan menyatu ke nilai yang sama. Penundaan propagasi adalah waktu hingga konvergensi.
Write-Ahead Log (WAL)
Teknik ketahanan di mana perubahan ditulis ke log berurutan sebelum diterapkan ke database, memungkinkan pemulihan kerusakan dengan memutar ulang log.

🏆 Tokoh Utama

Eric Brewer (2000)

Merumuskan Teorema CAP di UC Berkeley, yang secara mendasar membentuk desain database terdistribusi dengan membuktikan ketidakmungkinan menjamin konsistensi, ketersediaan, dan toleransi partisi secara bersamaan

Leslie Lamport (1998)

Menciptakan algoritme konsensus Paxos dan memelopori teori sistem terdistribusi dengan konsep seperti jam logis, stempel waktu Lamport, dan Masalah Jenderal Bizantium

Diego Ongaro (2014)

Merancang algoritma konsensus Raft di Stanford, membuat konsensus terdistribusi dapat dimengerti dan praktis untuk sistem dunia nyata seperti dll dan CockroachDB

Werner Vogels (2007)

Memimpin desain Dynamo Amazon, yang memperkenalkan hashing yang konsisten, jam vektor, dan kuorum yang ceroboh — menginspirasi Cassandra, Riak, dan seluruh gerakan NoSQL

Jeff Dean & Wilson Hsieh (2012)

Google Spanner yang dirancang bersama, database pertama yang didistribusikan secara global dengan transaksi yang konsisten secara eksternal menggunakan TrueTime API dan sinkronisasi GPS/jam atom

Marc Shapiro (2011)

Memelopori Tipe Data Replikasi Bebas Konflik (CRDT) di INRIA, memberikan landasan matematika untuk konsistensi akhir yang bebas koordinasi

🎓 Sumber Belajar

💬 Pesan untuk Pelajar

Basis data terdistribusi adalah tulang punggung internet modern. Setiap kali Anda memposting di media sosial, streaming video, atau melakukan pembelian online, lusinan node database terdistribusi berkoordinasi di belakang layar. Teorema CAP mengajarkan kita bahwa kesempurnaan tidak mungkin terjadi di dunia di mana jaringan gagal – dan bahwa rekayasa adalah tentang membuat pengorbanan yang cerdas. Konsep yang Anda jelajahi di sini — replikasi, konsensus, resolusi konflik — adalah tantangan yang sama yang dipecahkan oleh para insinyur di Google, Amazon, dan Netflix setiap hari. Memahami dasar-dasar ini akan memberi Anda apresiasi mendalam terhadap cara kerja dunia digital, dan mungkin menginspirasi Anda untuk membangun sistem data tangguh generasi berikutnya.

Mulai

Gratis, tanpa daftar

Mulai →