ArangoDB - Model dan Pemodelan Data
Dalam bab ini, kami akan fokus pada topik berikut -
- Interaksi Database
- Model data
- Penerimaan data
ArangoDB mendukung model data berbasis dokumen serta model data berbasis grafik. Mari kita gambarkan model data berbasis dokumen.
Dokumen ArangoDB sangat mirip dengan format JSON. Nol atau lebih atribut terkandung dalam dokumen, dan nilai yang dilampirkan dengan setiap atribut. Nilai adalah salah satu dari tipe atom, seperti angka, Boolean atau null, string literal, atau tipe data gabungan, seperti dokumen / objek yang disematkan atau array. Array atau sub-objek dapat terdiri dari tipe data ini, yang menyiratkan bahwa satu dokumen dapat mewakili struktur data yang tidak sepele.
Lebih jauh dalam hierarki, dokumen disusun menjadi koleksi, yang mungkin tidak berisi dokumen (dalam teori) atau lebih dari satu dokumen. Seseorang dapat membandingkan dokumen ke baris dan koleksi ke tabel (Di sini tabel dan baris merujuk ke sistem manajemen basis data relasional - RDBMS).
Namun, dalam RDBMS, menentukan kolom merupakan prasyarat untuk menyimpan rekaman ke dalam tabel, memanggil skema definisi ini. Namun, sebagai fitur baru, ArangoDB tidak memiliki skema - tidak ada alasan apriori untuk menentukan atribut apa yang akan dimiliki dokumen tersebut.
Dan tidak seperti RDBMS, setiap dokumen dapat disusun dengan cara yang sangat berbeda dari dokumen lain. Dokumen-dokumen ini dapat disimpan bersama dalam satu koleksi. Praktis, karakteristik umum mungkin ada di antara dokumen dalam koleksi, namun sistem database, yaitu ArangoDB itu sendiri, tidak mengikat Anda ke struktur data tertentu.
Sekarang kita akan mencoba memahami ArangoDB's [graph data model], yang membutuhkan dua jenis koleksi - yang pertama adalah koleksi dokumen (dikenal sebagai koleksi simpul dalam bahasa teori-kelompok), yang kedua adalah koleksi tepi. Ada perbedaan halus antara kedua jenis ini. Koleksi tepi juga menyimpan dokumen, tetapi mereka dicirikan dengan memasukkan dua atribut unik,_from dan _tountuk membuat hubungan antar dokumen. Dalam praktiknya, sebuah dokumen (tepi baca) menghubungkan dua dokumen (simpul baca), keduanya disimpan dalam koleksinya masing-masing. Arsitektur ini diturunkan dari konsep teori-grafik dari grafik yang berlabel dan berarah, tidak termasuk tepi yang tidak hanya dapat memiliki label, tetapi juga dapat menjadi dokumen JSON yang lengkap.
Untuk menghitung data baru, menghapus dokumen atau memanipulasinya, kueri digunakan, yang memilih atau memfilter dokumen sesuai kriteria yang diberikan. Entah sesederhana "kueri contoh" atau serumit "gabungan", kueri dikodekan dalam AQL - Bahasa Kueri ArangoDB.