Minggu, 05 Mei 2013

Distribusi Database



Distribusi Database
Secara teori Database adalah suatu sistem yang memproses input berupa data menjadi output yaitu informasi yang diinginkan. Untuk memperoleh Database yang handal perlu diperhatikan hal-hal seperti keamanan data, kualitas data, kemudahan akses, kemudahan pengolahan data, dan kemungkinan untuk pengembangan Database tersebut. Pada DataBase Manajemen System (DBMS) yang tersentralisasi kegagalan pada suatu site akan mematikan seluruh operasional DBMS. Namun pada Distributed DataBase Manajemen System (DDBMS) kegagalan pada salah satu site, atau kegagalan pada hubungan komunikasi dapat membuat beberapa site tidak dapat di akses, tetapi tidak membuat operasional DBMS tidak dapat dijalankan. Dan juga jika terjadi kegagalan dalam pengaksesan data pada suatu site di karenakan jaringan komunikasi terputus maka site yang ingin mengakses data tersebut dapat mengakses pada site yang tidak mengalami kerusakan.

Database terdistribusi adalah sebuah database yang diatur oleh sebuah Database Management System (DBMS) yang tersimpan secara fisik pada beberapa komputer yang terdapat pada beberapa lokasi dengan terkoneksi pada sebuah jaringan.Jaringan tersebut harus bisa menyediakan akses bagi user untuk melakukan sharing data. Terdapat dua macam sifat dari database terdistribusi yaitu Heterogenous dan Homogenous. Homogenous artinya suatu database terdistribusi dimana data di distribusikan pada beberapa komputer dengan menggunakan DBMS(database management system) yang sama. DBMS digunakan pada database terdistribusi untuk melakukan koordinasi data pada beberapa node. Sedangkan Heterogenous adalah kebalikan dari Homogenous dimana data di sebarkan dengan menggunakan DBMS yang berbeda.

Basis data terdistribusi (distributed database) adalah suatu basis data yang berada di bawah kendali sistem manajemen basis data (DBMS) terpusat dengan peranti penyimpanan (storage devices) yang terpisah-pisah satu dari yang lainnya. Tempat penyimpanan ini dapat berada di satu lokasi yang secara fisik berdekatan (misal: dalam satu bangunan) atau terpisah oleh jarak yang jauh dan terhubung melalui jaringan internet. Penggunaan basis data terdistribusi dapat dilakukan di server internet, intranet atau ekstranet kantor, atau di jaringan perusahaan.
Untuk menjaga agar basis data yang terdistribusi tetap up-to-date, ada dua proses untuk menjaganya, yakni replikasi dan duplikasi. Dalam replikasi, digunakan suatu perangkat lunak untuk mencari — atau lebih tepatnya melacak — perubahan yang terjadi di satu basis data. Setelah perubahan dalam satu basis data teridentifikasi dan diketahui, baru kemudian dilakukan perubahan agar semua basis data sama satu dengan yang lainnya. Proses replikasi memakan waktu yang lama dan membebani komputer karena kompleksitas prosesnya. Sementara itu, proses duplikasi tidak sama dan tidak sekompleks replikasi. Dalam proses ini, satu basis data dijadikan master, kemudian diperbanyak menjadi sejumlah duplikat. Selama proses duplikasi berlangsung, perubahan hanya boleh dilakukan pada basis data master agar data lokal tidak tertimpa.
Karakteristik database terdistribusi yaitu :
  1. Kumpulan data yang digunakan bersama secara logic tersebar pada sejumlah computer yang berbeda
  2. Komputer yang dihubungkan menggunakan jaringan komunikasi.
  3. Data pada masing-masing situs dapat menangani aplikasi-aplikasi local secara otonom.
  4. Data pada masing situs di bawah kendali satu DBMS.
  5. Masing-masing DBMS berpartisipasi dalam sedikitnya satu aplikasi global.

