Tutorial NoSQL: Jenis-Jenis Basis Data NoSQL & Contohnya

โšก Ringkasan Cerdas

NoSQL adalah sistem manajemen basis data non-relasional yang tidak memerlukan skema tetap, menghindari operasi join, dan mudah diskalakan. Sumber daya ini menjelaskan apa itu NoSQL, mengapa ia ada, sejarahnya, fitur-fiturnya, empat jenis basis data, teorema CAP, konsistensi bertahap, serta kelebihan dan kekurangannya.

  • ๐Ÿ“ฆ Definisi: Sebuah penyimpanan non-relasional dan tanpa skema yang dibangun untuk kumpulan data terdistribusi yang sangat besar.
  • ๐Ÿ“ˆ Mengapa: Melakukan penskalaan ke banyak host menangani big data lebih cepat daripada penskalaan ke atas.
  • ๏ธ Empat Jenis: Berbasis kunci-nilai, berorientasi kolom, berbasis grafik, dan berorientasi dokumen.
  • ๏ธ Teorema CAP: Penyimpanan terdistribusi hanya dapat menjamin dua dari hal berikut: konsistensi, ketersediaan, dan toleransi partisi.
  • ๐Ÿ” MENDASARKAN: Pada dasarnya Tersedia, Status Lunak, Konsistensi Bertahap di Seluruh Replika.

Tutorial NoSQL

Apa itu NoSQL?

Basis Data NoSQL NoSQL adalah sistem manajemen data non-relasional yang tidak memerlukan skema tetap. Sistem ini menghindari operasi join dan mudah diskalakan. Tujuan utama penggunaan basis data NoSQL adalah untuk penyimpanan data terdistribusi dengan kebutuhan penyimpanan data yang sangat besar. NoSQL digunakan untuk big data dan aplikasi web real-time. Contohnya, perusahaan seperti Twitter, Facebook, dan lainnya. Google mengumpulkan terabyte data pengguna setiap hari.

Basis data NoSQL NoSQL adalah singkatan dari โ€œNot Only SQLโ€ atau โ€œNot SQLโ€. Meskipun istilah yang lebih tepat adalah โ€œNoRELโ€, NoSQL menjadi populer. Carl Strozzi memperkenalkan konsep NoSQL pada tahun 1998.

RDBMS tradisional menggunakan sintaks SQL untuk menyimpan dan mengambil data guna mendapatkan wawasan lebih lanjut. Sebaliknya, sistem basis data NoSQL mencakup berbagai teknologi basis data yang dapat menyimpan data terstruktur, semi-terstruktur, tidak terstruktur, dan polimorfik. Mari kita pahami tentang NoSQL dengan diagram dalam tutorial basis data NoSQL ini:

Basis Data NoSQL

Mengapa NoSQL?

Konsep basis data NoSQL menjadi populer di kalangan raksasa internet seperti Google, Facebook, Amazon, dll. yang menangani data dalam jumlah besar. Waktu respons sistem menjadi lambat ketika Anda menggunakan RDBMS untuk data dalam jumlah besar.

Untuk mengatasi masalah ini, kami dapat โ€œmeningkatkanโ€ sistem kami dengan meningkatkan perangkat keras yang ada. Proses ini mahal.

Alternatif untuk masalah ini adalah mendistribusikan beban basis data ke beberapa host setiap kali beban meningkat. Metode ini dikenal sebagai "scaling out".

NoSQL

Basis data NoSQL bersifat non-relasional, sehingga skalabilitasnya lebih baik daripada basis data relasional, karena dirancang dengan mempertimbangkan aplikasi web.

Sejarah Singkat Database NoSQL

  • 1998 โ€“ Carlo Strozzi menggunakan istilah NoSQL untuk basis data relasional sumber terbuka dan ringan miliknya.
  • 2000 โ€“ Basis data grafik Neo4j diluncurkan.
  • 2004 - Google BigTable diluncurkan.
  • 2005 - CouchDB diluncurkan.
  • 2007 โ€“ Makalah penelitian tentang Amazon Dynamo telah dirilis.
  • 2008 โ€“ Facebook membuka kode sumbernya Cassandra proyek.
  • 2009 โ€“ Istilah NoSQL diperkenalkan kembali.

Fitur NoSQL

