Anda di halaman 1dari 13

TUGAS MAKALAH BASIS DATA TERDISTRIBUSI

OLEH : Kelompok - Surya Surahman (360961004) - Firman Ramadhan (360961 )

PROGRAM STUDI TEKNIK INFORMATIKA STMIK-INDONESIA MANDIRI BANDUNG 2011

PENDAHULUAN

Motivasi

utama

di

belakang

pengembangan

sistem

basis

data

adalah

suatu data

keinginan untuk menyatukan data operasional

dari suatu organisasi dan

pengaksesan

yang terkontrol. Integrasi data dan kontrol data telah diimplementasikan pada

bentuk data

tersentralisasi, namun hal ini bukan merupakan tujuan dari pengembangan sistem basis data. Adanya . perkembangan Pendekatan pada jaringan ini komputer menghasilkan gambaran dari suatu bentuk

desentralsasi

desentralisasi

merupakan

suatu

organisasi

yang memiliki banyak cabang organisasi, dimana terbagi bagi menjadi beberapa divisi, departemen, proyek dan masih banyak lagi, dan dalam bentuk infrastruktur dan akan terbagi bagi kembali menjadi beberapa kantor cabang, pabrik-pabrik dimana setiap unit tersebut mengoperasionalkan datanya secara sendiri sendiri. (Date,2000). secara bersamasama dan efisiensi dalam pengaksesan data Data yang digunakan harus diiringi dengan

perkembangan dari sistem basis data terdistribusi, yang merupakan refleksi dari struktur organisasi, sehingga data dapat diakses dimana saja dan melakukan penyimpanan data di lokasi yang memang data tersebut sering digunakan. Distribusi DBMS harusnya dapat mengatasi sekumpulan permasalahan informasi

(islands of information ). Basis data terkadang dianggap sebagai kumpulan elektronik saja yang terbatas dan tidak dapat di akses, seperti daerah yang terpencil. Dan DDBMS

merupakan jawaban dari masalah geografi, masalah arsitektur komputer , masalah protokol komunikasi dan lain- lainnya.

BASIS DATA TERDISTRIBUSI




DEFINISI

Basis Data Terdistribusi adalah kumpulan data logic yang saling berhubungan secara fisik terdistribusi dalam jaringan komputer, yang tidak tergantung dari program aplikasi sekarang maupun masa yang akan datang. File merupakan kumpulan data yang dirancang untuk suatu aplikasi atau sekumpulan aplikasi yang dekat hubungannya. contoh Misalnya sebuah bank yang memiliki banyak cabang, bahkan di sebuah kota bisa terdiri dari beberapa cabang/kantor. Masing-masing lokasi memiliki jaringan lokal sendiri, dan semua jaringan lokal itu dihubungkan satu sama lain membentuk sebuah jaringan nasional Struktur database terdistribusi Sebuah sistem basis data terdistribusi hanya mungkin dibangun dalam sebuah sistem jaringan komputer.  Topologi Jaringan a. Topologi bintang (star) b. Topologi Cincin (Ring) c. Topologi Bus Perbedaan utama di antara berbagai topologi di atas terletak pada: y y Biaya Instalasi Biaya dalam membangun hubungan link) antar simpul. Biaya Komunikasi Waktu dan biaya dalam pengoperasian sistem berupa pengiriman data dari satu simpul ke simpula lain Kehandalan Frekuensi/tingkat kegagalan komunikasi yang terjadi. Ketersediaan Tingkat kesiapan data yang dapat diakses sebagai antisipasi kegagalan komunikasi

y y

Jenis transaksi Dalam distribusi Basis data, transaksi informasi dibagi dalam 2 jenis yaitu transaksi lokal dan transaksi global.  Transaksi Lokal Transaksi yang mengakses data pada suatu simpul (mesin/server) yang sama dengan simpul dari mana transaksi tersebut dijalankan.  Transaksi Global.

