GNU/Linux >> Belajar Linux >  >> Cent OS

Apa itu Basis Data Terdistribusi?

Pendahuluan

Basis data terdistribusi digunakan untuk penskalaan horizontal , dan dirancang untuk memenuhi persyaratan beban kerja tanpa harus membuat perubahan dalam aplikasi database atau menskalakan satu mesin secara vertikal.

Basis data terdistribusi menyelesaikan berbagai masalah , seperti ketersediaan, toleransi kesalahan, throughput, latensi, skalabilitas, dan banyak masalah lain yang dapat timbul dari penggunaan satu mesin dan satu database.

Dalam artikel ini, Anda akan mempelajari apa itu database terdistribusi serta kelebihan dan kekurangannya.

Definisi Basis Data Terdistribusi

Basis data terdistribusi mewakili beberapa basis data yang saling berhubungan yang tersebar di beberapa situs yang terhubung oleh jaringan. Karena semua database terhubung, mereka muncul sebagai database tunggal bagi pengguna.

Database terdistribusi menggunakan banyak node. Mereka menskalakan secara horizontal dan mengembangkan sistem terdistribusi. Lebih banyak node dalam sistem memberikan lebih banyak daya komputasi, menawarkan ketersediaan yang lebih besar, dan menyelesaikan satu titik masalah kegagalan.

Bagian berbeda dari basis data terdistribusi disimpan di beberapa lokasi fisik , dan persyaratan pemrosesan didistribusikan di antara prosesor pada beberapa node database.

Sistem manajemen basis data terdistribusi terpusat (DDBMS ) mengelola data terdistribusi seolah-olah disimpan di satu lokasi fisik. DDBMS menyinkronkan semua operasi data di antara database dan memastikan bahwa pembaruan dalam satu database secara otomatis mencerminkan database di situs lain.

Fitur Basis Data Terdistribusi

Beberapa fitur umum dari database terdistribusi adalah:

  • Independensi lokasi - Data disimpan secara fisik di beberapa situs dan dikelola oleh DDBMS independen.
  • Pemrosesan kueri terdistribusi - Basis data terdistribusi menjawab pertanyaan dalam lingkungan terdistribusi yang mengelola data di banyak situs. Kueri tingkat tinggi diubah menjadi rencana eksekusi kueri untuk pengelolaan yang lebih sederhana.
  • Manajemen transaksi terdistribusi - Menyediakan database terdistribusi yang konsisten melalui protokol komit, teknik kontrol konkurensi terdistribusi, dan metode pemulihan terdistribusi jika terjadi banyak transaksi dan kegagalan.
  • Integrasi yang mulus - Basis data dalam kumpulan biasanya mewakili satu basis data logis, dan mereka saling berhubungan.
  • Penautan jaringan - Semua database dalam kumpulan dihubungkan oleh jaringan dan berkomunikasi satu sama lain.
  • Pemrosesan transaksi - Basis data terdistribusi menggabungkan pemrosesan transaksi, yang merupakan program yang mencakup kumpulan dari satu atau lebih operasi basis data. Pemrosesan transaksi adalah proses atomik yang dijalankan seluruhnya atau tidak sama sekali.

Jenis Basis Data Terdistribusi

Ada dua jenis database terdistribusi:

  • Homogen
  • Heterogen

Homogen

Basis data terdistribusi homogen adalah jaringan database identik disimpan di beberapa situs. Situs memiliki sistem operasi, DDBMS, dan struktur data yang sama, sehingga mudah dikelola.

Basis data homogen memungkinkan pengguna mengakses data dari masing-masing basis data dengan lancar.

Diagram berikut menunjukkan contoh database homogen:

Heterogen

Basis data terdistribusi heterogen menggunakan berbeda skema, sistem operasi, DDBMS, dan model data yang berbeda.

Dalam kasus database terdistribusi heterogen, situs tertentu dapat sepenuhnya tidak menyadari situs lain yang menyebabkan kerjasama terbatas dalam memproses permintaan pengguna. Keterbatasannya adalah mengapa terjemahan diperlukan untuk membangun komunikasi antar situs.

Diagram berikut menunjukkan contoh database heterogen:

Penyimpanan Basis Data Terdistribusi

Penyimpanan database terdistribusi dikelola dengan dua cara:

  • Replikasi
  • Fragmentasi

Replikasi

Dalam replikasi basis data, sistem menyimpan salinan data di situs yang berbeda . Jika seluruh database tersedia di beberapa situs, itu adalah database yang sepenuhnya redundan.

Keuntungan dari replikasi database adalah meningkatkan ketersediaan data o n situs yang berbeda dan memungkinkan permintaan kueri paralel untuk diproses.

