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

Apa itu Basis Data Dokumen?

Pendahuluan

Dengan kemampuan unik, database NoSQL mengatasi kendala yang ditemukan dalam model database relasional. NoSQL adalah istilah umum untuk empat subset utama database NoSQL:

  • Database nilai kunci
  • Database kolom
  • Basis data grafik
  • Database dokumen

Dalam artikel ini, kami akan menjelaskan apa itu database dokumen, menjelaskan kelebihan dan kekurangannya, serta memberikan contoh.

Definisi Basis Data Dokumen

Database dokumen adalah jenis database NoSQL yang menyimpan data sebagai dokumen JSON, bukan kolom dan baris. JSON adalah bahasa asli yang digunakan untuk menyimpan dan mengkueri data. Dokumen-dokumen ini dapat dikelompokkan bersama ke dalam kumpulan untuk membentuk sistem basis data.

Setiap dokumen terdiri dari sejumlah pasangan nilai kunci. Berikut adalah contoh dokumen yang terdiri dari 4 pasangan nilai kunci:

{
"ID" : "001",
"Book" : "Java: The Complete Reference",
"Genre" : "Reference work",
"Author" : "Herbert Schildt",
}

Menggunakan JSON memungkinkan pengembang aplikasi untuk menyimpan dan membuat kueri data dalam format model dokumen yang sama dengan yang mereka gunakan untuk mengatur kode aplikasi mereka. Model objek dapat dikonversi ke format lain, seperti JSON, BSON, dan XML.

Database Dokumen Relasional Vs

Sistem manajemen basis data relasional (RDBMS) mengandalkan Structured Query Language (SQL). NoSQL tidak.

Sebuah RDBMS difokuskan pada menciptakan hubungan antara file untuk menyimpan dan membaca data. Database dokumen difokuskan pada data itu sendiri dan hubungan direpresentasikan dengan data bersarang.

Perbandingan utama antara database relasional dan dokumen:

RDBMS Sistem Database Dokumen
Terstruktur berdasarkan konsep hubungan. Berfokus pada data daripada hubungan.
Mengatur data menjadi tupel (atau baris). Dokumen memiliki properti tanpa definisi teoretis, alih-alih baris.
Mendefinisikan data (membentuk hubungan) melalui batasan dan kunci asing (mis., tabel anak merujuk ke tabel master melalui ID-nya). Tidak ada bahasa DDL untuk mendefinisikan skema.
Menggunakan DDL (Data Definition Language) untuk membuat hubungan. Hubungan direpresentasikan melalui data bertingkat , bukan kunci asing (dokumen apa pun dapat berisi dokumen lain yang bersarang di dalamnya, yang mengarah ke hubungan N:1 atau 1:N antara dua entitas dokumen).
Menawarkan konsistensi ekstrim , penting untuk beberapa kasus penggunaan seperti perbankan harian. Menawarkan konsistensi akhir dengan periode inkonsistensi.

Fitur Database Dokumen

Basis data dokumen menyediakan kueri cepat, struktur yang cocok untuk menangani data besar, pengindeksan fleksibel, dan metode pemeliharaan basis data yang disederhanakan. Ini efisien untuk aplikasi web dan telah terintegrasi penuh oleh perusahaan IT skala besar seperti Amazon.

Meskipun database SQL memiliki stabilitas dan kekuatan vertikal yang luar biasa, mereka berjuang dengan database berukuran super. Kasus penggunaan yang memerlukan akses langsung ke data, seperti aplikasi perawatan kesehatan, lebih cocok untuk database dokumen. Database dokumen memudahkan permintaan data dengan model dokumen yang sama yang digunakan untuk mengkode aplikasi.

Kasus Penggunaan Database Dokumen

Kasus Penggunaan Umum
Profil pengguna Mengekstrak data besar secara real-time
Database buku Data dari berbagai struktur
Manajemen konten Katalog
Data pasien

Kami akan membahas beberapa kasus penggunaan yang disebutkan di atas secara lebih rinci di bagian berikut.

Database Buku

Sistem dokumen relasional dan NoSQL digunakan untuk membentuk database buku, meskipun dengan cara yang berbeda.

Pendekatan relasional akan mewakili hubungan antara buku dan penulis melalui tabel dengan ID – seorang Penulis meja dan Buku meja. Ini memaksa setiap penulis untuk memiliki setidaknya satu entri dalam tabel Buku dengan melarang nilai nol.

Sebagai perbandingan, model dokumen memungkinkan Anda bersarang . Ini menunjukkan hubungan secara lebih alami dan sederhana dengan memastikan bahwa setiap dokumen penulis memiliki properti disebut Buku , dengan berbagai dokumen buku terkait di properti. Saat Anda mencari seorang penulis, seluruh koleksi buku akan muncul.

Pengelolaan Konten

