PEMBAHASAN
Pengertian Basis data
Basis data atau sering pula dieja database, adalah kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basisdata disebut sistem manajemen basisdata (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, makalah ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis. Dalam basis data terdapat basis data Data Terpusat (Centralized Database), Arsitektur Basisdata Terpusat, Data Terdistribusi (Distributed Database), Arsitektur Basisdata Terdistribusi, Replicated Database (replika database), Partitioned Database (partisi basis data), dan banyak lagi hal-hal mengenai basis data.
Data Terpusat (Centralized Database)
Basis data terpusat merupakan suatu sistem yang menempatkan data disuatu lokasi saja dan semua lokasi lain mengakses basis data di lokasi tersebut. Dimana tugas server disini hanya melayani permintaan dari client. Sedangkan client meminta layanan dari server.
Alasan penggunaan Basis data terpusat.
Implementasi Distributed data processing saat ini telah lebih maju dari saat awal konsep ini diperkenalkan. Dengan menggunakan database client/server, Sebuah server berfungsi jauh lebih efisien tidak hanya sebatas file server, melainkan ikut pula berperan aktif dalam pengolahan data, dan mengelola hak akses user atas data. Hal ini menjadikan fungsi server sebagai file server berubah menjadi data server.
Namun perkembangan saat ini, banyak pihak memilih untuk lebih memaksimalkan fungsi server dalam pengolahan data. Dengan memanfaatkan secara penuh keberadaan stored procedure, trigger, dan user defined functions, developer dapat meningkatkan kemampuan server lebih dari sekedar melakukan eksekusi query atau pemrosesan data sederhana, melainkan menjadikannya sebagai business logic atas sistem yang dibangun yang dalam implementasinya lebih dikenal sebagai centralized data processing.
Implementasi centralized data processing ini dipilih karena menawarkan beberapa keuntungan:
1. Kinerja sistem yang lebih terjamin, tidak seperti pada implementation distributed data procesing , implementasi centralized data processing tidak terpengaruh pada spesifikasi teknis hardware disisi client yang digunakan. Aplikasi disisi client hanya merupakan thin client yang berfungsi sebagai input/output terminal.
2. Efisiensi dalam pemanfaatan network traffic, Pada implementasi distributed data processing, fungsi server hanya mengolah data secara sederhana dan umumnya memberikan data mentah untuk kemudian diolah di sisi client. Hal ini menyebabkan network traffic menjadi penuh dan kerap kali menjadi bottleneck (Respons dari aplikasi menjadi lebih lambat) dan salah satu faktor penyebab terbesar turunnya kinerja sistem yang digunakan. Dengan mengimplementasikan centralized data processing, fungsi server hanya memberikan data jadi. Client hanya bertugas untuk mengolah data tersebut ke dalam media output seperti laporan atau mentransfernya ke dalam format data lain yang dibutuhkan.
3. Kemudahan dalam maintenance dan deployment. Dengan implementasi centralized data processing, fungsi-fungsi penting diletakkan di sisi server. Hal ini tentunya meningkatkan kemudahan dalam maintenance sistem yang dibangun karena tidak memerlukan redeployment saat ada perubahan yang harus dilakukan pada sisi business logic yang digunakan. Karena perubahan tersebut hanya perlu dilakukan di sisi server.
4. Cost saving, Implementasi centralized data processing tidak membutuhkan keberadaan mesin-mesin client dengan spesifikasi teknis tinggi.
5. Menghapus redudansi dan menyederhanakan pemeliharaan sistem.
Arsitektur Basisdata Terpusat
Sebuah sistem basis data terpusat hanya mungkin dibangun dalam sebuah sistem jaringan komputer. Dalam sebuah sistem jaringan komputer kita mengenal adanya topologi, yang akan menentukan bagaimana konfigurasi/keterhubungan antara satu simpul jaringan (node/site) dengan simpul-simpul lainnya.
Sistem basis data terpusat merupakan suatu konsep client/server dengan model two-tier (dua tingkatan). Dua Tingatan adalah proses dimana komputer workstation membuat hubungan ke komputer server dan mempertahankan hubungan tersebut sampai proses selesai. Misalnya pada proses pemasukan data atau membuat sebuah laporan. Model two tier terdiri atas sebuah server dan banyak client yang dihubungkan melalui jaringan. Aplikasi ditempatkan dikomputer client dan mesin database ditempatkan di server. Tier client disebut juga tingkatan presentasi.. Tier client berisi kode yang akan menampilkan data dan interaksi dengan user. Tugas yang terjadi pada client adalah : antarmuka pengguna, interaksi database, pengambilan dan modifikasi data, aturan bisnis, dan pengaturan kesalahan.
Hubungan yang terbentuk sangat konsumtif dalam sumber daya (alokasi memori, ruang hardisk, kontrol, dan lainnya), karena tidak efektif jika dilakukan untuk hubungan yang melibatkan banyak pemakai (contohnya pada sistem jaringan internet). Oleh karena itu tidak heran jika konsep dua Tingkatan atau (two tier) hanya dipraktekkan pada LAN (Local Area Network).
Data Terdistribusi (Distributed Database)
Basis Data Terdistribusi adalah sekumpulan database atau data logic yang saling berhubungan secara fisik terdistribusi dalam jaringan komputer, yang tidak tergantung dari program aplikasi sekarang maupun masa yang akan datang.
Pada basis data terdistribusi (distributed database), data disimpan pada beberapa tempat (site), setiap tempat diatur dengan suatu DBMS (Database Management System) yang dapat berjalan secara independent. Properti yang terutama terdapat pada basis data terdistribusi : Independensi data terdistribusi : pemakai tidak perlu mengetahui dimana data berada (merupakan pengembangan prinsip independensi data fisik dan logika). Transaksi terdistribusi yang atomic : pemakai dapat menulis transaksi yang mengakses dan mengubah data pada beberapa tempat seperti mengakses transaksi local.
Untuk trend basis data terdistribusi saat ini, pemakai harus mengetahui dimana data ditempatkan, juga harus mengetahui dimana system yang tidak mendukung independensi data terdistribusi dan transaksi terdistribusi atomic. Kedua property tersebut harus mendukung system secara efisien. Untuk system terdistribusi yang bersifat global, properti-properti tersebut kemungkinan tidak tepat karena adanya administrasi yang terlalu berlebihan dalam membuat lokasi data yang transparan.
Terdapat dua tipe basis data terdistribusi :
Homogen : yaitu sistem dimana setiap tempat menjalankan tipe DBMS yang sama.
Heterogen : yaitu sistem dimana setiap tempat yang berbeda menjalankan DBMS yang berbeda, baik Relational DBMS (RDBMS) atau non relational DBMS
Arsitektur Basisdata Terdistribusi
Terdapat tiga pendekatan alternatif untuk membagi fungsi pada proses DBMS yang berbeda. Dua arsitektur alternatif DBMS terdistribusi adalah Client/Server dan Collaboration Server.
• Client-Server
Sistem client-server mempunyai satu atau lebih proses client dan satu atau lebih proses server, dan sebuah proses client dapat mengirim query ke sembarang proses server seperti pada Gambar 7-2. Client bertanggung jawab pada antar muka untuk user, sedangkan server mengatur data dan mengeksekusi transaksi. Sehingga suatu proses client berjalan pada sebuah personal computer dan mengirim query ke sebuah server yang berjalan pada mainframe.
Arsitektur ini menjadi sangat popular untuk beberapa alasan. Pertama, implementasi yang relatif sederhana karena pembagian fungis yang baik dank arena server tersentralisasi. Kedua, mesin server yang mahal utilisasinya tidak terpengaruh pada interaksi pemakai, meskipun mesin client pemakai dapat menjalankan antarmuka berbasis grafis sehingga pemakai lebih mudah dibandingkan antar muka pada server yang tidak user-friendly. Pada saat menulis aplikasi client-server, perlu diingat batasan antara client dan server dan untuk menjaga komunikasi antara keduanya yang berorientasi himpunan. Khususnya membuka kursor dan mengambil tupel pada satu waktu membangkitkan beberapa pesan dan dapat diabaikan.
• Collaboration Server
Arsitektur client-server tidak mengijinkan satu query mengakses banyak server karena proses client harus dapat membagi sebuah quer ke dalam beberapa subquery untuk dieksekusi pada tempat yang berbeda dan kemudian membagi jawaban ke subquery. Proses client cukup komplek dan terjadi overlap dengan server; sehingga perbedaan antara client dan server menjadi jelas. Untuk mengurangi perbedaan diguankan alternatif arsitektur client-server yaitu sistem Collaboration Server. Pada sistem ini terdapat sekumpulan server basis data, yang menjalankan transaksi data lokal yang bekerjasama mengeksekusi transaksi pada beberapa server seperti pada Gambar 7-3.. Jika server menerima query yang membutuhkan akses ke data pada server lain, sistem membangkitkan subquery yang dieksekusi server lain dan mengambil hasilnya bersama-sama untuk menggabungkan jawaban menjadi query asal.
Pada DBMS terdistribusi, relasi disimpan pada beberapa tempat. Pengaksesan relasi yang disimpan pada remote side mengakibatkan biaya melewatkan pesan dan untuk menguranginya, sebuah relasi dipartisi atau difragmentasi ke beberapa tempat, dengan fragmen dikirim pada tempat dimana fragmen tersebut sering diakses, atau replika pada pada setiap tempat dimana relasi menjadi kebutuhan yang tinggi.
Fragmentasi Fragmentasi terdiri dari relasi yang dibagi ke relasi atau fragmen yang lebih kecil dan mengirim fragmen, pada beberapa tempat. Terdapat dua macam fragmentasi, fragmentasi horizontal dan fragmentasi vertikal. Pada fragmentasi horisontal, setiap fragmen terdiri dari sebuah subset baris dari relasi asal. Pada fragmentasi vertikal, setiap fragment terdiri dari sebuah subset kolom dari relasi asal.
Replicated Database (replika database)
Replicated Data atau Replikasi database adalah menyalin data elektronik sering dari database dalam satu komputer atau server untuk database di negara lain sehingga semua pengguna berbagi tingkat yang sama informasi. Hasilnya adalah database terdistribusi di mana pengguna dapat mengakses data yang relevan dengan tugas-tugas mereka tanpa mengganggu pekerjaan orang lain. Pelaksanaan replikasi database untuk tujuan menghilangkan data yang ambiguitas atau inkonsistensi di antara pengguna dikenal sebagai normalisasi.
Replikasi database dapat dilakukan dalam setidaknya tiga cara yang berbeda :
Replikasi Snapshot : Data satu server hanya disalin ke server lain, atau ke database lain pada server yang sama.
Penggabungan replikasi : Data dari dua atau lebih database dikombinasikan ke dalam database tunggal.
Replikasi transaksional : Pengguna menerima salinan awal penuh database dan kemudian menerima update berkala sebagai perubahan data.
Sebuah sistem manajemen basis data terdistribusi ( DDBMS ) memastikan bahwa perubahan, penambahan, dan penghapusan dilakukan pada data pada setiap lokasi yang diberikan secara otomatis tercermin dalam data yang disimpan di semua lokasi lain. Oleh karena itu, setiap pengguna selalu melihat data yang konsisten dengan data yang dilihat oleh semua pengguna lain.
Partitioned Database
Database dipartisi Sebuah database relasional dipartisi adalah database yang terdiri dari dua atau lebih partisi database. Dalam jenis database, data hash untuk penyimpanan. Sebuah partisi database terdiri dari data sendiri, indeks, file konfigurasi, dan log transaksi. Sebuah partisi database kadang-kadang disebut node atau simpul basis data.
Tabel dapat ditemukan di satu atau lebih partisi database. Ketika data tabel didistribusikan di beberapa partisi, beberapa baris yang disimpan dalam satu partisi, dan baris lainnya disimpan dalam partisi lain. Pengambilan data dan memperbarui permintaan yang membusuk secara otomatis ke sub-permintaan, dan dieksekusi secara paralel antara partisi database yang berlaku. Fakta bahwa database dibagi di seluruh partisi database adalah transparan kepada pengguna.
Biasanya, partisi database tunggal ada pada setiap komponen fisik yang membentuk komputer. Prosesor pada setiap sistem yang digunakan oleh database manager pada setiap partisi database untuk mengelola bagiannya dari total data dalam database. Karena data dibagi di seluruh partisi database, Anda dapat menggunakan kekuatan beberapa prosesor pada beberapa komputer untuk memenuhi permintaan informasi.
Pengambilan data dan memperbarui permintaan yang membusuk secara otomatis ke subrequests dan dieksekusi secara paralel antara partisi database yang berlaku .
Interaksi pengguna terjadi melalui satu partisi database, yang dikenal sebagai partisi koordinator untuk pengguna tersebut. Koordinator berjalan pada partisi database sama seperti aplikasi, atau, dalam kasus aplikasi remote, partisi database yang aplikasi yang terhubung. Setiap partisi database dapat digunakan sebagai partisi koordinator.
1 komentar:
Actually I still have a little confusion about this thing, yet I should say thank for your fresh ideas.
r12 or 11i workflow administration
Posting Komentar