Nama : Ryan Maulana NPM : 5210311006
Matkul : Sistem Basis Data Terdistribusi
1. Buatkan arsitektur database terdistribusi pada suatu kasus (kasus bebas), serta beri penjelasan (30%)
Kasus : Gramedia
Gramedia adalah sebuah perusahaan besar yang memiliki beberapa cabang di berbagai kota besar di Indonesia. Dalam hal ini, arsitektur database terdistribusi akan sangat bermanfaat untuk mendukung kebutuhan operasional dan manajemen data Gramedia yang tersebar di banyak lokasi.
Arsitektur Database Terdisribusi
• Database Pusat:
Terdapat satu atau beberapa server pusat yang bertindak sebagai pusat kontrol utama dari seluruh operasi Gramedia.
Server pusat menyimpan data yang bersifat global seperti data pelanggan, informasi buku, laporan keuangan, dan lainnya.
DBMS Mengunakan Mysql
• Database Cabang:
Database server di cabang dapat berupa server fisik atau virtual yang menjalankan DBMS.
Data di cabang dapat disinkronkan dengan server pusat secara berkala untuk memastikan konsistensi data antar-cabang dan dengan server pusat.
• Sistem Replikasi:
Diperlukan sistem replikasi data yang dapat mengirimkan perubahan data dari server pusat ke database server di cabang dan sebaliknya.
Replikasi ini memastikan bahwa data di setiap cabang selalu terupdate dengan data terbaru dari server pusat, dan sebaliknya.
Replikasi dapat dilakukan secara sinkron atau asinkron tergantung pada kebutuhan dan jaringan yang tersedia.
• Load Balancing:
Load balancing dapat diterapkan di server pusat untuk memastikan keseimbangan beban kerja antara server-server yang terhubung.
Ini penting untuk mengoptimalkan kinerja sistem dan mencegah overload pada satu server tertentu.
• Keamanan:
Penting untuk menerapkan lapisan keamanan yang kuat seperti enkripsi data, firewall, dan kontrol akses untuk melindungi data Gramedia dari ancaman keamanan.
Penggunaan protokol keamanan seperti SSL/TLS untuk komunikasi antara server pusat dan cabang sangat disarankan.
Penjelasan:
Arsitektur database terdistribusi untuk Gramedia dirancang untuk mengatasi tantangan dalam mengelola data yang tersebar di berbagai lokasi cabang. Dengan arsitektur ini, setiap cabang memiliki akses cepat dan aman ke data yang mereka perlukan, sementara server pusat memastikan konsistensi dan integritas data di seluruh jaringan. Sistem replikasi memastikan bahwa perubahan data di satu tempat segera disinkronkan ke tempat lain, sehingga seluruh operasi Gramedia dapat berjalan dengan lancar dan efisien.
2. Jelaskan teknik-teknik dalam distribusi Data berikan 2 contoh penerapannya (30%)
1) Replikasi data adalah metode di mana data disalin dan disimpan di beberapa lokasi dalam sebuah sistem yang terdistribusi. Setiap lokasi menyimpan salinan yang sama dari data yang identik. Ketika terjadi perubahan data di salah satu lokasi, perubahan tersebut secara otomatis disalin ke lokasi lainnya.
Contoh Penerapan Replikasi Data:
• E-commerce: Pada platform e-commerce yang melayani pelanggan dari berbagai wilayah, informasi produk seperti deskripsi, harga, dan stok ketersediaan dapat direplikasi ke server regional yang terdekat dengan pelanggan. Dengan demikian, memungkinkan respons yang cepat dan efisien terhadap permintaan pembelian dari pelanggan di berbagai wilayah.
• Layanan Kesehatan: Data medis pasien seperti riwayat penyakit, hasil tes, dan resep obat dapat direplikasi antara rumah sakit, klinik, dan dokter umum. Hal ini memastikan akses yang cepat dan koordinasi perawatan yang efisien antar penyedia layanan kesehatan.
2) Fragmentasi data adalah teknik yang membagi dataset besar menjadi bagian-bagian kecil dan mendistribusikannya ke beberapa node dalam sistem terdistribusi. Setiap bagian dataset, atau partisi, dikelola secara independen.
Contoh Penerapan Partisi Data:
• Media Sosial: Platform media sosial dapat membagi data pengguna berdasarkan geografi atau minat. Misalnya, data pengguna dari Amerika Utara dapat ditempatkan dalam satu partisi, sedangkan data pengguna dari Eropa dapat ditempatkan dalam partisi lain. Dengan demikian, memudahkan pengelolaan skala dan meningkatkan kinerja akses pengguna.
• Analisis Data: Dalam sistem analisis data terdistribusi seperti Apache Spark, data besar dapat dipartisi berdasarkan kunci tertentu seperti tanggal atau kategori. Setiap partisi data kemudian diproses secara terpisah oleh node-node dalam sistem untuk melakukan perhitungan statistik atau menerapkan algoritma analisis yang kompleks. Hal ini memungkinkan pengelolaan data yang lebih efisien dan peningkatan kinerja dalam analisis data skala besar.
3. Dalam kasus soal no 1 yang anda kerjakan, jika akan menerapkan pendekatan Fragmentasi, tabel mana yang akan anda terapkan. Jelaskan cara kerjanya?
Tabel Transaksi Penjualan:
• Fragmentasi Horizontal: Tabel transaksi penjualan dapat dipecah berdasarkan kriteria geografis, misalnya, setiap fragmen mewakili transaksi dari wilayah tertentu (misalnya, satu fragmen untuk transaksi dari Jakarta, satu fragmen untuk transaksi dari Surabaya, dan seterusnya). Cara ini memungkinkan penyebaran beban query dan akses data secara lebih merata, terutama jika Gramedia memiliki banyak gerai atau cabang di berbagai lokasi.
• Fragmentasi Vertikal: Tabel transaksi penjualan juga dapat dipecah berdasarkan jenis informasi, seperti memisahkan data pelanggan, data produk, dan data transaksi itu sendiri ke dalam fragmen- fragmen terpisah. Hal ini dapat membantu dalam mengoptimalkan kueri-kueri yang membutuhkan subset data tertentu tanpa harus memuat semua kolom dari tabel tersebut.
Tabel Inventaris Produk:
• Fragmentasi Horizontal: Tabel inventaris produk dapat dipecah berdasarkan kategori produk atau lokasi gudang. Misalnya, satu fragmen mewakili inventaris produk dari kategori buku, satu fragmen
untuk kategori mainan, dan seterusnya. Atau, satu fragmen mewakili inventaris produk di gudang pusat, satu fragmen untuk gudang regional, dan seterusnya.
• Fragmentasi Vertikal: Tabel inventaris produk juga dapat dipecah berdasarkan atribut-atribut produk tertentu, seperti memisahkan atribut harga, stok, dan deskripsi produk ke dalam fragmen- fragmen terpisah. Hal ini memungkinkan optimasi akses data tergantung pada kebutuhan aplikasi.
Cara kerja adalah sebagai berikut:
o Ketika sebuah tabel dipecah menjadi fragmen, setiap fragmen tersebut didistribusikan ke node- node dalam sistem basis data terdistribusi.
o Setiap node akan bertanggung jawab untuk menyimpan dan mengelola satu atau beberapa fragmen dari tabel tersebut.
o Ketika sebuah query diterima, sistem akan menentukan di mana fragmen yang diperlukan tersimpan, kemudian akan mengirimkan query tersebut ke node yang sesuai.
o Node-node tersebut kemudian akan menjalankan operasi-operasi yang diperlukan pada fragmen yang mereka kelola, dan hasilnya dikembalikan ke node yang menginisiasi query tersebut.
4. Dalam kasus soal no 1 yang anda kerjakan ada berapa tabel yang dibuat tereplikasi? Sebutkan nama tabel dan struktur tabelnya (20%)
• Tabel Pelanggan: Informasi mengenai pelanggan yang sering dimanfaatkan dalam aktivitas operasional sehari-hari, seperti pengelolaan pemesanan, pengiriman, dan pemantauan pesanan, dapat direplikasi ke beberapa node untuk meningkatkan kecepatan akses dan memastikan konsistensi data pelanggan di berbagai lokasi.
Struktur Tabel:
o ID_Pelanggan (Primary Key) o Nama
o Alamat o Email
o Nomor_Telepon
• Tabel Produk: Detail mengenai produk yang sering diakses melalui platform e-commerce Gramedia, termasuk informasi harga, deskripsi, dan status stok, dapat direplikasi di beberapa node untuk mempercepat proses pencarian produk dan meningkatkan performa halaman produk.
Struktur Tabel:
o ID_Produk (Primary Key) o Nama_Produk
o Deskripsi o Harga o Stok
o Kategori_ID (Foreign Key ke Tabel Kategori)
• Tabel Kategori Produk: Data terkait kategori produk yang sering dipergunakan untuk pengelompokan produk di situs web atau analisis bisnis dapat direplikasi untuk menjaga keseragaman dan ketersediaan informasi kategori di berbagai bagian sistem.
Struktur Tabel:
o ID_Kategori (Primary Key) o Nama_Kategori
o Deskripsi
• Tabel Transaksi: Rincian mengenai transaksi penjualan yang sering dimanfaatkan untuk keperluan laporan keuangan, analisis penjualan, dan pemantauan kinerja bisnis dapat direplikasi di beberapa node untuk meningkatkan kecepatan akses dan memastikan ketersediaan data transaksi secara real-time.
Struktur Tabel:
o ID_Transaksi (Primary Key) o Tanggal_Transaksi
o Total_Harga
o Metode_Pembayaran o Status_Transaksi
• Tabel Inventaris: Informasi terkait stok inventaris produk yang sering diperbaharui dan diakses untuk pengelolaan persediaan dan proses pemesanan ulang dapat direplikasi di beberapa node untuk menjamin ketersediaan informasi inventaris di berbagai unit organisasi.
Struktur Tabel:
o ID_Inventaris (Primary Key)
o Produk_ID (Foreign Key ke Tabel Produk) o Jumlah_Stok
o Tanggal_Update o Lokasi