Salah satu kata kunci untuk memahami basis data terdisribusi adalah bahwa pada setiap server basis data yang terpisah secara fisik, tetapi secara fungsional basis data tersebut harus menyatu. Pada tulisan sebelumnya, saya menyampaikan salah satu tools yang dapat digunakan untuk mengimplementasikan konsep basis data terdistribusi adalah Cassandra. Anda dapat membacanya pada link berikut: https://www.kompasiana.com/natalisransi/5cc1c9b3a8bc15331f213752/basis-data-terdistribusi-casandra-dan-facebook.
Pada tahap desain basis data terdistribusi, hal yang perlu diperhatikan pertama adalah tentang struktur basis data tersebut. Ketika kita berbicara tentang struktur basis data terdistribusi, maka erat kaitanya dengan topologi yang terdapat pada pembahasan jaringan komputer. Topologi tersebut terdiri dari topologi bintang (star), topologi cincin (ring), dan topologi bus. Kita dapat memilih salah satu dari tetiga topologi tersebut pada saat akan merancang basis data terdistribusi. Tentu saja dengan berbagai kelebihan dan kekurangan masing-masing. Tentang ini akan dibahas lebih detil pada tulisan lain. Setelah memilih topologi jaringan yang akan digunakan, selanjutnya kita dapat melakukan desain terhadap struktur tabel pada setiap schema basis data yang akan digunakan. Berikut dijelasakan tentang pendekatan yang berkaitan dengan struktur tabel pada schema basis data.
Terdapat tiga pendekatan yang dapat digunakan. Pertama Replikasi, pendekatan ini dapat dilakukan dengan membuat salinan pada setiap tabel yang terdapat pada schema basis data. Kedua Fragmentasi, pendekatan dengan cara ini dapat dilakukan dengan cara memilah data dalam tabel dalam bentuk fragmen-fragmen. Selanjutnya setiap fragmen dipisah pada server yang berbeda. Pendekatan kedua ini bisa dilakukan dengan dua cara yakni fragmentasi secara horizontal dan vertikal. Fragmentasi secara horizontal dilakukan berdasarkan baris data yang terdapat pada tabel sedangkan fragmentasi secara vertikal dilakukan berdasarkan kolom pada tabel. Ketiga, Replikasi dan Fragmentasi, pendekatan ketiga ini dapat dilakukan dengan menggabungkan pendekatan yang pertama dan kedua.
Gambar 2. Basis data terdistribusi dengan menggunakan pendekatan fragmentasi secara horizontal
Saya akan memberikan ilustrasi untuk pendekatan dengan cara fragmentasi secara horizontal. Perhatikan Gambar 2, pada gambar tersebut mengambil contoh pencatatan data mahasiswa dengan struktur tabel yang sederhana. Pada Gambar 2 tersebut memperlihatkan 2 buah fragmen tabel yang secara fisik memiliki struktur schema yang sama, yakni memiliki kolom/atribut yang sama yaitu mahasiswa_id, nama, nim, tahun_ajaran, dan jurusan. Kedua fragmen tesebut sebut saja fragmen#1 dan fragmen#2. Pemisahan fragmen ini dilakukan melalui pendekatan horizontal, yakni menggunakan parameter baris pada tabel berdasarkan nilai kolom jurusan. Jadi data yang mahasiswa yang memiliki jurusan yang sama akan ditempatkan pada satu fragmen.
Selanjutnya pada tahap implementasi Fragmen#1 akan ditempatkan pada server dengan dilokasi yang berbeda dengan fragmen#2. Hal ini tentu saja berimplikasi pada perancangan query ketika akan meminta informasi seluruh data mahasiswa. Kita akan bahas dikesempatan lain.... untuk ini.
Salam
Referensi
[1] Fathansyah, 2012, Basis Data Edisi Revisi, Penerbit Informatika, Bandung