Pengembang menggunakan database dokumen untuk membuat platform streaming video, blog, dan layanan serupa. Setiap file disimpan sebagai satu dokumen dan database lebih mudah dipelihara seiring dengan perkembangan layanan dari waktu ke waktu. Modifikasi data yang signifikan, seperti perubahan model data, tidak memerlukan waktu henti karena tidak diperlukan pembaruan skema.

Katalog

Database dokumen jauh lebih efisien daripada database relasional dalam hal menyimpan dan membaca file katalog. Katalog mungkin memiliki ribuan atribut yang disimpan dan database dokumen menyediakan waktu membaca yang cepat. Dalam database dokumen, atribut yang terkait dengan satu produk disimpan dalam satu dokumen. Memodifikasi atribut satu produk tidak memengaruhi dokumen lainnya.

Kelebihan dan Kekurangan Database Dokumen

Berikut adalah beberapa keunggulan utama dan kerugian database dokumen:

Kelebihan Basis Data Dokumen Kekurangan Basis Data Dokumen
Tanpa skema
Batasan Pemeriksaan Konsistensi
Pembuatan dan perawatan lebih cepat
Kelemahan atomitas
Tidak ada kunci asing Keamanan
Buka format
Pembuatan versi bawaan

Keuntungan dan kerugian dijelaskan lebih lanjut di bagian di bawah ini.

Keuntungan

  • Tanpa skema . Tidak ada batasan dalam format dan struktur penyimpanan data. Ini bagus untuk menyimpan data yang ada pada volume besar dan status struktural yang berbeda, terutama dalam sistem yang terus bertransformasi.
  • Pembuatan dan mobil lebih cepat e. Pemeliharaan minimal diperlukan setelah Anda membuat dokumen, yang dapat sesederhana menambahkan objek kompleks Anda sekali.
  • Tidak ada kunci asing . Dengan tidak adanya hubungan dinamis ini, dokumen dapat menjadi independen satu sama lain.
  • Format terbuka . Proses build bersih yang menggunakan XML, JSON, dan turunan lainnya untuk mendeskripsikan dokumen.
  • Pembuatan versi bawaan . Seiring bertambahnya ukuran dokumen Anda, mereka juga dapat tumbuh dalam kompleksitas. Pembuatan versi mengurangi konflik.

Kekurangan

  • Batasan Pemeriksaan Konsistensi . Dalam contoh kasus penggunaan basis data buku di atas, dimungkinkan untuk mencari buku dari penulis yang tidak ada. Anda dapat mencari koleksi buku dan menemukan dokumen yang tidak terkait dengan koleksi penulis.
    Setiap daftar juga dapat menduplikasi informasi penulis untuk setiap buku. Inkonsistensi ini tidak signifikan dalam beberapa konteks, tetapi pada standar tingkat atas audit konsistensi RDB, inkonsistensi ini sangat menghambat kinerja database.
  • Kelemahan atomitas . Sistem relasional juga memungkinkan Anda mengubah data dari satu tempat tanpa perlu GABUNG. Semua kueri pembacaan baru akan mewarisi perubahan yang dibuat pada data Anda melalui satu perintah (seperti memperbarui atau menghapus baris).
    Untuk database dokumen, perubahan yang melibatkan dua koleksi akan mengharuskan Anda menjalankan dua kueri terpisah (per koleksi). Ini melanggar persyaratan atomisitas.
  • Keamanan . Hampir setengah dari aplikasi web saat ini secara aktif membocorkan data sensitif. Oleh karena itu, pemilik database NoSQL perlu memperhatikan kerentanan aplikasi web.

Database Dokumen Terbaik

Amazon DocumentDB

Fitur:

  • kompatibel dengan MongoDB
  • Terkelola sepenuhnya
  • Kinerja tinggi dengan kueri latensi rendah
  • Kepatuhan dan keamanan yang kuat
  • Ketersediaan tinggi

Digunakan untuk:

  • Amazon seluruh tim pengembangan menggunakan Amazon DocumentDB untuk meningkatkan kelincahan dan produktivitas. Mereka membutuhkan indeks bersarang, agregasi, dan kueri ad hoc, dengan proses yang terkelola sepenuhnya.
  • BBC menggunakannya untuk membuat kueri dan menyimpan data dari beberapa aliran data dan menyusunnya menjadi umpan pelanggan tunggal. Mereka bermigrasi ke Amazon DocumentDB untuk mendapatkan keuntungan dari layanan yang terkelola sepenuhnya dengan ketersediaan tinggi, daya tahan, dan pencadangan default.
  • Rappi beralih ke Amazon DocumentDB untuk mengurangi waktu pengkodean, Dow Jones untuk menyederhanakan operasi dan Samsung untuk penanganan log besar yang lebih baik secara lebih fleksibel.