Bentuk-bentuk Topologi Distribusi Data :
1.       Partialy Connected
Network Reliability rendah, biaya dapat ditekan Kontrol manajemen tidak terjamin.
2.      Tree Structured Network
Bersifat sentral, control manajemen lebih terjamin Kalau node pusat rusak, semua akan rusak. (setiap proses dimulai dari bawah).
3.      RingNetwork
Rusak satu, yang lain masih berjalan Kontrol manajemen kurang terjamin karena bersifat dsesentralisasi.
4.      StarNetwork
Rusak satu, yang lain masih berjalan Kontrol manajemen kurang terjamin karena bersifat dsesentralisasi.
5.      Fully Connected Network
Jika salah satu node rusak, yang lainnya masih dapat berjalan (biaya mahal), kontrol manajemen tidak terjamin.


Keuntungan Distribusi Database
  1. Pengawasan distribusi dan pengambilan data Jika beberpa site yang berbeda dihubungkan, seorang pemakai yang berada pada satu site dapat mengakses data pada site lain. Contoh : sistem distribusi pada sebuah bank memungkinkan seorang pemakai pada salah satu cabang dapat mengakses data cabang lain.
  2. Reliability dan availability Sistem distribusi dapat terus menerus berfungsi dalam menghadapi kegagalan dari site sendiri atau mata rantai komunikasi antar site.
  3. Kecepatan pemrosesan query Contoh : jika site-site gagal dalam sebuah sistem terdistribusi, site lainnya dapat melanjutkan operasi jika data telah direplikasi pada beberapa site.
  4. Otonomi lokal Pendistribusian sistem mengijinkan sekelompok individu dalam sebuah perusahaan untuk melatih pengawasan lokal melalui data mereka sendiri. Dengan kemampuan ini dapat mengurangi ketergantungan pada pusat pemrosesan.
  5. Efisiensi dan fleksibel Data dalam sistem distribusi dapat disimpan dekat dengan titik diman data tersebut dipergunakan. Data dapat secara dinamik bergerak atau disain, atau salinannya dapat dihapus.

Kekurangan Distribusi Database
  1. Harga software mahal Hal ini disebabkan sangat sulit untuk membuat sistem database distribusi.
  2. Kompleksitas Site-site beroperasi secara paralel sehingga lebih sulit untuk menjamin kebenaran dan algoritma. Adanya kesalahan mungkin tak dapat diketahui.
  3. Biaya pemrosesan tinggi Perubahan pesan dan penambahan perhitungan dibutuhkan untuk mencapai koordinasi antar site.
  4. Sulit menjaga keutuhan data Banyaknya pengaksesan data membuat kurangnya sekuritas terhadap data yang telah terdistribusi.
  5. Kurangnya standar Tidak ada tool atau metodologi untuk membantu user mengubah database terpusat ke database terdistribusi.
  6. Kurang pengalaman Sistem DB terdistribusi bertujuan umum (generalpurpose) tidak sering digunakan. Yang digunakan adalah sistem prototype yang dibuat untuk satu aplikasi
  7. Perancangan basis data lebih kompleks Sebelumnya menjadi keuntungan. Tetapi karena distribusi menyebabkan masalah sinkronisasi dan koordinasi, kontrol terdistribusi menjadi kerugian atau kekurangan di masalah ini.

Permasalahan yang ada pada Database Distribusi
Distributed database memang memiliki banyak keunggulan terlebih untuk struktur organisasi saat ini. Namun diantara keunggulan itu, distributed database juga memungkinkan suatu sistem menjadi lebih kompleks, karena banyaknya database yang tersebar dan jumlah data yang banyak dan terus meningkat didalam suatu organisasi maupun perusahaan. Jika suatu database memiliki sejumlah data yang tersimpan dengan banyak query dan tabel, suatu permintaan mengakibatkan proses pencarian data atau source data menjadi lambat Selain itu banyaknya user yang dapat mengakses suatu tampilan web atau web display suatu sistem informasi juga menjadi lambat.
pada source data konvensional perlu dilakukan query bertingkat. Source data dilakukan mulai dari table yang satu kemudian tabel yang lain lalu ke query yang satu ke query yang lain. Bayangkan jika ada ratusan atau ribuan tabel dan query didalam suatu database, kemudian database itu terdistribusi sehingga terjadi hubungan antara database yang satu dengan yang lain. Berapa lama waktu yang dibutuhkan hanya untuk memberikan satu tampilan web?  Dari penjelasan di atas, dapat dirumuskan beberapa permasalahan yaitu sebagai berikut :
  1. Apakah proses view karena query bertingkat sudah ada penelitiannya?
  2. Berapa dampak dari lambatnya sebuah proses akibat query bertingkat?
  3. Metode apa untuk mempercepat proses display pada suatu sistem database terdistribusi?
  4. Apa kelemahan dan kelebihannya dengan metode baru yang diusulkan ini?