Transaksi yang membutuhkan pengaksesan data di simpul yang berbeda dengan simpul dimana transaksi tersebut dijalankan, atau transaksi dari sebuah simpul yang membutuhkan pengaksesan data ke sejumlah simpul lainnya. Adapun ciri-ciri Basis data yang terdistribusi adalah sebagai berikut:  Data disimpan di sejumlah tempat  Prosessor komputer pada tempat yang berbeda tersebut dihubungkan dengan jaringan

 Sistem basis data terdistribusi bukan terdiri dari sekumpulan file yang berada pada berbagai tempat tetapi pada sebuah basis data di berbagai tempat  Setiap tempat secara mandiri memproses permintaan user yang membutuhkan akses ke data di tempat tersebut dan juga mampu untuk memproses data yang tersimpan di tempat lain. Keuntungan distribusi basisdata:  Pengelolaan secara transparan data yang terdistribusi  Mengacu pada struktur organisasi  Meningkatkan untuk berbagi dan otonomi lokal  Meningkatkan ketersediaan data  Meningkatkan kehandalan  Meningkatkan performasi kerja Kerugian distribusi basisdata:  Kompleksitas manajemen  Kontrol integritas lebih sulit  Biaya pengembangan  Keamanan  Sulitnya standarisasi  Menambah kebutuhan penyimpanan  Lebih sulit dalam mengatur lingkungan data DESAIN BASIS DATA TERDISTRIBUSI Ada beberapa pendekatan yang berkaitan dengan sistem basis data terdistribusi, yaitu 1. Replikasi 2. Fragmentasi 3. Replikasi dan Fragmentasi . penyimpanan data/tabel dalam sebuah

1. REPLIKASI 1.1 KONSEP DASAR REPLIKASI Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasi antara database sehingga konsistensi data dapat terjamin. Dengan menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringan lokal maupun internet. Replikasi juga memungkinkan untuk mendukung kinerja aplikasi, penyebaran data fisik sesuai dengan penggunaannya, seperti pemrosesan transaksi online dan DSS (Desiscion Support System) atau pemrosessan database terdistribusi melalui beberapa server. Keuntungan replikasi tergantung dari jenis replikasi tetapi pada umumnya replikasi mendukung ketersediaan data setiap waktu dan dimanapun diperlukan. Adapun keuntungan lainnya adalah :  Memungkinkan beberapa lokasi menyimpan data yang sama. Hal ini sangat berguna pada saat lokasi-lokasi tersebut membutuhkan data yang sama atau memerlukan server yang terpisah dalam pembuatan aplikasi laporan.  Aplikasi transaksi online terpisah dari aplikasi pembacaan seperti proses analisis database secara online, data smarts atau data warehouse.  Memungkinkan otonomi yang besar. Pengguna dapat bekerja dengan meng-copy data pada saat tidak terkoneksi kemudian melakukan perubahan untuk dibuat database baru pada saat terkoneksi  Data dapat ditampilkan seperti layaknya melihat data tersebut dengan menggunakan aplikasi berbasis Web  Meningkatkan kinerja pembacaan  Membawa data mendekati lokasi individu atau kelompok pengguna. Hal ini akan membantu mengurangi masalah karena modifikasi data dan pemrosesan query yang dilakukan oleh banyak pengguna karena data dapat didistribusikan melalui jaringan dan data dapat dibagi berdasarkan kebutuhan masing-masing unit atau pengguna.  Penggunaan replikasi sebagai bagian dari strategi standby server. Replikasi dapat digunakan apabila sebuah organisasi atau perusahaan didukung oleh hardware dan aplikasi sofware dalam sebuah sistem yang terdistribusi. Aplikasi yang berbeda mempunyai kebutuhan yang berbeda untuk otonomi dan konsistensi data. Replikasi diperlukan dalam sistem terdistibusi apabila berikut ini: 1. Mengcopy dan mendistribusikan data dari satu atau lebih lokasi 2. Mendistribusikan hasil copy data berdasarkan jadwal 3. Mendistribusikan perubahan data ke server lain 4. Memungkinkan beberapa pengguna di beberapa lokasi untuk melakukan perubahan dan kemudian menggabungkan data yang telah dimodifikasi 5. Membangun aplikasi data yang menggunakan perlengkapan online maupun offline