Non-relasional

  • Basis data NoSQL tidak pernah mengikuti model relasional.
  • Jangan pernah menyediakan tabel dengan data kolom tetap yang datar.
  • Bekerja dengan agregat mandiri atau BLOB.
  • Tidak memerlukan pemetaan objek-relasional.ping dan normalisasi data.
  • Tidak ada fitur kompleks seperti bahasa kueri, perencana kueri, penggabungan integritas referensial, atau ACID.

Bebas skema

  • Basis data NoSQL bersifat tanpa skema atau memiliki skema yang longgar.
  • Tidak memerlukan definisi skema data apa pun.
  • Menawarkan struktur data heterogen dalam domain yang sama.
Fitur NoSQL
NoSQL Bebas Skema

API sederhana

  • Menawarkan antarmuka yang mudah digunakan untuk penyimpanan dan kueri data.
  • API memungkinkan manipulasi data tingkat rendah dan metode pemilihan.
  • Protokol berbasis teks sebagian besar digunakan dengan HTTP REST dengan JSON.
  • Sebagian besar menggunakan bahasa kueri NoSQL yang tidak berbasis standar.
  • Basis data berbasis web yang beroperasi sebagai layanan yang menghadap ke internet.

didistribusikan

  • Beberapa basis data NoSQL dapat dijalankan secara terdistribusi.
  • Menawarkan kemampuan penskalaan otomatis dan failover.
  • Seringkali konsep ACID dikorbankan demi skalabilitas dan throughput.
  • Sebagian besar tidak ada replikasi sinkron antar node terdistribusi; replikasi multi-master asinkron, peer-to-peer, replikasi HDFS.
  • Hanya memberikan konsistensi pada akhirnya.
  • Arsitektur tanpa berbagi (shared-nothing). Hal ini memungkinkan koordinasi yang lebih sedikit dan distribusi yang lebih tinggi.
Fitur NoSQL

NoSQL Tidak Membagikan Apa pun.

Jenis Database NoSQL

Database NoSQL Secara umum, basis data dikategorikan menjadi empat jenis: pasangan kunci-nilai, berorientasi kolom, berbasis grafik, dan berorientasi dokumen. Setiap kategori memiliki atribut dan keterbatasan uniknya masing-masing. Tidak ada satu pun basis data yang disebutkan di atas yang lebih baik dalam menyelesaikan semua masalah. Pengguna harus memilih basis data berdasarkan kebutuhan produk mereka.

Jenis Database NoSQL:

  • Berbasis Pasangan Nilai Kunci
  • Grafik berorientasi kolom
  • Berbasis grafik
  • Berorientasi pada dokumen

Jenis Database NoSQL

Berbasis Pasangan Nilai Kunci

Data disimpan dalam pasangan kunci/nilai. Desainnya dibuat sedemikian rupa untuk menangani banyak data dan beban berat. Basis data penyimpanan pasangan kunci-nilai menyimpan data sebagai tabel hash di mana setiap kunci unik, dan nilainya dapat berupa JSON, BLOB (Binary Large Objects), string, dan lain sebagainya.

Sebagai contoh, pasangan kunci-nilai dapat berisi kunci seperti โ€œSitus webโ€ yang terkait dengan nilai seperti โ€œGuru99. "

Berbasis Pasangan Nilai Kunci

Ini adalah salah satu contoh basis data NoSQL paling dasar. Basis data NoSQL jenis ini digunakan sebagai koleksi, kamus, array asosiatif, dll. Penyimpanan key-value membantu pengembang untuk menyimpan data tanpa skema. Basis data ini paling cocok untuk toko online.ping isi keranjang.

Redis, Dynamo, dan Riak adalah beberapa contoh basis data NoSQL berbasis key-value store. Semuanya didasarkan pada Amazonkertas Dinamo.

Berbasis kolom

Basis data berorientasi kolom bekerja pada kolom dan didasarkan pada makalah BigTable karya GoogleSetiap kolom diperlakukan secara terpisah. Nilai-nilai dalam basis data kolom tunggal disimpan secara berurutan.

Database NoSQL Berbasis Kolom

Database NoSQL berbasis kolom