Namun, replikasi basis data berarti bahwa data memerlukan pembaruan dan sinkronisasi konstan dengan situs lain untuk mempertahankan salinan basis data yang tepat. Setiap perubahan yang dibuat di satu situs harus dicatat di situs lain, jika tidak, akan terjadi inkonsistensi.

Pembaruan konstan menyebabkan banyak overhead server dan memperumit kontrol konkurensi, karena banyak kueri serentak harus diperiksa di semua situs yang tersedia.

Fragmentasi

Ketika menyangkut fragmentasi penyimpanan database terdistribusi, relasinya terfragmentasi, yang berarti mereka dipecah menjadi bagian-bagian yang lebih kecil . Setiap fragmen disimpan di situs yang berbeda, jika diperlukan.

Prasyarat untuk fragmentasi adalah untuk memastikan bahwa fragmen nantinya dapat direkonstruksi ke dalam relasi aslinya tanpa kehilangan data.

Keuntungan dari fragmentasi adalah tidak ada salinan data , yang mencegah inkonsistensi data.

Ada dua jenis fragmentasi:

  • Fragmentasi horizontal - Skema relasi difragmentasi ke dalam grup baris, dan setiap grup (tupel) ditetapkan ke satu fragmen.
  • Fragmentasi vertikal - Skema relasi terfragmentasi menjadi skema yang lebih kecil, dan setiap fragmen berisi kunci kandidat umum untuk menjamin penggabungan lossless.

Kelebihan dan Kerugian Basis Data Terdistribusi

Berikut adalah beberapa keuntungan dan kerugian utama dari database terdistribusi:

Keuntungan Kekurangan
Pengembangan modul Perangkat lunak mahal
Keandalan Overhead besar
Menurunkan biaya komunikasi Integritas data
Respons lebih baik Distribusi data tidak tepat

Keuntungan dan kerugian dijelaskan secara rinci di bagian berikut.

Keuntungan

  • Pengembangan Modular . Pengembangan modular dari basis data terdistribusi menyiratkan bahwa suatu sistem dapat diperluas ke lokasi atau unit baru dengan menambahkan server dan data baru ke pengaturan yang ada dan menghubungkannya ke sistem terdistribusi tanpa gangguan. Jenis perluasan ini tidak menyebabkan gangguan dalam fungsi basis data terdistribusi.
  • Keandalan . Database terdistribusi menawarkan keandalan yang lebih besar dibandingkan dengan database terpusat. Jika terjadi kegagalan database dalam database terpusat, sistem akan berhenti total. Dalam database terdistribusi, sistem berfungsi bahkan ketika terjadi kegagalan, hanya menghasilkan penurunan performa hingga masalah teratasi.
  • Menurunkan Biaya Komunikasi . Menyimpan data secara lokal mengurangi biaya komunikasi untuk manipulasi data dalam database terdistribusi. Penyimpanan data lokal tidak dimungkinkan dalam database terpusat.
  • Respons Lebih Baik . Distribusi data yang efisien dalam sistem database terdistribusi memberikan respons yang lebih cepat ketika permintaan pengguna dipenuhi secara lokal. Dalam database terpusat, permintaan pengguna melewati mesin pusat, yang memproses semua permintaan. Hasilnya adalah peningkatan waktu respons, terutama dengan banyak kueri.

Kekurangan

  • Perangkat Lunak Mahal . Memastikan transparansi dan koordinasi data di beberapa situs sering kali memerlukan penggunaan perangkat lunak yang mahal dalam sistem basis data terdistribusi.
  • Overhead Besar . Banyak operasi di beberapa situs memerlukan banyak perhitungan dan sinkronisasi konstan saat replikasi basis data digunakan, menyebabkan banyak biaya pemrosesan.
  • Integritas Data . Masalah yang mungkin terjadi saat menggunakan replikasi basis data adalah integritas data, yang dikompromikan dengan memperbarui data di banyak situs.
  • Distribusi Data Tidak Benar . Responsif terhadap permintaan pengguna sangat bergantung pada distribusi data yang tepat. Artinya, daya tanggap dapat dikurangi jika data tidak didistribusikan dengan benar di beberapa situs.

Cent OS
  1. Apa itu speedtest-cli?

  2. Apa itu Web3.0?

  3. Apa itu Basis Data Relasional?

  1. Apa itu Basis Data NoSQL? – Penjelasan NoSQL

  2. Cara Menginstal Basis Data Terdistribusi Cassandra di CentOS 7

  3. Database NoSQL Terdistribusi Elasticsearch – Apa Itu dan Haruskah Anda Menggunakannya?

  1. Apa itu HDFS? Panduan Sistem File Terdistribusi Hadoop

  2. Apa itu Basis Data Relasional?

  3. Apa Itu Database Server &Untuk Apa Digunakan?