Pemecahan Masalah :
Untuk mengatasi berbagai masalah diatas, maka diperlukan proses yang cepat dan efisien dalam mengakses seluruh data yang banyak dan tidak teratur di database, terlebih untuk suatu sistem database yang terdistribusi. Saat ini programmer lebih memilih menggunakan Ms Acces dan fungsi query untuk mengerjakan seluruh script perintah. Alhasil proses query besar-besaran terjadi setiap membutuhkan data. Penggunaan SQL server bukanlah hal yang baru dalam hal ini, maka dari itu diusulkan untuk dibentuknya suatu system yang lebih menuju ke proses pada saat loading penyajian data dan memiliki kecepatan yang secara kuadratik lebih cepat dibandingkan dengan cara konvensional. DMQ (Data Mart Query) merupakan metode yang menerapkan analogi ”Waste Space for Speed”. DMQ juga merupakan salah satu metode yang berbentuk terhadap pemisahan antara “Engine” dan “Display”. Dengan kata lain metode DMQ dapat langsung menampilkan source code pada display dan proses query yang dikerjakan pada engine. Secara umum DMQ menghasilkan sebuah display data yang jauh lebih cepat dibandingkan dengan menggunakan metode umum, karena DMQ tidak melakukan proses lagi dalam menampilkan data. Dan akhirnya DMQ merupakan suatu solusi yang dapat membantu kebutuhan    user pada proses display data yang sebelumnya sangat lambat dan tidak efesien.
Pada Data Mart Query sumber data berasal dari tabel. Jadi pada proses DMQ ini, mengalokasikan seluruh data yang dipilih ke dalam suatu tabel.Sehingga user tidak perlu memikirkan pembuatan struktur tabel tujuan, yang perlu dipikirkan hanyalah dimana data tersebut berada. DMQ ini digunakan untuk menghindari penggunaan Query majemuk. DMQ akan mengorbankan besarnya kapasitas penyimpanan data (space harddisc) untuk meningkatkan kecepatan (increase speed). DMQ membutuhkan triger update data untuk menghasilkan data yang mutakhir.
Dengan Data Mart Query (DMQ) proses pencarian data lebih singkat, karena tidak seperti source data konvensional yang harus mencari dari tabel. Data Mart Query (DMQ) bisa memotong waktu proses karena proses pencarian data hanya ke satu tabel yang telah digabungkan.
DMQ bisa membuat tampilan web lebih cepat dilakukan karena tidak memerlukan proses pencarian yang rumit.

Implementasi Sistem Database Terdistribusi Pada MySQL
Secara definisi replikasi memiliki pengertian sebagai suatu proses mencopy atau mentransfer data dari suatu database ke database lain yang tersimpan pada komputer berbeda.   Pada umumnya MySQL dipergunakan secara massal sebagai Database yang cukup handal dalam menangani sistem database terpusat, seperti kebanyakan sistem database yang digunakan untuk web site, content management system, dan lain-lain. Bahkan hampir seluruh penyedia layanan hosting menyertakan dukungan produk MySQL untuk kelengkapan service-nya.
Penggunaan MySQL untuk mendukung proses replikasi database pada saat artikel ini ditulis masih sangat jarang ditemui. Implementasi sistem database terdistribusi kebanyakan masih berkiblat pada software-software dengan bandrol yang tinggi seperti Oracle, SQL Server, IBM DB2 dan lain sebagainya.
MySQL dalam hal ini tentunya tidak mau ketinggalan. Mulai versi 5.0 MySQL sudah mendukung sistem replikasi yang mana sebuah database server yang berfungsi sebagai master dapat tereplikasi datanya ke dalam satu atau lebih database server yang difungsikan sebagai slave.
Database terdistribusi merupakan sebuah database yang berada dibawah kontrol DBMS sentral dimana tempat penyimpanan tidak terattach ke suatu cpu tetapi mungkin disimpan di multiple komputer dalam lokasi fisik yang sama atau disebarkan melalui jaringan komputer yang saling terkoneksi.
Kumpulan dari data dapat didistribusikan ke multiple lokasi fisik. database terdistribusi merupakan database yang didistribusikan ke partisi-partisi/ fragmen2 terpisah. setiap partisi dari database tersebut mungkin di replikasi (seperti RAID).
Disamping replikasi database, terdapat masih banyak lagi desain teknologi untuk database terdistribusi. contohnya autonomy lokal, sinkronisasi dan asinkronisasi database terdistribusi.