Mereka memberikan kinerja tinggi pada kueri agregasi seperti SUM, COUNT, AVG, MIN, dll., karena data tersedia dengan mudah di dalam kolom. Basis data NoSQL berbasis kolom banyak digunakan untuk mengelola gudang data, intelijen bisnis, CRM, dan katalog kartu perpustakaan.

HBase, Cassandra, dan Hypertable adalah contoh kueri NoSQL dari basis data berbasis kolom.

Berorientasi Dokumen

Database NoSQL berorientasi dokumen menyimpan dan mengambil data sebagai pasangan kunci-nilai, tetapi bagian nilainya disimpan sebagai dokumen. Dokumen tersebut disimpan dalam format JSON atau XML. Nilai tersebut dipahami oleh database dan dapat diakses melalui kueri.

Relasional Vs. Dokumen

Relasional Vs. Dokumen

Pada diagram di sebelah kiri, Anda dapat melihat baris dan kolom, dan di sebelah kanan, kita memiliki basis data dokumen yang memiliki struktur serupa dengan JSON. Untuk basis data relasional, Anda harus mengetahui kolom apa saja yang Anda miliki, dan sebagainya. Namun, untuk basis data dokumen, Anda memiliki penyimpanan data seperti objek JSON. Anda tidak perlu mendefinisikannya, yang membuatnya fleksibel.

Tipe dokumen ini sebagian besar digunakan untuk sistem CMS, platform blogging, analitik waktu nyata, dan aplikasi e-commerce. Tipe ini tidak boleh digunakan untuk transaksi kompleks yang memerlukan banyak operasi atau kueri terhadap berbagai struktur agregat.

Amazon DB Sederhana, CouchDB, MongoDBRiak dan Lotus Notes adalah aplikasi berbasis dokumen yang populer. sistem DBMS.

Berbasis Grafik

Basis data tipe graf menyimpan entitas serta relasi antar entitas tersebut. Entitas disimpan sebagai simpul (node) dengan relasi sebagai sisi (edge). Sisi memberikan hubungan antar simpul. Setiap simpul dan sisi memiliki pengidentifikasi unik.

Berbasis Grafik

Dibandingkan dengan basis data relasional di mana tabel-tabelnya terhubung secara longgar, basis data graf bersifat multi-relasional. Penelusuran relasi berlangsung cepat, karena relasi tersebut sudah tercatat dalam basis data, dan tidak perlu dihitung lagi. Basis data berbasis graf sebagian besar digunakan untuk jejaring sosial, logistik, dan data spasial.

Neo4J, Grafik Tak Terbatas, OrientDB, dan FlockDB adalah beberapa basis data berbasis grafik yang populer.

Alat Mekanisme Kueri untuk NoSQL

Mekanisme pengambilan data yang paling umum adalah pengambilan nilai berbasis REST berdasarkan kunci/ID-nya dengan menggunakan sumber daya GET.

Basis data penyimpanan dokumen menawarkan kueri yang lebih sulit, karena basis data ini memahami nilai dalam pasangan kunci-nilai. Misalnya, CouchDB Memungkinkan untuk mendefinisikan tampilan dengan MapReduce.

Apa Teorema CAP?

Teorema CAP juga disebut teorema Brewer. Teorema ini menyatakan bahwa mustahil bagi penyimpanan data terdistribusi untuk menawarkan lebih dari dua dari tiga jaminan:

  1. Konsistensi
  2. Ketersediaan
  3. Toleransi Partisi

Konsistensi: Data harus tetap konsisten bahkan setelah operasi dijalankan. Artinya, setelah data ditulis, permintaan baca apa pun di masa mendatang harus berisi data tersebut. Misalnya, setelah memperbarui status pesanan, semua klien akan dapat melihat data yang sama.

Tersedianya: Basis data harus selalu tersedia dan responsif. Seharusnya tidak ada waktu henti.

Toleransi Partisi: Toleransi Partisi berarti sistem harus tetap berfungsi meskipun komunikasi antar server tidak stabil. Misalnya, server dapat dipartisi menjadi beberapa grup yang mungkin tidak berkomunikasi satu sama lain. Di sini, jika bagian dari database tidak tersedia, bagian lain selalu tidak terpengaruh.

Konsistensi Akhirnya

