Definisi
Sebuah sistem terdistribusi (DS) terdiri dari sekumpulan komputer yang mandiri yang terhubung dalam jaringan komputer dan dilengkapi dengan software sistem terdistribusi (Colouris 1994). Software Sistem Terdistribusi dapat mengkoordinir aktifitas masing-masing komputer dan melakukan pertukaran sumber daya sistem HW, SW dan data. Pengguna sistem terdistribusi dapat merasakan sebuah fasilitas komputer yang terpadu meskipun sebenarnya terdiri dari banyak komputer yang berada di lokasi yang berbeda secara geografis
Sistem Terdistribusi vs Sistem Paralel
Kelebihan sistem terdistribusi
Sebuah sistem terdistribusi (DS) terdiri dari sekumpulan komputer yang mandiri yang terhubung dalam jaringan komputer dan dilengkapi dengan software sistem terdistribusi (Colouris 1994). Software Sistem Terdistribusi dapat mengkoordinir aktifitas masing-masing komputer dan melakukan pertukaran sumber daya sistem HW, SW dan data. Pengguna sistem terdistribusi dapat merasakan sebuah fasilitas komputer yang terpadu meskipun sebenarnya terdiri dari banyak komputer yang berada di lokasi yang berbeda secara geografis
Sistem Terdistribusi vs Sistem Paralel
Kelebihan sistem terdistribusi
- Pertukaran sumber daya (prosesor)
- Pertukaran data
- Struktur geografis
- Penyederhanaan logik
- Modular
- Reliabel
- Biaya rendah
Kelemahan
sistem terdistribusi
- Biaya komunikasi membengkak
- Pemaduan yang sulit
- Pembuatan program yang lebih sulit
- Distribusi fungsi : komputer memiliki kemampuan fungsi yang berbeda-beda
- client/server
- Host/terminal
- Data gathering / data processing
- Distribusi beban/keseimbangan : pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi.
- Sifat terdistribusi mencegah terjadinya application domain, e.g.
- cash register dan sistem persediaan untuk supermarket,
- Komputer pendukung collaborative work
- Replikasi kekuatan pemrosesan : independent processors bekerja untuk pekerjaan yang sama
- Sistem terdistribusi terdiri dari kumpulan mikrokomputer yang memiliki kekuatan pemrosesan yang tidak dapat dicapai oleh super komputer
- 10000 CPU, masing-masing berjalan pada 50 MIPS, mencapai 500000 MIPS,
- Maka satu perintah dijalankan dalam waktu 0.002 nsec
- Pemisahan fisik : sistem yang menggantungkan pada fakta bahwa komputer secara fisik terpisah (e.g., untuk mencapai kehandalan).
- Ekonomis : kumpulan mikroprosesor menawarkan harga/unjuk kerja yang lebih baik dari pada mainframe
Mengapa Sistem Terdistribusi ?
- Butuh berbagi data dan resource di antara pemakai
- Mendukung komunikasi person-to-person
- Fleksibilitas : komputer yang berbeda dengan kemampuan yang berbeda dapat di share antar user
Masalah dengan sistem terdistribusi
Software - bagaimana merancang dan mengatur software dalam DS
Ketergantungan pada infrastruktur jaringan (world wide wait....)
Kemudahan akses ke data yang di share, memunculkan masalah keamanan
Konsekuensi(Karakteristik Sistem Terdistribusi)
Software - bagaimana merancang dan mengatur software dalam DS
Ketergantungan pada infrastruktur jaringan (world wide wait....)
Kemudahan akses ke data yang di share, memunculkan masalah keamanan
Konsekuensi(Karakteristik Sistem Terdistribusi)
- Sistem terdistribusi adalah sistem concurrent (serentak)
- Setiap komponen hardware/software bersifat otonom (kita akan menyebut komponen otonom adalah "proses")
- Komponen menjalankan tugas bersamaan
- Contoh : A dan B adalah concurrent jika A dapat terjadi sebelum B, dan B dapat terjadi sebelum A
- Sinkronisasi dan koordinasi dengan message passing
- Sharing resources
- Masalah umum dalam sistem concurrent
- Deadlock
- Lifeclock
- Komunikasi yang tidak handal
- Keterbatasan dalam global clock
- Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena asynchronous message passing
- Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem saat ini (disebabkan oleh concurrency dan message passing)
- Independent failure
- Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui
o
Proses
tunggal mungkin tidak peduli pada kegalalan sistem keseluruhan
Tantangan dalam perancangan dan penerapan
Tantangan dalam perancangan dan penerapan
- Karaketristik sistem terdistribusi
- Heterogenitas
- Pertukaran sumberdaya
- Keterbukaan
- Konkurensi / Multi proses
- Berubah ukuran
- Mampu mengatasi kesalahan
- Transparan
- Keamanan
- Software Sistem dan aplikasinya harus dirancang
dengan baik
Heterogenitas
- Bermacam-macam dan unik
- Sebuah DS memungkinkan para pengguna untuk mengakses dan menjalankan beberapa aplikasi dengan bermacam-macam komputer dan jaringan
- Keragaman ini meliputi :
- Jaringan
- Komputer (PC-IBM-Aple-Mac ...)
- Sistem operasi – Windows2000, Unix/Linux, OS2
- Bahasa pemrograman dan DBMS – Java, C++, Oracle, SQL server
- Diterapkan oleh berbagai pengembang sistem
- Jaringan
- Internet terdiri dari berbagai tipe jaringan yang berbeda, namun perbedaan tersebut tertutup dengan kenyataan bahwa semua komputer dapat berkomunikasi menggunakan protokol TCP/IP
- Hardware
- Tipe data mis. integer digambarkan berbeda tergantung dari perangkatnya :
- Berdasarkan byte 0 Big endian, Little endian
- Ukuran – 16 bit, 23, 64 bit
- Perbedaan tersebut harus diselesaikan jika pesan diubah selama program jalan di hardware
- Sistem operasi
- Unix/Linux/Window 2000 memiliki kode API yang berbeda, untuk saling berhubungan melalui protokol TCP/IP
- Bahasa pemrograman dan DBMS
- Menggunakan gambaran yang berbeda untuk karakter dan struktur data - array dan record
- Perbedaan ini harus di samakan
- Diterapkan oleh pengembang yang berlainan
- Program ditulis oleh pengembang berbeda yang tidak dapat dikomunikasikan satu dengan yang lain sampai ada standar untuk menyamakan
- Standar butuh persetujuan dan diterima
Pertukaran sumber daya
- Berbagai alat dengan karakter yang berbeda dapat di”share” secara penuh dalam DS :
- HW : printer, cd-rom, hd
- SW : file, database, compiler, aplikasi
- Sharing, mengurangi biaya
- Sangat penting untuk mendukung kerjasama grup
- Setiap perlatan yang terhubung dengan sebuah komputer (mis. Printer) dalam DS harus dikelola dengan sebuah program sehingga dapat di :
- Akses
- Untuk mencetak, mengubah kwalitas cetak
- Diberi alamat sendiri (IP)
- Manipulasi dan update
- Sikronisasi pada saat akses bersamaan untuk menjaga konsistensi, mis: database
Keterbukaan
- Artinya sistem dapat di ubah dan diterapkan dengan berbagai cara seperti :
- Tingkat HW, posisi komputer dalam jaringan
- Tingkat SW, pengenalan layanan baru mengganti yang lama
- Kunci dari file tersebut telah dipublikasikan sehingga memungkinkan untuk dikembangkan siapapun
- Dasar DS yang terbuka adalah adanya mekanisme komunikasi yang seragam(mis. RPC, CORBA) dan antar muka umum untuk akses pertukaran sumber daya
- DS yang terbuka dapat dibangun dari berbagai HW dan SW dari vendor yang berbeda. Meskipun demikian berbagai komponen tersebut harus sudah diuji kesesuaiannya sehingga sistem berjalan dengan benar.
Concurrency
- Concurrency dan eksekusi paralel dalam DS untuk :
- Memisahkan kegiatan masing-masing user
- Kemandirian sumberdaya
- Lokasi proses di komputer yang terpisah
- Jika ada M komputer (dg CPU) terhubung dalam DS, maka M proses dapat berjalan secara bersamaan
- Jika beberapa proses menggunakan sumber daya yang sama, maka perlu sinkronisasi supaya tidak konflik
Berubah ukuran
- DS harus beroperasi secara efektif dan efisien pada berbagai keadaan:
- Dua workstation dengan file server
- LAN dengan ratusan ws dan banyak file server
- Beberapa LAN terhubung membentuk WAN
- SW sistem dan aplikasi harus tidak memerlukan perubahan meskipun ukuran sistemnya berubah
- Waktu proses yang diperlukan sebuah sumber daya tidak berubah meskipun luas jaringan bertambah
- Tidak ada sumber daya tunggal (hw/sw) yang harus selalu ada untuk pengembangan sumber daya lain
Toleransi kesalahan
- Terkadang sistem rusak
- Ketika ada hw atau sw yang salah, program akan :
- Membetulkan hasil
- Berhenti sebelum proses penghitungan selesai
- Mendeteksi kesalahan
- Beberapa kesalahan dapat dideteksi (sebelumnya)
- Mis. cheksum yang dapat digunakan untuk mendeteksi pencurian data dalam sebuah pesan atau file
- Menutupi kerusakan
- Beberpa kerusakan yang terdeteksi dapat di hidden atau diminimalkan akibatnya
- Pesan dapat dikirim ulang
- File dapat ditulis di disk berbeda jika kapasitas tidak mencukupi
- Toleransi kesalahan
- Kebanyakan layanan di internet melakukan kesalahan yang wajar terjadi pada sistem yang berjalan bersamaan
- Klien dapat dirancangkan pemberitahuan kesalahan, ketika sebuah browser tidak menemukan webserver, sehingga user tidak dibiarkan terus menunggu
- Perbaikan dari kesalahan
- Ada fasilitas perbaikan atau proses ulang saat sebuah server mengalami kerusakan
- Kerangkapan
- Fasilitas untuk mentoleransi kerusakan dapat mengakibatkan kerangkapan komponen :
- Mungkin karena menggunakan dua saluran yang berbeda diinternet
- Dalam DNS, setiap tabel nama selalu ada di dua server berbeda
- Sebuah database mungkin duplikasi di server berbeda untuk meyakinkan data yang sebenarnya setelah terjadi kerusakan di suatu server
- Ketersediaan
- Ketika sebuah komponen rusak dalam DS, hanya pekerjaan yang sedang diproses komponen yang mungkin rusak
- Seorang user mungkin berganti komputer setelah mengalami kerusakan
- Sebuah proses dapat dijalankan dari komputer berbeda
Transparansi
- Dapat berarti penyembunyian pengguna dan programer aplikasi dari bagian komponen DS, sehingga sistem terlihat sperti lubang kosong dari pada sekumpulan komponen yang berdiri sendiri
- Beberapa contoh transparansi :
- Akses : dapat mengakses informasi lokal atau jarak jauh menggunakan operasi identifikasi
- Lokasi : informasi dapat diakses tanpa mengetahui lokasinya
- Cocurrency : beberapa proses dapat berjalan bersamaan dengan satu sumber daya tanpa terjadi interferensi
- Replikasi : dapat meningkatkan isi suatu sumber daya tanpa ijin pemilik atau programernya
- Kerusakan : Dapat menyembunyikan kerusakan seijin user dan programer aplikasi untuk melengkapi pekerjaannya akibat kerusakan hw/sw
- Mobilitas : memungkinkan memindahkan sumber daya dan pengguna dalam sistem tanpa mempengaruhi operasi user atau programer
- Scalling : ukuran sistem dapat diperluas (jaringannya) tanpa mengubah struktur sistem dan pemrograman
- Transparansi Akses dan Lokasi sesuai bersama sebagai bagian jaringan transparan. Kberadaannya maupun ketiadaannya sangat mempengaruhi sistem
- Gambaran transparansi jaringan
- Memprtimbangkan perintah login Linux
- Hanya bisa seorang nama user yang dapat logon di host
- Sehubungan dengan alamat e-mail
- Alamat heri@yahii.com hanya berisi nama pribadi dan nama domainnya.
- Domain didefinisikan dan dialokasikan sesuai nama organisasi
- Mengirim pesan ke user lain tidak perlu tahu lokasi fisik dari domainnya
- Apakah prosedur pengiriman surat tergantung pada lokasi penerima?
- Scalability
- Apakah sistem masih efektif dan handal dalam perkiraan pertumbuhannya?
Rancangan
- Hal yang penting dalam membangun DS :
- Naming
- Komunikasi
- Struktur sw
- Alokasi beban kerja
- Perawatan yang konsisten
- Seorang perancang harus memahami sistem terdistribusi, rancangan interface, rekayasa sw dll.
Naming
- Dasar DS adalah pada pertukaran sumber daya dan pada transparansi penyebaran sumber daya
- Nama yang menunjukkan sumber daya harus :
- Mempunyai arti global yang menunjukkan lokasi
- Didukung dengan nama sistem yang dapat diterjemahkan program untukmengakses sumber daya
- Proses yang membutuhkan akses sumber daya yang mana tidak dikelola harus menyertakan nama atau identitasnya.
- Nama, menunjuk nama yang dapat diinterprestasikan user atau program
- Identitas, menunjuk nama yang diinterprestasikan atau digunakn hanya oleh program
- Struktur nama
- Harus menunjukkan setiap tipe sumber daya
- Hirarki, mis. /etc/passwd memungkinkan untuk berkembang
- Flat / datar selalu memperhatikan ukuran panjang maksimal yang ditentukan
Komunikasi
- Komponen DS meliputi bagian logika dan fisik yang terpisah; mereka harus di komunikasikan secara urut supaya dapat berinteraksi
- Komunikasi antara sepasang proses meliputi :
- Transfer data dari lingkungan yang mengirim proses ke linglungan yang menerima proses
- Beberapa komunikasi memrlukan sinkronisasi antara pengirim dg penerima, sehingga pengirm dan penerima berhenti s.d proses yang lain membebaskannya
- Mekanisme :
- Syncron (blocking) – pengirim menunggu sesudah pengiriman pesan s.d penerima melakukan operasi penerimaan
- Asyncron (non-blocking) – pesan di tempatkan dalam antrian menunggu penerima menerima dan pengirim melakukan pengirimanlagi
Bentuk komunikasi
- Client-server
- Cenderung melakukan layanan searah
- Pertukaranmeliputi :
- Transmisi dari client ke server
- Eksekusi pesan oleh server
- Transmisikan kembali ke client
- Server harus selalu siap pada adanya permintaan dan client harus menunggu sampai dengan balasan diterima
- Tidak ada client yang diprioritaskan
- Setiap permintaan berisi CID yang digunakan untuk mengirmkankembali ke client
- Dalam open system client tidak dapat dikenali untuk menunda CID semua server yang ingin diakses
- Group multicast
- Sasaran pesan adalah kelompok proses
- Alasan :
- Multiple update
- Pesan dari client berisi nama dari direktori file server. Setiap saat hanya satu permintaan client yang bisa dilayani oleh file server
Struktur SW
- Setiap kategori sw berhubungan dengan tingkat yang berbeda dalam abstraksi DS :
- User yang bekerja dg spreadsheet mempunyai bagian tersendiri dalam DS
- Seorang programer mungkin menulis dalam bahasa pemrograman terdistribusi dan menggunakan lapisan servis
- Kategori sw dalam DS :
- Aplikasi
- Sistem operasi
- Menyediakan pengelolaan sumber daya dasar
- Alokasi memori dan perlindungan
- Penciptaan proses dan penjadwalan
- Komunikasi antar proses
- Penanganan peralatan
- Memberikan kumpulan abstraksi pemorgraman berorientasi masalah yang umum, seperti proses aplikasi, melindungi dari lapisan prosesor dan peralatan lain
- Harus menmperkuat perlindungan kode dan data terhadap perubahan waktu proses
- Open service (layanan terbuka)
- Membawa fasilitas pemrograman dalam DS sesuai tingkat yang diperlukan
- Layanan baru dapat dibangun dan diinstal sesuai kebutuhan
- Layanan mulai dari file layanan dasar s.d layanan e-mail
- Mendukung pemrograman terdistribusi
Contoh DS : Internet
- Jaringan komputer dan aplikasi yang heterogen
- Mengimplementasikan protokol Internet
Contoh DS : Sistem Multimedia
Terdistribusi
- Biasanya digunakan pada infrastruktur internet
- Karakteristik
- Sumber data yang heterogen dan memerlukan sinkronisasi secara real time
- Video, audio, text
- Multicast
- Contoh:
- Teleteaching tools (mbone-based, etc.)
- Video-conferencing
- Video and audio on demand
Contoh DS :
Intranet
- Jaringan yang teradministrasi secara lokal
- Biasanya proprietary
- Terhubung ke internet (melalui firewall)
- Menyediakan layanan internal dan eksternal
- Sistem telepon Cellular (e.g., GSM)
- Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak
- Komputer laptop, ubiquitous computing
- Handheld devices, PDA, etc
- Sistem telepon
- ISDN, PSTN
- Manajemen jaringan
- Administrasi sesumber jaringan
- Network File System (NFS)
- Arsitektur untuk mengakses sistem file melalui jaringan
- WWW
- Arsitektur client/server tebuka yang diterapkan di atas infrastruktur internet
- Shared resources (melalui URL)
World Wide Web
2. Konsistensi dan Replikasi
PENGERTIAN 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 lokasilokasi 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.
- Menyembunyikan perbedaan-perbedaan antara layanan replicated dan non-replicated
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:
- Mengcopy dan mendistribusikan data dari satu atau lebih lokasi
- Mendistribusikan hasil copy data berdasarkan jadwal
- Mendistribusikan perubahan data ke server lain
- Memungkinkan beberapa pengguna di beberapa lokasi untuk melakukan perubahan dan kemudian menggabungkan data yang telah dimodifikasi
- Membangun aplikasi data yang menggunakan perlengkapan online maupun offline
- Membangun aplikasi Web sehingga pengguna dapat melihat volume data yang besar.
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.
TIGA TUJUAN
UTAMA DILAKUKAN REPLIKASI
A. Perofrmanace Enchancements
(Meningkatkan kinerja)
Kunci dari performance enchaments adalah dengan cara melakukan caching data pada client dan server. Cache browsers dan proxy servers mengopi sumber-sumber web untuk mempersingkat waktu mengambil sumber dari server yang asli. Selain itu data di replikasi secara transparan antara server-server yang berada di domain yang sama. Beban kerja (workload) di-share/di-distribusikan di antara server dengan cara menyatukan seluruh IP adress server ke nama DNS situs yang bersangkutan, kemudian data-data yang dibutuhkan dikembalikan ke server-server tersebut dengan metode round-robin.
Kunci dari performance enchaments adalah dengan cara melakukan caching data pada client dan server. Cache browsers dan proxy servers mengopi sumber-sumber web untuk mempersingkat waktu mengambil sumber dari server yang asli. Selain itu data di replikasi secara transparan antara server-server yang berada di domain yang sama. Beban kerja (workload) di-share/di-distribusikan di antara server dengan cara menyatukan seluruh IP adress server ke nama DNS situs yang bersangkutan, kemudian data-data yang dibutuhkan dikembalikan ke server-server tersebut dengan metode round-robin.
B. Increased Availability
(Meningkatkan ketersediaan)
Pengguna membutuhkan layanan untuk tersedia pada hampir setiap saat. Sehingga layanan yang dibutuhkan harus dapat diakses dengan persentasi keberhasilan mendekati 100%. Faktor-faktor yang mempengaruhi increased availability adalah sebagai berikut:
Pengguna membutuhkan layanan untuk tersedia pada hampir setiap saat. Sehingga layanan yang dibutuhkan harus dapat diakses dengan persentasi keberhasilan mendekati 100%. Faktor-faktor yang mempengaruhi increased availability adalah sebagai berikut:
- - kegagalan server
- - partisi jaringan dan operasi yang terputus (network partitions and disconnected operation): diskoneksi komunikasi seperti ini merupakan kekurangan dari aspek mobilitas pengguna.
Replikasi
berperan pada aspek menjaga ketersediaan data meskipun ada kegagalan server
secara otomatis. Jika data direplikasikan di server yang bebas dari kegagalan
maka client dapat mengakses data yang dibutuhkan di server yang melakukan
replikasi tersebut (alternate server) bukan di default server. Jika setiap
server n memiliki probabilitas p untuk gagal , sehingga ketersediaannya dapat
dirumuskan sebagai berikut:
1 - probabilitas gagal = 1-pn
1 - probabilitas gagal = 1-pn
C. Fault Tolerance (Toleransi
Kesalahan)
Data yang tersedia dengan baik belum tentu merupakan data yang benar. Data tersebut belum tentu merupakan data yang ter-update. Sebuah layanan fault tolerance selalu menyediakan data yang paling baru dan benar bagi client yang membutuhkannya.
Data yang tersedia dengan baik belum tentu merupakan data yang benar. Data tersebut belum tentu merupakan data yang ter-update. Sebuah layanan fault tolerance selalu menyediakan data yang paling baru dan benar bagi client yang membutuhkannya.
TRANSAKSI
DENGAN DATA YANG TEREPLIKASI
Dari sudut
pandang client, sebuah transaksi pada objek-objek yang ter-replikasi harus
tampak sama dengan objek yang tak-ter-replikasi. Pada sebuah sistem yang tak
ter-replikasi, transaksi tampak dieksekusi satu per satu pada urutan tertentu.
Hal ini dapat terjadi dengan memastikan transaksi client terorganisasi secara
serial.
a.) Kopi tersedia dengan validasi
Replikasi kopi yang tersedia di implementasikan di setiap partisi dan ketika sebuah partisi sedang diperbaiki, maka sebuah prosedur validasi diaplikasikan dan ketidak-konsistenan diperbaiki.
b.) Quorum Consensus
Sebuah subgroup harus memiliki sebuah quorum (jumlah member yang cukup) agar dapat melangsungkan layanan dengan hadirnya sebuah partisi. Ketika sebuah partisi sedang diperbaiki dan ketika sebuah replikasi manager sedang restart setelah mengalami kegagalan, replica managers memperbarui objek-objek mereka dengan prosedur recovery.
c.) Virtual Partition
Kombinasi antara Quorum Consensus dan kopi yang tersedia.
MODEL KONSISTENSI
A. Data Centric
Kontak antara proses dan penyimpanan data. Jika proses mematuhi aturan tertentu penyimpanan data dapat terjadi. Setiap model akan berupaya untuk mengembalikan hasil dari proses write terakhir terakhir dari sebuah proses read.
Terdapat 2 jenis ordering :
- Strong ordering
- Weak ordering
Berikut adalah skema
dari macam-macam jenis ordering Data Centric :
B. Client
Centric
- Memberikan kepastian mengenai proses order sebuah klien tunggal.
- Klien tunggal dapat mengakses penyimpanan data.
- Klien dapat mengakses replika yang berbeda-beda.
- Klien tidak melakukan share data
ALAT YANG DIGUNAKAN
Replikasi terdiri dari administrasi utama replikasi yaitu Control Center, Capture dan Apply Program. Control Center adalah alat administrasi database DB2 yang digunakan untuk administrasi replikasi. Control Center secara otomatis menge-nali fungsi seperti pembuatan tabel tujuan dan tabel kontrol pada saat menentukan informasi hasil copy tujuan. Capture Program merupakan alat replikasi yang merubah data dan membuat perubahan itu dapat dilakukan pada replikasi. Capture program berjalan pada database server tujuan.
Capture & Apply Program menangkap perubahan yang terjadi pada data dalam tabel sumber replikasi dengan cara membaca database log atau journal.
Administrasi replikasi mempunyai 2 tugas utama yaitu mendefinisikan sumber replikasi dan menentukan tujuan replikasi. Sumber replikasi berupa tabel atau view digunakan sebagai sumber untuk copy data ke satu atau beberapa tabel tujuan. Tujuan replikasi merupakan spesifikasi dari satu atau beberapa tabel tujuan beserta lokasinya, struktur dan waktu penjadwalan sebaik peningkatan SQL yang diperlukan.
Langkah praktis melakukan replikasi :
Replikasi terdiri dari administrasi utama replikasi yaitu Control Center, Capture dan Apply Program. Control Center adalah alat administrasi database DB2 yang digunakan untuk administrasi replikasi. Control Center secara otomatis menge-nali fungsi seperti pembuatan tabel tujuan dan tabel kontrol pada saat menentukan informasi hasil copy tujuan. Capture Program merupakan alat replikasi yang merubah data dan membuat perubahan itu dapat dilakukan pada replikasi. Capture program berjalan pada database server tujuan.
Capture & Apply Program menangkap perubahan yang terjadi pada data dalam tabel sumber replikasi dengan cara membaca database log atau journal.
Administrasi replikasi mempunyai 2 tugas utama yaitu mendefinisikan sumber replikasi dan menentukan tujuan replikasi. Sumber replikasi berupa tabel atau view digunakan sebagai sumber untuk copy data ke satu atau beberapa tabel tujuan. Tujuan replikasi merupakan spesifikasi dari satu atau beberapa tabel tujuan beserta lokasinya, struktur dan waktu penjadwalan sebaik peningkatan SQL yang diperlukan.
Langkah praktis melakukan replikasi :
- Merencanakan skenario replikasi pada tingkat sistem dan aplikasi
- Mendefinisikan sumber replikasi
- Mendefinisikan tujuan replikasi
- Melakukan konfigurasi Capture dan Apply Program
- Memulai Capture Program
- Memulai Apply Program
kelemahan dan kelebihan pendistribusian database dengan menggunakan replikasi dan partisi
DATABASE TERDISTRIBUSI (DDBS)
1.) Jelaskan Keuntungan dari Database Terdistribusijawab:
01. Banyak aplikasi database yang tersebar pada lokasi yang berbeda ( kota/cabang). Pemakai dapat mengakses data secara Lokal maupun global
02. Meningkatkan reliability dan availability. Bila data dan DBMS tersebar pada beberapa lokasi. Bila satu lokasi mengalami kerusakan pada data dan software, maka lokasi lain masih dapat melangsungkan prosesnya.
03. Mengijinkan data digunakan bersama-sama pada waktu pengontrolan data.
04. Meningkatkan performance. Karena database tersebar sedemikian rupa, pekerjaan dapat dibagi-bagi yang memungkinkan untuk mendapatkan hasil yang optimal.
05. Otonomi lokal. Semua operasi pada suatu site diatur dan dikontrol oleh site itu sendiri. Walaupun data dapat diakses oleh remote site, pengoperasian seperti security, integrity dan representasi penyimpanan data lokal , dikontrol oleh site lokal.
2.) Jelaskan kelemahan dan kelebihan pendistribusian database dengan menggunakan replikasi dan dengan menggunakan partisi !
jawab :
# Kelebihan dari replikasi data :
01. Reliabilitas : Jika satu dari simpul yang relasi atau database gagal, maka duplikat dari file dapat ditemukan pada simpul lain.
02. Respons yang cepat : Setiap simpul mempunyai data yang lengkap, jadi pemrosesan dapat berjalan cepat, tanpa waktu penundaan.
* Kelemahan dari Replikasi Data :
01. Memerlukan tempat penyimpanan yang besar: Karena setiap simpul mempunyai duplikat database jadi memerlukan kapasitas penyimpanan yang memungkinkan.
02. Kompleksitas dan Biaya yang besar untuk updating : Pada saat data di- update setiap simpul harus di-update juga. Tentunya memerlukan biaya besar dan koordinasi yang rutin.
# Kelebihan dari Partisi :
01. Efisien : Data disimpan dekat ke mereka yang menggunakan dan terpisah dari data yang digunakan oleh pemakai atau aplikasi lain.
02. Optimisasi lokal : Data dapat disimpan untuk mengoptimisasi pengaksesan lokal.
03. Security : Data yang tidak relevan dengan simpul tersebut tidak diperlukan.
* Kelemahan dari Partisi :
01. Pengaksesan waktu tidak konsisten : Pada saat data dari beberapa partisi diperlukan , pengaksesan waktu dapat berbeda dengan pengaksesan data lokal.
02. Backup lemah : Karena data tidak diduplikat, bila salah satu simpul ingin mengambil data pada simpul lain dan kebetulan simpul tersebut tidak dapat diakses, maka data tidak akan dapat terambil. Karena tiap simpul tidak menyediakan back-up untuk data pada simpul lain.
3.) Jelaskan perbedaan antara distribusi Processor secara Vertikal dan secara horisontal
jawab:
Distribusi Processor secara Vertikal :
01. Processor dikontrol oleh processor yang lebih tinggi. Pada level yang lebih tinggi, processor mempunyai kemampuan lebih baik.
02. Tujuan dari distribusi ini adalah untuk mencapai keseimbangan antara kapasitas mesin dan respons dari sistem atau antara biaya dan performance.
03. Tugas dibagi berdasarkan prioritas dan keinginan user. Pekerjaan yang memerlukan respons yang cepat, dikerjakan pada level rendah. Pekerjaan yang mempunyai prioritas rendah, kalkulasi rumit dikerjakan pada level yang tinggi.
Distribusi Processor secara Horisontal :
01. Setiap processor di dalam network mempunyai tingkat pengontrolan yang sama. Kemampuan internal dari processor dapat berbeda.
02. Tujuan dari distribusi ini untuk menjamin effisiensi penggunaan seluruh kapasitas dari pemrosesan dengan pengaturan pemrosesan.
03. Jika satu processor sibuk, maka pekerjaan lain dapat dipindahkan ke processor lain yang menganggur yang paling dekat.
Tidak ada komentar:
Posting Komentar