Pengantar Sistem Basisdata lanjt Arsitektur Sistem Basisdata lanjt
Pengantar Sistem Basisdata (lanjt) • Arsitektur Sistem Basisdata (lanjt) • Skema Basisdata 1
Arsitektur Sistem Basisdata • Data Servers – Digunakan dalam LAN, harus ada koneksi yang cepat antara klien (client) dan peyedia (server), ada kesetaraan kemampuan pemrosesan antara mesin di klien dengan di server, tugas yang dieksekusi diproses secara intensif – Mengirimkan data ke mesin klien tempat berlangsungnya pemrosesan, dan kemudian mengirimkan kembali hasilnya ke mesin server – Arsitektur ini membutuhkan semua fungsionalitas back-end di sisi klien (front-end). – Digunakan dalam banyak Sistem Basisdata Berorientasi Objek (Object-oriented) – Pokok-pokok persoalan: • • Page-shipping versus Item-shipping Locking Data Caching Lock Caching 2
Arsitektur Sistem Basisdata • Data Servers (lanjt) – Pengiriman per halaman (page-shipping) versus item-shipping • Lebih kecil unit (satuan) kecil pengiriman berarti lebih banyak pesan yang dapat terkirim • Sangat bermanfaat untuk mengambil terlebih dahulu (prefetch) data (item) yang berkaitan bersama-sama dengan data yang diminta • Pengiriman per halaman (page-shipping) dapat dianggap sebagai salah satu bentuk prefetching – Locking • Ongkos (waktu) meminta dan mendapatkan lock (hak akses) dari server tinggi karena ada penundaan pesan • Dapat memberikan lock terhadap data yang diminta dan diprefetch; Sedangkan dengan page shipping, transaksi diberikan lock untuk seluruh page (halaman) • Harus ada mekanisme untuk mengembalikan lock terhadap data yang di-prefetch tetapi tidak digunakan • Harus ada mekanisme Lock terhadap page dapat diturunkan (deescalation) menjadi lock pada data dalam page jika terjadi konflik lock. Lock terhadap data yang tidak terpakai dapat dikembalikan ke server 3
Arsitektur Sistem Basisdata • Data Servers (lanjt) – Data Caching • Data dapat ditampung sementara (cached) di klien bahkan pada saat transaksi berlangsung • Tetapi harus ada mekanisme pengecekan apakah data tersebut upto-date sebelum data tersebut digunakan (cache coherency) • Pengecekan tersebut dapat dilakukan ketika ada permintaan lock terhadap item data tersebut – Lock Caching • Hak akses (lock) dapat diperoleh mesin klien bahkan ketika transaksi sedang berlangsung • Transaksi-transaksi dapat memperoleh lock yang sudah ditampung (cached) secara lokal, tanpa harus menghubungi server • Server meminta kembali lock dari klien ketika mengetahui adanya konflik permintaan lock. Klien mengembalikan lock jika tidak ada transaksi yang menggunakannnya. • Mirip dengan deescalation, tetapi dilakukan pada transaksi 4
Arsitektur Sistem Basisdata • Parallel Systems – Sistem basisdata paralel terdiri dari beberapa prosesor dan beberapa media penyimpanan (disk) yang dihubungkan oleh jaringan komputer berkecepatan tinggi. – Sistem paralel yang tidak halus (coarse-grain) terdiri dari beberapa buah prosesor berkekuatan besar – Sistem paralel raksasa atau halus (fine grain) menggunakan ribuan prosesor yang berkekuatan lebih kecil – Ada dua ukuran performansi • Throughput berapa banyak tugas yang dapat diselesaikan dalam rentang waktu yang diberikan • Response time waktu yang dibutuhkan untuk menyelesaikan satu buah tugas dari semenjak tugas itu diajukan 5
Arsitektur Sistem Basisdata • Speed-Up dan Scale-Up – – Speedup : Problem (masalah) yang berukuran sama yang dieksekusi di sistem kecil diberikan kepada sistem yang berukuran lebih besar N-kali Diukur oleh: • Speedup = waktu yang dibutuhkan (elapsed time) oleh sistem kecil Waktu yang dibutuhkan oleh sistem berukuran besar – – Speedup dikatakan linear jika persamaan di atas sama dengan N Scaleup: Meningkatkan baik ukuran permasalahan maupun sistem yang digunakan Sistem dengan ukuran N-kali lebih besar digunakan untuk menyelesaikan permasalahan yang N-kali lebih besar Diukur oleh: • Scaleup = waktu yang dibutuhkan oleh sistem kecil permasalahan kecil Waktu yang dibutuhkan oleh sistem besar permasalahan besar – Scale-up dikatakan linear jika persamaan bernilai 1 6
Arsitektur Sistem Basisdata Speed Up 7
Arsitektur Sistem Basisdata Scale-up 8
Arsitektur Sistem Basisdata • – – – Speedup dan Scaleup menjadi sublinear karena: Startup costs: waktu untuk memulai lebih dari satu proses dapat mendominasi waktu pemrosesan, terutama jika tingkat paralelismenya tinggi Interference: Proses-proses yang mengkses sumberdaya yang sama (shared) (system bus, disk, atau lock) bersaing satu sama lain, sehingga menghabiskan waktu untuk menunggu proses lain selesai menggunakan sumber daya tersebut, daripada melakukan pekerjaan yang berguna. Skew: Peningkatan derajat paralelisme juga meningkatkan variasi dalam hal waktu pelayanan terhadap tugas-tugas yang dieksekusi secara paralel. Keseluruhan waktu eksekusi ditentukan oleh waktu paling lambat dari keseluruhan tugas yang dilakukan secara paralel 9
Arsitektur Sistem Basisdata • Arsitektur Basisdata Paralel – Shared Memory Prosesor-prosesor berbagi memory yang sama – Shared disk Prosesor-prosesor berbagi tempat penyimpanan yang sama – Shared nothing Prosesor tidak berbagi baik memory maupun tempat penyimpanan – Hierarchical Campuran antara arsitektur-arsitektur di atas 10
Arsitektur Sistem Basisdata • Shared Memory – Prosesor-prosesor dan disk mempunyai akses yang sama terhadap memory yang sama, biasanya melalui sebuah bus atau melalui jaringan – Merupakan komunikasi yang efisien antara prosesor data yang ada di shared memory dapat diakses oleh prosesor manapun tanpa harus memindahkannya menggunakan perangkat lunak – Kerugian arsitektur ini tidak mendukung (scalable) untuk penggunaan lebih dari 32 atau 64 prosesor, akan terjadi bottleneck di bus – Biasanya digunakan untuk tingkat paralelisme yang rendah (4 sampai 8) 11
Arsitektur Sistem Basisdata • Shared Disk – Semua prosesor dapat secara langsung mengakses semua disk melalui jaringan, tetapi masing-masing prosesor mempunyai memori sendiri-sendiri. • Memory bus tidak lagi menjadi bottleneck • Arsitektur ini memberikan tingkat toleransi kesalahan yang tinggi jika sebuah prosesor gagal, maka prosesor lain dapat engambil alih tugasnya karena database berada di disk yang dapat dijangkau oleh seluruh prosesor – Contoh: IBM Sysplex dan DEC clusters (sekarang bagian dari Compaq) menjalankan Rdb (sekarang Oracle Rdb) merupakan pengguna komersial paling awal – Kerugian: bottleneck sekarang terjadi di interkoneksi antara masing-masing subsistem disk – Sistem ini dapat diperbesar menjadi lebih banyak prosesor, tetapi komunikasi diantara masing-masing prosesor lebih lambat 12
Arsitektur Sistem Basisdata • Shared Nothing – Masing-masing titik terdiri dari sebuah prosesor, memory, dan satu lebih disk. Prosesor pada satu titik berkomunikasi dengan prosesor lainnya menggunakan jaringan. Sebuah node bertindak sebagai server untuk data pada disk yang dimilikinya. – Contoh: Teradata, Tandem, Oracle-n CUBE – Data yang diakses dari disk lokal (dan memory lokal) tidak dilewatkan melalui jaringan, sehingga mengurangi interferensi resource sharing. – Shared-nothing multiprocessor dapat mendukung ribuan prosesor tanpa interferensi – Kerugian utama: biaya komunikasi dan akses disk nonlokal; mengirimkan data melibatkan interaksi perangkat lunak pada kedua ujung. 13
Arsitektur Sistem Basisdata • Hierarchical – Menggabungkan karakteristik-karakteristik arsitektur shared-memory, shared-disk, dan shared-nothing. – Pada tingkat paling atas adalah arsitektur shared-nothing – Masing-masing titik pada sistem dapat berupa sistem shared-memory dengan beberapa prosesor – Selain itu, masing-masing node dapat berupa sistem shared-disk, dan masing-masing sistem berbagi sekumpulan disk yang juga dapat berupa sistem shared memory. – Mengurangi kompleksitas pemrograman dengan arsitektur distributed virtual-memory. • Sering disebut juga non-uniform memory architecture (NUMA) 14
Arsitektur Sistem Basisdata • Distributed Systems – Data tersebar di beberapa mesin (juga disebut sebagai site atau node) – Dihubungkan oleh jaringan komputer – Data dibagi pakai oleh pengguna di beberapa mesin 15
Arsitektur Sistem Basisdata • Distributed Databases – Homogeneous distributed databases • Software dan skema yang sama di semua site, data bisa dipartisi di antara site • Tujuan: memberikan pandangan satu database, menyembunyikan detail distribusi – Heterogeneous distributed databases • Software dan skema yang berbeda di site yang berbeda • Tujuan: mengintegrasikan database yang sudah ada untuk memberikan fungsionalitas yang berguna – Ada mekanisme yang membedakan transaksi-transaksi lokal dan global. • Transaksi lokal mengakses data di suatu site di mana transaksi tersebut diawali • Transaksi global adalah transaksi yang mengakses data baik di site yang berbeda dari site di mana transaksi tersebut diawali maupun mengakses data di beberapa site yang berbeda 16
Arsitektur Sistem Basisdata • Keuntungan/Kerugian Distributed Systems – Sharing data Pengguna di satu site dapat mengakses data yang ada di beberapa site lainnya – Autonomy Masing-masing site mampu memperoleh tingkat kendali terhadap data yang disimpan secara lokal – Sistem dapat terus available karena adanya redundansi data dapat direplikasi di remote site, dan sitem dapat berfungsi meskipun satu gagal. – Kerugian: Menambah kompleksitas yang diperlukan untuk menjamin koordinasi yang tepat dianatara site. • Biaya pengembangan software • Potensi yang lebih tinggi terjadinya kesalahan (bugs) • Menambah biaya pemrosesan 17
Network Types • Local-area networks (LANs) Terdiri dari prosesor yang terdistibusi di area geografis yang kecil • Wide-area Networks (WANs) Terdiri dari prosesor yang terdistibusi di area geografis yang besar • Discontinuous connection WANs, dihubungkan melalui dial-up, yang terhubung hanya beberapa waktu • Continuous connection WANs, yang masing-masing hostnya terhubung sepanjang waktu 18
Skema Basisdata • Tidak terlepas dari level abstraksi data: – – – Physical level menggambarkan bagaimana sebuah record disimpan Logical Level menggambarkan bagaimana data disimpan di database, dan hubungan diantara masing-masing data. View level program-program aplikasi yang menyembunyikan detail tipe-tipe data. View juga dapat menyembunyikan informasi untuk tujuan keamanan. • • • Skema mirip dengan tipe dan variabel dalam bahasa pemrograman Skema Struktur logis dari basisdata Skema ini terdiri dari dua macam: • Instance Nilai suatu basisdata pada suatu waktu tertentu • Physical Data Independence kemampuan untuk mengubah skema fisik tanpa mengubah skema logis Aplikasi-aplikasi bergantung pada skema logis Secara umum, interface antara masing-masing level dan komponen harus didefinisikan dengan baik sehingga perubahan di salah satu bagian tidak mempengaruhi bagian lainnya • • – – Physical Schema: desain basisdata pada level fisik Logical schema: desain basisdata pada level logis – Mirip dengan nilai sebuah variabel 19
- Slides: 19