ArangoDB - Database Pertama Multi-Model

ArangoDB dipuji sebagai database multi-model asli oleh pengembangnya. Ini tidak seperti database NoSQL lainnya. Dalam database ini, data dapat disimpan sebagai dokumen, key / value pair, atau grafik. Dan dengan satu bahasa kueri deklaratif, salah satu atau semua data Anda dapat diakses. Selain itu, model yang berbeda dapat digabungkan dalam satu kueri. Dan, karena gaya multi-modelnya, seseorang dapat membuat aplikasi ramping, yang dapat diskalakan secara horizontal dengan salah satu atau semua dari tiga model data.

Basis Data Multi-Model Berlapis vs. Asli

Di bagian ini, kami akan menyoroti perbedaan penting antara database multimodel asli dan berlapis.

Banyak vendor database menyebut produk mereka "multi-model", tetapi menambahkan lapisan grafik ke penyimpanan kunci / nilai atau dokumen tidak memenuhi syarat sebagai multi-model asli.

Dengan ArangoDB, inti yang sama dengan bahasa kueri yang sama, seseorang dapat menggabungkan model data dan fitur yang berbeda dalam satu kueri, seperti yang telah kami nyatakan di bagian sebelumnya. Di ArangoDB, tidak ada "peralihan" antara model data, dan tidak ada pergeseran data dari A ke B untuk menjalankan kueri. Ini mengarah pada keunggulan kinerja untuk ArangoDB dibandingkan dengan pendekatan "berlapis".

Kebutuhan Database Multimodal

Menginterpretasikan ide dasar [Fowler] menuntun kita untuk menyadari manfaat menggunakan berbagai model data yang sesuai untuk bagian berbeda dari lapisan persistensi, lapisan tersebut merupakan bagian dari arsitektur perangkat lunak yang lebih besar.

Menurut ini, seseorang mungkin, misalnya, menggunakan database relasional untuk mempertahankan data tabular yang terstruktur; penyimpanan dokumen untuk data tidak terstruktur, seperti objek; penyimpanan kunci / nilai untuk tabel hash; dan database grafik untuk data referensial yang sangat terkait.

Namun, implementasi tradisional dari pendekatan ini akan mengarahkan seseorang untuk menggunakan beberapa database dalam proyek yang sama. Ini dapat menyebabkan beberapa gesekan operasional (penerapan yang lebih rumit, peningkatan yang lebih sering) serta masalah konsistensi dan duplikasi data.

Tantangan berikutnya setelah menyatukan data untuk tiga model data, adalah merancang dan menerapkan bahasa kueri umum yang dapat memungkinkan administrator data untuk mengekspresikan berbagai kueri, seperti kueri dokumen, pencarian kunci / nilai, kueri grafi, dan kombinasi arbitrer. ini.

Oleh graphy queries, yang kami maksud adalah kueri yang melibatkan pertimbangan teoretis grafik. Secara khusus, ini mungkin melibatkan fitur konektivitas tertentu yang berasal dari tepi. Sebagai contoh,ShortestPath, GraphTraversal, dan Neighbors.

Grafik sangat cocok sebagai model data untuk relasi. Dalam banyak kasus dunia nyata seperti jaringan sosial, sistem pemberi rekomendasi, dll., Model data yang sangat natural adalah grafik. Ini menangkap hubungan dan dapat menyimpan informasi label dengan setiap tepi dan dengan setiap simpul. Lebih lanjut, dokumen JSON sangat cocok untuk menyimpan jenis data simpul dan tepi ini.

ArangoDB ─ Fitur

Ada berbagai fitur penting dari ArangoDB. Kami akan menyoroti fitur-fitur utama di bawah -

  • Paradigma Multi Model
  • Properti ACID
  • API HTTP

ArangoDB mendukung semua model database populer. Berikut adalah beberapa model yang didukung oleh ArangoDB -

  • Model dokumen
  • Model Kunci / Nilai
  • Model grafik

Satu bahasa kueri cukup untuk mengambil data dari database

Empat sifat Atomicity, Consistency, Isolation, dan Durability(ACID) menjelaskan jaminan transaksi database. ArangoDB mendukung transaksi yang sesuai dengan ACID.

ArangoDB memungkinkan klien, seperti browser, untuk berinteraksi dengan database dengan HTTP API, API yang berorientasi pada sumber daya dan dapat diperpanjang dengan JavaScript.