Istilah "konsistensi bertahap" berarti memiliki salinan data pada beberapa mesin untuk mendapatkan ketersediaan dan skalabilitas yang tinggi. Dengan demikian, perubahan yang dilakukan pada item data apa pun di satu mesin harus disebarkan ke replika lainnya.

Replikasi data mungkin tidak instan, karena beberapa salinan akan diperbarui segera sementara yang lain akan diperbarui seiring waktu. Salinan-salinan ini mungkin saling tidak konsisten, tetapi seiring waktu, salinan-salinan tersebut akan menjadi konsisten. Karena itulah disebut konsistensi bertahap (eventual consistency).

MENDASARKAN: Bpada dasarnya Atersedia, Ssering menyatakan, Ekonsistensi ventual

  • Pada dasarnya, ketersediaan berarti basis data selalu tersedia sesuai dengan teorema CAP.
  • Keadaan lunak berarti bahwa bahkan tanpa input, keadaan sistem dapat berubah.
  • Konsistensi bertahap berarti bahwa sistem akan menjadi konsisten seiring waktu.

Konsistensi Akhirnya

Kelebihan NoSQL

  • Dapat digunakan sebagai sumber data primer atau analitik.
  • Kemampuan big data.
  • Tidak ada satu titik kegagalan pun.
  • Mudah direplikasi.
  • Tidak perlu lapisan caching terpisah.
  • Ini memberikan kinerja cepat dan skalabilitas horizontal.
  • Mampu menangani data terstruktur, semi-terstruktur, dan tidak terstruktur dengan sama efektifnya.
  • Pemrograman berorientasi objek yang mudah digunakan dan fleksibel.
  • Basis data NoSQL tidak memerlukan server berkinerja tinggi khusus.
  • Mendukung bahasa dan platform utama yang digunakan oleh pengembang.
  • Lebih mudah diimplementasikan daripada menggunakan RDBMS.
  • Ini dapat berfungsi sebagai sumber data utama untuk aplikasi online.
  • Menangani big data yang mengelola kecepatan, variasi, volume, dan kompleksitas data.
  • Unggul dalam pengoperasian basis data terdistribusi dan multi-pusat data.
  • Menghilangkan kebutuhan akan lapisan caching khusus untuk menyimpan data.
  • Menawarkan desain skema yang fleksibel yang dapat dengan mudah diubah tanpa waktu henti atau gangguan layanan.

Kekurangan NoSQL

  • Tidak ada aturan standardisasi.
  • Kemampuan kueri terbatas.
  • RDBMS Basis data dan perangkatnya relatif sudah matang.
  • Ia tidak menawarkan kemampuan basis data tradisional, seperti konsistensi ketika beberapa transaksi dilakukan secara bersamaan.
  • Ketika volume data meningkat, akan sulit untuk mempertahankan nilai unik karena kunci menjadi sulit dibuat.
  • Tidak berfungsi dengan baik untuk data relasional.
  • Kurva pembelajaran sangat sulit bagi pengembang baru.
  • Opsi sumber terbuka tidak begitu populer untuk perusahaan.

Pertanyaan Umum Demo Slot

Basis data NoSQL menangani data yang besar, beragam, dan cepat berubah yang dihasilkan oleh AI dan pipeline big data. Skema yang fleksibel dan penskalaan horizontalnya cocok untuk menyimpan data pelatihan, log, dan fitur real-time di seluruh klaster terdistribusi.

Ya. Beberapa basis data NoSQL, seperti MongoDB dan Elasticsearch, kini mendukung bidang vektor dan pencarian kesamaan. Ini memungkinkan aplikasi AI untuk menyimpan embedding di samping dokumen untuk fitur pencarian semantik dan rekomendasi.

Basis data SQL bersifat relasional dengan skema tetap dan menggunakan tabel, baris, dan penggabungan (join). Basis data NoSQL bersifat non-relasional, menggunakan skema fleksibel, dan dapat diskalakan secara horizontal, menyimpan data sebagai dokumen, pasangan kunci-nilai, kolom, atau grafik.

Hindari NoSQL jika Anda membutuhkan transaksi ACID yang kuat, penggabungan data yang kompleks, atau integritas data yang ketat, seperti di sektor perbankan. Basis data relasional yang matang menangani konsistensi multi-rekaman dan kueri standar dengan lebih baik dalam kasus-kasus tersebut.

Ringkaslah postingan ini dengan: