Senin, 14 Oktober 2013

Database Terdistribusi

Database Terdistribusi

   Database terdistribusi adalah sebuah database  logic  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. 



    Tujuan utama dari database terdistribusi menyediakan kemudahan untuk mengakses data bagi user pada banyak lokasi yang berjauhan. Untuk mencapai tujuan ini system dari database terdistribusi harus menyediakan apa yang di sebut  location transparency  yang artinya seorang user dalam mengakses data tidak akan terbatas pada tempat, di manapun dia berada user dapat mengakases data. Tujuan kedua dari database terdistribusi adalah  local autonomy, yaitu kemampuan untuk mengatur database local dan mengoperasikannya secara sendiri  –  sendiri jika terjadi error atau kerusakan pada koneksi antar komputer. 

  Ada dua macam teknologi yang di gunakan untuk membangun sebuah database terditribusi. Yang pertama adalah synchronous distributed database technology dimana data yang terhubung pada suatu jaringan akan selalu ter-update sehingga user pada beberapa  tempat dapat mengakses data. Sedangkan teknologi yang lain yaitu  asynchronous distributed database technology  di mana system akan menyediakan suatu kopi dari replikasi data pada beberapa node sehingga local server dapat mengakses data tanpa harus keluar dari jaringan lokal. Metode yang biasa di gunakan yaitu  Replication  serta  circular Replication.
Replikasi database

Adapun salah satu cara untuk mendistribusikan database adalah dengan replikasi.
Ada 5 keuntungan dari replikasi data yaitu :
1.   Reliability jika sebuah sistem yang menyimpan suatu database mengalami kerusakan maka sistem lain dapat menemukan kopi dari database yang di maksud pada node yang lain yang tidak mengalami kerusakan system karena database di simpan pada beberapa node.
2.   Fast response setiap situs mempunyai kopi dari database sehingga proses query data dapat berjalan lebih cepat.
3.   Node decoupling setiap transaksi data bisa di proses tanpa koordinasi antar jaringan sehingga jika sebuah node sibuk atau mengalami kesalahan maka akan ada sistem tersendiri yang menangani koordinas antar data.
4.  Reduced network trafic at prime time kemampuan sistem untuk memindahkan transaksi database pada jaringan yang sedang tidak sibuk atau berfungsi dengan tidak sebagaimana mestinya.
Circular replication mengatasi kelemahan dalam replikasi data. Bila dalam replikasi biasa replikasi data hanya berjalan pada satu arah, maka pada circular replication replikasi data akan berlangsung secara circular .
Dalam Circular Replication, juga di sebut replikasi multi master, replikasi data tidak hanya berjalan satu arah, tapi ke semua simpul sehingga database pada semua simpul akan tetap sama. Tapi replikasi tidak akan terjadi pada simpul yang melakukan replikasi itu sendiri, hal ini di tangani oleh sintaks ‘replicate-same-server = 0’ pada file konfigurasi mysql.

Hal – hal yang penting dalam pengaturan circular replication :
•  Server-id : pada masing – masing simpul, server-id harus unik
•  Replicate-do-db : bagi server slave perintah ini  digunakan untuk mendapatkan database yang di replikasi
•  Binlog-do-db  : bagi master perintah ini di gunakan untuk  mengirim database yang di replikasikan pada slave.
•  replicate-same-server-id : di gunakan bagi semua node sebagai tanda untuk tidak mereplikasi database pada diri
    mereka sendiri
•  auto_increment_increment : mengontrol nilai iterasi pada setiap pelaksanaan nilai AUTO_INCREMENT
•  auto_increment_offset : nilai awal dari nilai kolom  AUTO_INCREMENT
•  master-host : Nomor IP dari  master
•  master-user : user yang di buat pada master yang di gunakan oleh slave untuk melakukan replikasi
•  master-passsword : password yang mengijinkan slave untuk melakukan replikasi data.

Karakteristik database terdistribusi yaitu :
Kumpulan data yang digunakan bersama secara logic tersebar pada sejumlah computer yang berbeda
Komputer yang dihubungkan menggunakan jaringan komunikasi.
Data pada masing-masing situs dapat menangani aplikasi-aplikasi local secara otonom.
Data pada masing situs di bawah kendali satu DBMS.
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
Kalau salah satu node rusak, yang lainnya masih dapat berjalan (biaya mahal), kontrol manajemen tidak terjamin.

Keuntungan Distribusi Database

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.

Kekurangan Distribusi Database

Harga software mahal Hal ini disebabkan sangat sulit untuk membuat sistem 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.

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 :
Apakah proses view karena query bertingkat sudah ada penelitiannya?
Berapa dampak dari lambatnya sebuah proses akibat query bertingkat?
Metode apa untuk mempercepat proses display pada suatu sistem database terdistribusi?
Apa kelemahan dan kelebihannya dengan metode baru yang diusulkan ini?

Literature review

Banyak penelitian yang sebelumnya dilakukan mengenai distributed database. Dalam upaya pengembangan distributed database ini perlu dilakukan studi pustaka sebagai salah satu dari penerapan metode penelitian yang akan dilakukan. Diantaranya adalah mengidentifikasikan kesenjangan (identify gaps), menghindari pembuatan ulang (reinventing the wheel), mengidentifikasikan metode yang pernah dilakukan, meneruskan penelitian sebelumnya, serta mengetahui orang lain yang spesialisasi dan area penelitiannya sama dibidang ini. Beberapa Literature review tersebut adalah sebagai berikut :

Penelitian ini dilakukan oleh Jun Lin Lin dan Margaret H. Dunham dari Southerm Methodist University dan Mario A. Nascimento berjudul “ A Survey of Distributed Database Checkpointing”. Penelitian ini membahas mengenai checkpointing pada database terdistribusi dan pendekatan-pendekatan yang digunakan. Penelitian ini bermula dari adanya banyak survey yang dilakukan berkenaan dengan proses recovery database, dan banyak teknik yang diusulkan untuk mengatasinya. Dengan distributed database checkpointing, dapat mengurangi waktu proses recovery suatu kegagalan didalam database terdistribusi. Checkpointing dapat digambarkan sebagai suatu aktivitas menulis informasi ke penyimpanan yang stabil selama operasi normal dalam rangka mengurangi jumlah pekerjaan pada saat restart. Penelitian ini membantah bahwa sedikit batasan dan sedikit sumber daya menjadi masalah dalam pendekatan database terdistribusi, serta Membantah bahwa checkpointing hanya dapat digunakan untuk sistem distribusi banyak multidatabase. Meskipun penelitian ini telah banyak dilakukan namun cukup rumit dalam implementasinya. Dengan penelitian ini kita dapat mengembangkan database terdistribusi dengan checkpointing untuk mempercepat proses recovery database.

Penelitian ini dilakukan oleh David J. DeWitt dari Universitas Wisconsin dan Jim Gray tahun 1992 berjudul “Parallel Database Systems:The Future of High Performance Database Processing”. Penelitian ini dilakukan dengan Konsep database terdistribusi yang merupakan database yang disimpan pada beberapa komputer yang terdistribusi satu sama lain. Pada penelitian ini, dijelaskan Sistem database paralel mulai menggantikan Mainframe komputer besar untuk pengolahan data dan transaksi tugas. Paralel database komputer memiliki arsitektur yang berkembang dari penggunaan perangkat lunak yang eksotik untuk perangkat keras yang paralel. Seperti kebanyakan aplikasi, user menginginkan hardware sistem database yang murah, cepat. Ini menyangkut tentang prosesor, memori dan disk. Akibatnya, konsep hardware database yang eksotis tidak sesuai untuk teknologi saat ini. Di lain sisi, ketersediaan microprocessors cepat, murah dan kecil menjadi paket standar murah tapi cepat sehingga menjadi platform yang ideal untuk sistem database paralel. Stonebraker mengusulkan rancangan sederhana untuk spektrum disain yaitu shared memory, shared disk dan shared nothing. Dan bahasa yang digunakan dalam database adalah SQL sesuai dengan standar ANSI dan ISO. Dengan penelitian ini, kita dapat mengembangkan sistem database agar dapat digunakan diberbagai ruang lingkup.

Penelitian ini dilakukan oleh Carolyn Mitchell dari Norfolk State University berjudul “Components of a Distributed Database” tahun 2004. Penelitian ini membahas tentang komponen-komponen didalam database. Salah satu komponen utama dalam DDBMS adalah Database Manager. “Sebuah Database Manager adalah perangkat lunak yang bertanggung jawab untuk memproses segmen data yang didistribusikan. Komponen utama lainnya adalah Query User Interface, yang merupakan sebuah program klien yang bertindak sebagai sebuah antarmuka untuk Transaksi Manager yang terdistribusi..” Sebuah Transaksi Manager terdistribusi adalah program yang menterjemahkan permintaan dari pengguna dan mengkonversi mereka ke query database manager, yang biasanya didistribusikan. Sebuah sistem database yang terdistribusi terbuat dari kedua manajer yaitu Database Manager dan Transaksi Manager Terdistribusi.

Penelitian yang dilakukan oleh Hamidah Ibrahim, “Deriving Global Integritas Dan Local Rules For Distributed Database. Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Putra Malaysia, 43400 UPM Serdang. Ibrahim mengatakan bahwa tujuan terpenting didalam database sistem adalah menjamin konsistensi data, yang berarti bahwa data yang terdapat dalam database harus baik dan akurat.Didalam pelaksanaan untuk menjaga konsistensi perubahan data sangat sulit, khususnya untuk didistribusikan dalam database. Dalam tulisan ini, menjelaskan sebuah algoritma penegakan aturan berdasarkan mekanisme untuk didistribusikan database yang bertujuan meminimalisir jumlah data yang harus ditransfer atau diakses diseluruh jaringan yang menjaga konsistensi dari database di satu situs, yaitu di situs mana pembaruan perlu dilakukan. Teknik ini disebut sebagai tes integritas generasi, yang berasal dari local dan global integritas, dan aturan yang telah efektif dapat mengurangi biaya kendala dalam memeriksa suatu data yang telah didistribusikan dalam lingkungan. Didalam penelitian ini upaya telah berhasil didalam menghasilkan sebuah sistem sentralistik yang besar tingkat kehandalan dan kesegarannya sehubungan dengan integritas data.

Penelitian yang dilakukan oleh Steven P. Coy. “Security Implication of the Choice of Distributed Database Management System Model: Relational Vs Object Oriented. University of Maryland bahwa keamanan data harus dibenahi ketika mengembangkan database dan diantaranya memilih antara relational dan object oriented model. Banyak faktor yang harus dipertimbangkan, terutama dari segi efektifitas dan efisiensi, juga apakah sekuritas dan integritas ini memakan sumber daya yang terlalu besar tidak semata mata fitur keamanan. Disimpulkan bahwa kedua pilihan ini akan mempengaruhi kekuatan dan kelemahan dari database tersebut. Untuk centralized database kedua model ini bisa dikatakan sama baiknya. Namun untuk distributed database, relational model unggul dibidan sekuritas. Ini lebih banyak disebabkan bahwa object oriented model database masih kurang maturitasnya. Tetap saja didalam lingkungan heterogenous, proses integritasnya masih menimbulkan masalah. OODBMS tetap saja masih perlu perkembangan teknologi lebih lanjut, namun di lingkungan homogenous, OODBMS dapat menjadi pilihan yang baik.

Penelitian yang dilakukan oleh Stephane Gançarski, Claudia León, Hubert Naacke, Marta Rukoz and Pablo Santini yang berjudul “Integrity Constraint Checking in Distributed Nested Transactions over a Database Cluster” adalah sebuah solusi untuk memeriksa integritas dan kendala global dalam berhubungan multi database sistem. Penelitian ini juga menyajikan hasil eksperimental yang diperoleh atas solusi PC cluster dengan Oracle9i DBMS. Tujuan adalah melakukan eksperimentasi untuk mengukur waktu yang dihabiskan dalam memeriksa kendala global dalam sistem yang terdistribusi. Alhasil menunjukkan bahwa overhead berkurang hingga 50% dibandingkan dengan pemeriksaan integritas yang terpusat. Studi menunjukkan bahwa sistem berkemungkinan besar melanggar referential integritas dan global conjunctive constraints. Namun dengan cara distributed nested transactions, dengan adanya eksekusi dan parallelism, integritas dapat lebih terjamin.

Penelitian ini dilakukan oleh Allison L. Powell James C.dkk, Perancis Departemen Ilmu Komputer Universitas Virginia, berjudul berjudul The Impact of Database Selection on Distributed Searching. Penelitian ini menjelaskan bahwa distributed searching terdiri dari 3 bagian yaitu database selection, query processing, dan results merging. Cukup beberapa database yang dijadikan database seleksi (tidak semuanya) dan performa akan meningkat cukup signifikan. Bila seleksi database dilakukan dengan baik, pencarian secara distributed akan berkinerja lebih baik dibandingkan pencarian secara sentralisasi. Pencarian database juga ditambahkan proses seleksi dan ranking sehingga secara potensial meningkatkan efektifitas pencarian data.