Kesimpulan antara database distribusi dibanding database terpusat
 Kelemahan Database Distribusi :
  • Harga software mahal Hal ini disebabkan sangat sulit untuk membuat system database distribusi.
  • Kompleksitas Site-site beroperasi secara paralel sehingga lebih sulit untuk menjamin kebenaran dan algoritma. Adanya kesalahan mungkin tak dapat diketahui.
  • Biaya pemrosesan tinggi Perubahan pesan dan penambahan perhitungan dibutuhkan untuk mencapai koordinasi antar site.
  • Sulit menjaga keutuhan data Banyaknya pengaksesan data membuat kurangnya sekuritas terhadap data yang telah terdistribusi.
  • Kurangnya standar Tidak ada tool atau metodologi untuk membantu user mengubah database terpusat ke database terdistribusi.
  • Kurang pengalaman Sistem DB terdistribusi bertujuan umum (generalpurpose) tidak sering digunakan. Yang digunakan adalah sistem prototype yang dibuat untuk satu aplikasi
  • Perancangan basis data lebih kompleks Sebelumnya menjadi keuntungan. Tetapi karena distribusi menyebabkan masalah sinkronisasi dan koordinasi, kontrol terdistribusi menjadi kerugian atau kekurangan di masalah ini.

 Keuntungan Database Distribusi :
  • Pengawasan distribusi dan pengambilan data Jika beberpa site yang berbeda dihubungkan, seorang pemakai yang berada pada satu site dapat mengakses data pada site lain. Contoh : sistem distribusi pada sebuah bank memungkinkan seorang pemakai pada salah satu cabang dapat mengakses data cabang lain.
  • Reliability dan availability Sistem distribusi dapat terus menerus berfungsi dalam menghadapi kegagalan dari site sendiri atau mata rantai komunikasi antar site.
  • Kecepatan pemrosesan query Contoh : jika site-site gagal dalam sebuah sistem terdistribusi, site lainnya dapat melanjutkan operasi jika data telah direplikasi pada beberapa site.
  • Otonomi lokal Pendistribusian sistem mengijinkan sekelompok individu dalam sebuah perusahaan untuk melatih pengawasan lokal melalui data mereka sendiri. Dengan kemampuan ini dapat mengurangi ketergantungan pada pusat pemrosesan.
  • Efisiensi dan fleksibel Data dalam sistem distribusi dapat disimpan dekat dengan titik diman data tersebut dipergunakan. Data dapat secara dinamik bergerak atau disain, atau salinannya dapat dihapus.
  • merefleksikan struktur organisasi ,  setiap fragmen dilokasikan didepartemen yang berelasi
  • ketersediaan,  kesalahan dalam satu fragmen tidak akan mempengaruhi database keseluruhan
  • performansi,  adanya balancing database didalam server
  • modularitas,  sistem dapat dimodifikasi tanpa mempengaruhi modul lain.
Kelebihan Database Terpusat       :
  • Mudah dipahami
  • Mudah dalam pembaharuan data.
  • Sangat cepat dalam menampilan data yg dikehendaki.
  • Proses queri tertentu sangat cepat didapat
  • Tidak rumit
  • Loading sistem aplikasi lebih cepat
 
 Kelemahan Database Terpusat      :
  • Kekurangan Penampilan data terlihat tidak efisien.
  • Tidak bisa dilakukan pencarian data pada medan atribut.
  • Mengubah struktur data akan mengalami kesulitan.
Sumber : www.google.com