6. Membangun aplikasi Web sehingga pengguna dapat melihat volume data yang besar. 1.2 JENIS-JENIS REPLIKASI 1. Snapshot replication

Mendistribusikan data yang dapat dilihat pada saat tertentu tanpa melakukan update. Biasanya digunakan pada saat memerlukan tampilan data seperti : daftar harga, katalog, data yang digunakan untuk pengambilan keputusan. Data-data ini sifatnya hanya read only. Replikasi ini membantu pada saat : data sebagian besar statis dan tidak sering berubah dapat menerima copy data yang telah melewati batas waktu yang ditentukan datanya sedikit

2. Transactional replication Memelihara kekonsistenan transaksi yang terjadi 3. Merge replication Merge replication memungkinkan pengguna bekerja dan merubah data sesuai dengan wewenangnya. Pada saat server tidak dikoneksikan ke seluruh lokasi dalam topologi, replikasi merubah ke nilai data yang sama 2. FRAGMENTASI

Fragmentasi merupakan sebuah proses pembagian atau pemetaan dari tabel-tabel berdasarkan kolom-kolom dan baris-baris data menjadi unit data terkecil. Fragmentasi Data merupakan sebuah proses pembagian atau pemetaan database dimana database dipecah-pecah berdasarkan kolom dan baris yang kemudian disimpan didalam site atau unit komputer yang berbeda dalam suatu jaringan data, sehingga memungkinkan untuk pengambilan keputusan terhadap data yang telah terbagi. Data yang telah dipecah-pecah masih memungkinkan untuk digabungkan lagi dengan maksud untuk kelengkapan pendataan. Dalam melakukan fragmentasi data harus memenuhi beberapa kondisi agar proses fragmen tersebut benar, diantaranya: 1. Completeness, sebuah unit data yang masih dalam bagian dari relasi utama, maka data harus berada dalam satu fragmen. Ketika ada relasi, pembagian datanya harus menjadi satu kesatuan dengan relasinya. 2. Reconstruction, sebuah relasi asli dapat dibuat kembali atau digabungkan kembali dari sebuah fragmen. Ketika telah dipecah-pecah, data masih memungkinkan untuk digabungkan kembali dengan tidak mengubah struktur data.

3. Disjointness, data didalam fragmen tidak boleh diikutkan dalam fragmen lain agar tidak terjadi redundancy data, kecuali untuk atribut primary key dalam fragmentasi vertikal.

Adapun aturan untuk pelaksanaan fragmentasi: 1. Fragmen dibentuk dari predikat yang telah dipilih dan diasosiasikan dengan transaksi yang terdapat dalam database. Predikat secara spesifik mencantumkan nilai atribut yang digunakan dalam format conjuctive (AND) dan disjunctive (OR) yang digunakan untuk memilih command, dan kolom (record) yang berisi nilai yang sama dengan format fragment. 2. Fragment harus terpisah dan gabungan dari fragment-fragment tersebut harus terdiri atas keseluruhan fragment. Fragment yang mendahului akan menjadi lebih sulit untuk dianalisis dan diimplementasikan. 3. Fragment yang terbesar adalah keseluruhan tabel, fragment terkecil merupakan sebuah record. Fragment harus didesain sedemikian rupa untuk memelihara keseimbangan diantara perbedaan ini. Jenis Fragmentasi Data: Fragmentasi data dapat diselesaikan melalui beberapa cara, antara lain fragmentasi horizontal, fragmentasi vertikal, dan fragmentasi campuran (mixed atau hybrid): 1. Fragmentasi Horizontal terdiri dari tuple dari fragment global yang kemudian dipecah-pecah atau disekat menjadi beberapa sub-sets. Penyekatan tipe ini sangat berguna didalam database terdistribusi, dimana setiap subsetsdapat berisi data yang memiliki properti secara umum. Fragmentasi horizontal didefinisikan menurut sebuah kondisi atau predikat yang menyatakan bahwa tuple yang ada telah mencukupi.