Penelitian ini dilakukan oleh Yin-Fu Huang dan HER JYH-CHEN (2001) dari Universitas Nasional Sains dan Teknologi Yunlin Taiwan, berjudul Fragment Allocation in Distributed Database Design. Pada penelitian ini menjelaskan mengenai Wild Area Network (WAN), fragmen alokasi adalah isu utama dalam distribusi database desain karena kekhawatiran kinerja keseluruhan didistribusikan pada system database. Disini system yang diusulkan sederhana dan modelnya yang komprehensif mencerminkan aktivitas transaksi yang didistribusikan dalam database. Berdasarkan model dan informasi transaksi, dua bentuk algoritma dikembangkan untuk mendapatkan alokasi yang optimal seperti total biaya komunikasi yang sebisa mungkin diminimalkan. Hasilnya menunjukkan bahwa alokasi fragmentasi ditemukan dengan menggunakan algoritma yang tepat akan menjadi lebih optimal. Beberapa penelitian juga dilakukan untuk memastikan bahwa biaya rumus dapat benar-benar mencerminkan biaya komunikasi didunia nyata.

Penelitian ini dilakukan oleh Nadezhda Filipova dan Filcho Filipov (2008) dari University of Economics. Varna, Bul. Kniaz BorisI berjudul Development of database for distributed information measurement and control system. Penelitian ini menjelaskan mengenai pengembangan database dari pengukuran informasi yang didistribusikan dan sistem kontrol yang menerapkan metode optik untuk plasma spectroscopy fisika dan penelitian atom collisions dan menyediakan akses untuk mendapat informasi dan sumber daya perangkat keras di jaringan Intranet/Internet, berdasarkan database pada sistem manajemen database Oracle9i. Perangkat lunak klien yang diwujudkan adalah dalam Java Language. Perangkat lunak ini dikembangkan dengan menggunakan model arsitektur, yang memisahkan aplikasi data dari komponen grafis presentasi dan masukan pengolahan logika. Berikut grafis presentasi telah dilaksanakan, pengukuran radiasi dari Spectra beam plasma dan benda, perangsangan fungsi non-elastis collisions dari berat partikel dan analisis data yang diperoleh dalam percobaan sebelumnya. Berikut grafis klien yang memiliki fungsi interaksi dengan database browsing informasi tentang percobaan dari jenis tertentu, pencarian data dengan berbagai kriteria, dan memasukkan informasi tentang percobaan sebelumnya.

Penelitian yang dilakukan oleh Lubomir Stanchev dari University of Waterloo tahun 2001 berjudul “Semantic Data Control In Distributed Database Environment”. Penelitian ini menyatakan bahwa ada tiga tujuan utama dalam semantic data control yaitu: view manajemen, data security dan semantic integrity control. Dalam sebuah relasi, fungsi-fungsi ini dapat mencapai keseragaman dengan menegakkan aturan-aturan manipulasi kontrol data. Solusinya adalah dengan sentralisasi ataupun terdistribusi. Dua hal utama yang efisien untuk melakukan kontrol adalah definisi data dan penyimpanan aturan (situs pilihan) dan penegakan desain algoritma yang meminimalkan biaya komunikasi. Masalahnya adalah sulit, karena peningkatan fungsi (dan umum) cenderung meningkatkan komunikasi situs. Solusi untuk semantik data kontrol terdistribusi adalah eksistensi dari sentralisasi solusi. Masalahnya adalah sederhana jika aturan kontrol sepenuhnya direplikasi di semua situs dan sulit jika situs otonomi dipatenkan. Selain itu, khusus optimasi dapat dilakukan untuk meminimalkan biaya kontrol data tetapi dengan tambahan overhead seperti pengelolaan data snapshot. Dengan demikian, spesifikasi kontrol data terdistribusi harus disertakan pada desain database sehingga biaya kontrol update untuk program-program ini juga dipertimbangkan.

Dari sepuluh literature review yang ada, telah banyak penelitian mengenai checkpointing, parallel database system, pembahasan component database system, juga mengenai security. Disamping itu juga ada pembahasan mengenai nested transaction, distributed searching, view management dan juga fragment allocation. Namun dapat disimpulkan pula bahwa belum ada peneliti yang secara khusus membahas atau mengatasi masalah proses view yang lambat akibat query bertingkat.

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.
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.

0 komentar:

Posting Komentar