MongoDB

Fitur:

  • Kueri ad hoc
  • Pengindeksan yang dioptimalkan untuk kueri
  • Membagi
  • Penyeimbangan beban

Digunakan untuk:

  • Forbes penurunan waktu pembuatan sebesar 58%, peningkatan langganan sebesar 28% karena pembuatan fitur baru yang lebih cepat, penggabungan yang lebih sederhana, dan penanganan yang lebih baik untuk jenis data yang semakin beragam.
  • Toyota merasa jauh lebih mudah bagi pengembang untuk bekerja pada kecepatan tinggi dengan menggunakan dokumen JSON alami. Lebih banyak waktu dihabiskan untuk membangun nilai bisnis daripada pemodelan data.

DB Kosmos

Fitur:

  • Baca cepat skala apa pun
  • 99,999% ketersediaan
  • Terkelola sepenuhnya
  • API Inti NoSQL/Native
  • Tanpa server, hemat biaya/skala instan

Digunakan untuk:

  • Coca-Cola mendapatkan wawasan yang disampaikan dalam hitungan menit, memfasilitasi penskalaan global. Sebelum bermigrasi ke Cosmos DB, butuh waktu berjam-jam.
  • ASOS membutuhkan database terdistribusi yang dapat diskalakan secara fleksibel dan mulus untuk menangani lebih dari 100 juta pelanggan ritel global.

ArangoDB

Fitur:

  • Validasi skema
  • Pengindeksan yang beragam
  • Kluster terdistribusi cepat
  • Set data besar v efisien
  • Mendukung beberapa model data NoSQL
  • Gabungkan model menjadi satu kueri

Digunakan untuk:

  • Universitas Oxford mengurangi kehadiran di rumah sakit dan meningkatkan hasil tes dengan mengembangkan tes penilaian berbasis web untuk penyakit kardiopulmoner.
  • FlightStats mengubah data penerbangan yang terfragmentasi (status penerbangan, cuaca, penundaan bandara, dan data referensi) menjadi satu standar, memungkinkan hasil yang akurat, prediktif, dan analitis.

Server Couchbase

Fitur:

  • Kemampuan untuk mengelola penerapan global
  • Kelincahan dan fleksibilitas yang ekstrim
  • Cepat dalam skala besar
  • Integrasi awan yang mudah

Digunakan untuk:

  • BT menggunakan model data fleksibel Couchbase untuk mempercepat kapasitasnya dalam mengirimkan konten dengan performa tinggi sambil menskalakan dengan mudah terhadap lonjakan permintaan.
  • eBay bermigrasi dari Oracle untuk solusi yang lebih hemat biaya dan dapat diterapkan fitur (dari sistem penyimpanan/dokumen nilai kunci mereka). Performa dan ketersediaan aplikasi meningkat, sementara developer dapat menggunakan pengetahuan SQL mereka untuk mempercepat pipeline CI/CD melalui skema yang lebih fleksibel.

CouchDB

Fitur:

  • GUI berbasis browser
  • Menawarkan replikasi paling sederhana
  • Otentikasi pengguna
  • Properti ACID

Digunakan untuk:

  • Meebo, platform sosial, menggunakan CouchDB untuk antarmuka berbasis web dan aplikasinya.
  • BBC menggunakan CouchDB untuk platform konten dinamisnya.

Bagaimana Memilih?

Tuntutan kritis aplikasi Anda menentukan cara menyusun data. Beberapa pertanyaan kunci:

  • Apakah Anda akan lebih banyak membaca atau menulis? Sistem relasional lebih unggul jika Anda melakukan lebih banyak penulisan, karena menghindari duplikasi selama pembaruan.
  • Seberapa penting sinkronisasi? Karena kerangka ACID-nya, sistem relasional melakukannya dengan lebih baik.
  • Seberapa banyak skema database Anda perlu diubah di masa mendatang? Database dokumen adalah pilihan terbaik jika Anda bekerja dengan beragam data dalam skala besar dan membutuhkan perawatan minimal.

Baik dokumen maupun SQL benar-benar lebih baik dari yang lain. Pilihan yang tepat tergantung pada kasus penggunaan Anda. Saat membuat keputusan, pertimbangkan jenis operasi yang paling sering dilakukan.


Cent OS
  1. Apa itu Basis Data Relasional?

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

  3. Bagaimana rm bekerja? Apa yang rm lakukan?

  1. Apa itu Basis Data NoSQL? – Penjelasan NoSQL

  2. Apa itu Spark DataFrame?

  3. Apa itu Basis Data Relasional?

  1. Apa Itu Database Server &Untuk Apa Digunakan?

  2. Perangkat Lunak Manajemen Basis Data Terbaik - 25 Perangkat Lunak Teratas

  3. Apa itu Database Berorientasi Objek