2. Fragmentasi Vertikal akan membagi lagi atribut-atribut dari fragment global yang tersedia menjadi beberapa grup. Bentuk yang paling simple dari fragmentasi vertical adalah dekomposisi, dimana sebuah row-id yang unik dapat disertakan dalam setiap fragment untuk menjamin dan memungkinkan terjadinya proses rekonstruksi melalui sebuah operasi join. Dengan kata lain bahwa fragmentasi jenis ini akan membagi sebuah data menjadi beberapa tabel yang atributnya saling terkait.

3. Fragmentasi Berikut gambaran dari fragmentasi hybrid.

Mixed/Hybrid

Relasi A seperti yang digambarkan diatas telah mengalami tiga tingkatan frakmentasi (bukan lima) dua kali fragmentasi horizontal dan satu kali fragmentasi vertical. Fragmentasi horizontal pertama membagi relasi menjadi dua bagian yaitu H1 dan H2. kemudian fragmentasi kedua adalah fragmentasi vertical terhadap fragment horizontal H2, yang membagi fragment horizontal H2 menjadi dua bagian secara vertical yang kemudian disebut H2V1 dan H2V2. dan kemudian fragmentasi terakhir yang dilakukan adalah fragmentasi horizontal terhadap fragment vertical pertama yaitu H2V1.

1. Pada kenyataannya banyak aplikasi/query yang membutuhkan fragmentasi yang lebih kompleks daripada hanya menggunakan fragmentasi vertical atau fragmentasi horizontal saja. 2. Teknik penggunaan tipe fragmentasi ini adalah dengan mengaplikasikan teknik fragmentasi horizontal terlebih dahulu yang kemudian diikuti dengan teknik fragmentasi vertical kepada satu atau lebih fragment horizontal yang telah dibentuk sebelumnya. 3. Teknik fragmentasi mixed merupakan sebuah proses yang menggabungkan teknik fragmentasi horizontal dan vertical. Sehingga dapat disimpulkan bahwa Fragmentasi hybrid atau mixed merupakan penggabungan dari penggunaan kedua proses fragmentasi data yang telah dijelaskan diatas (fragmentasi horizontal dan vertikal).
3. REPLIKASI DAN FRAGMENTASI Fragmentasi dan replikasi merupakan salah satu cara dalam mengolah sebuah database terutama digunakan pada basis data terdistribusi. Representasi data pada basis data terdistribusi dengan menerapkan fragmentasi dan replikasi mempunyai kelebihan bahwa availibility data akan lebih terjaga dan beban yang ditanggung oleh server menjadi lebih kecil dibandingkan dengan basis data terpusat.

Untuk sebuah data dengan user yang jumlahnya besar dan transaksi akses terhadap data yang tinggi pemilihan desain basis data tentu saja tidak bisa diabaikan, pemilihan desain yang tepat dapat membantu dalam mengatasi masalah yang dapat ditimbulkan dari keterbatasan desain database yang lain. Seperti pada kasus registrasi mahasiswa, dilihat dari jumlah user tentu saja jumlahnya tidak sedikit, selain itu user menginginkan proses yang lancar, tidak terhambat karena adanya server yang down atau akses yang lambat karena terlalu banyak user yang mengakses. Server dibagi menjadi beberapa server yang tadinya hanya satu server saja, hal ini dimaksudkan agar beban server dapat dikurangi dengan pertimbangan pembagian server adalah berdasarkan jurusan yang ada, hal ini dimaksudkan karena mayoritas user mengakses server jurusannya dibandingkan akses pada server jurusan lain, proses ini disebut dengan fragmentasi, untuk replikasi dimaksudkan agar apabila ada salah satu server yang down setelah kita membagi data menjadi beberapa server ketergantungan terhadap data di server yang down dapat diambil alih oleh server replikasinya. Kata Kunci : fragmentasi, replikasi, basis data terdistribusi, availability, basis data terpusat, server.

Contoh: Tabel nasabah bank dengan struktur dan data sebagai berikut : nasabah = (no_nas, nama_nas, alamat_nas, kota, saldo_simpan, saldo pinjam) contoh tabel nasabah No_nas Nama_na s Jamaludin Alamat Kota Saldo_simpa n 100000 Saldo_pinjam

2001001

Jl. Suci 10

Medan

2001002

Nurhaliza

Jl. Abdi 22

Medan

2300000

1450000

2001003 2001004

Nur Alam Setia

Jl. Aceh 10 Jl.Jawa 112

Medan Medan

1200000 1500000

3500000 1000000

2002001

Tini

Jl. Adil 20

Padang

50000

2002002 2002003

Ahmad Wisnu

Jl. Taat 12 Jl 11 Damai

Padang Padang

750000 2600000

0 5000000

2002004

Alif

Jl. Mulia 1

Padang

100000

12000000

Fragmentasi Horizontal nasabah1 = Wkota=Medan (nasabah) nasabah2 = Wkota=Padang (nasabah) Akan diperoleh 2 buah fragemen o Fragmen Nasabah1 o Fragmen Nasabah2 Terapkan operasi union nasabah = nasabah1 nasabah2 Fragmentasi Vertikal

nasabah1 = Tno_nas, nama_nas, alamat, kota (nasabah) nasabah2 = Tno_nas, saldo_simpan (nasabah) nasabah3 = Tno_nas, saldo_pinjam (nasabah) Upaya untuk replikasi dan fragmentasi data dapat dilakukan sekaligus pada sebuah tabel, yaitu dengan mereplikasi fragmen-fragmen yang telah terbentuk. Misalnya, dalam sebuah sistem terdistribusi terdapat 5 buah simpul S1, S2, S3, S4 dan S5. Kita dapat memilah tabel nasabah sesuai dengan kota dimana nasabah mengajukan permohonan menjadi nasabah1, nasabah2 dan nasabah3. Kemudian dengan pertimbangan tertentu, fr agmen nasabah1 disimpan di simpul S1, S2 dan S3. lalu fragmen nasabah2 disimpan disimpul S3 dan S4 dan fragmen nasabah3 disimpan di simpul S1 dan S3. Pemrosesan query dalam basisdata terdistribusi Dalam sistem terpusat, kriteria utama untuk mengetahui cost dari sebuah strategi query adalah jumlah/waktu akses ke disk. Faktor-fakor yang perlu dipertimbangkan: 1. Biaya/waktu untuk transmisi data 2. Potensi peningkatan karena adanya sejumlah simpul yang dapat melaksanakan query secara paralel. TRANSFORMASI QUERY Jika tabel telah direplikasi atau difragmentasi atau sekaligus direplikasi dan fragmentasi maka kita dapat memenuhi query tersebut dengan memilih salah satu simpul tempat suatu tabel berada kemudian mengeksekusi qury. Jika tabel tidak direplikasi atau difragmentasi, pemilihan simpul akan didasarkan pada simpul yang memberikan ongkos transmisi data yang paling rendah. Dalam sistem terpusat, kriteria utama untuk mengetahui cost dari sebuah strategi query adalah jumlah/waktu akses ke disk. Faktor-fakor yang perlu dipertimbangkan: 1. Biaya/waktu untuk transmisi data 2. Potensi peningkatan karena adanya sejumlah simpul secara paralel.

yang dapat

melaksanakan query

Jika fragmentasi yang dilakukan horizontal maka operasi Union dapat dilakukan. Jika fragmentasi vertikal tdan query menghendaki penayangan semua atribut maka operasi Natural Join yang harus digunakan. Contoh: Tabel Mahasiswa

Ekspresi Standar dari query : Wkota = Bandung (mahasiswa) Jika tabel mahasiswa difragmentasi secara horizontal di dua fragmen (diberi nama mahasiswa1 dan mahasiswa2) sehingga tabel mahasiswa sesungguhnya merupakan hasil operasi Union dari keduanya. mahasiswa1 mahasiswa2 Maka query di atas dapat kita translasi menjadi : Wkota=Bandung (mahasiswa1 mahasiswa2)