OrientDB - Konsep Dasar
Fitur utama OrientDB adalah untuk mendukung objek multi-model, yaitu mendukung model yang berbeda seperti Dokumen, Grafik, Kunci / Nilai dan Objek Nyata. Ini berisi API terpisah untuk mendukung keempat model ini.
Model Dokumen
Model Dokumen terminologi milik database NoSQL. Artinya, data disimpan dalam Dokumen dan kelompok Dokumen disebut sebagaiCollection. Secara teknis, dokumen berarti sekumpulan pasangan kunci / nilai atau disebut juga field atau properti.
OrientDB menggunakan konsep seperti kelas, cluster, dan link untuk menyimpan, mengelompokkan, dan menganalisis dokumen.
Tabel berikut menggambarkan perbandingan antara model relasional, model dokumen, dan model dokumen OrientDB -
Model Relasional | Model Dokumen | Model Dokumen OrientDB |
---|---|---|
Meja | Koleksi | Kelas atau Cluster |
Baris | Dokumen | Dokumen |
Kolom | Pasangan kunci / nilai | Bidang dokumen |
Hubungan | Tidak tersedia | Tautan |
Model Grafik
Struktur data grafik merupakan model data yang dapat menyimpan data dalam bentuk Vertices (Nodes) yang saling berhubungan dengan Edges (Arcs). Ide database grafik OrientDB berasal dari grafik properti. Vertex dan edge adalah artefak utama dari model Graph. Mereka berisi properti, yang dapat membuatnya tampak mirip dengan dokumen.
Tabel berikut menunjukkan perbandingan antara model grafik, model data relasional, dan model grafik OrientDB.
Model Relasional | Model Grafik | Model Grafik OrientDB |
---|---|---|
Meja | Vertex dan Edge Class | Kelas yang memanjang "V" (untuk Vertex) dan "E" (untuk Tepi) |
Baris | Puncak | Puncak |
Kolom | Vertex dan Edge properti | Vertex dan Edge properti |
Hubungan | Tepi | Tepi |
Model Kunci / Nilai
Model Key / Value berarti bahwa data dapat disimpan dalam bentuk key / value pair dimana nilainya dapat berupa tipe sederhana dan kompleks. Ini dapat mendukung dokumen dan elemen grafik sebagai nilai.
Tabel berikut menggambarkan perbandingan antara model relasional, model kunci / nilai, dan model kunci / nilai OrientDB.
Model Relasional | Model Kunci / Nilai | Model Nilai / Kunci OrientDB |
---|---|---|
Meja | Ember | Kelas atau Cluster |
Baris | Pasangan Kunci / Nilai | Dokumen |
Kolom | Tidak tersedia | Bidang dokumen atau properti Vertex / Edge |
Hubungan | Tidak tersedia | Tautan |
Model Objek
Model ini telah diwarisi oleh pemrograman dan dukungan Berorientasi Objek Inheritance antar tipe (sub-tipe memperluas tipe-super), Polymorphism ketika Anda merujuk ke kelas dasar dan Direct binding dari / ke Objek yang digunakan dalam bahasa pemrograman.
Tabel berikut menggambarkan perbandingan antara model relasional, model Objek, dan model Objek OrientDB.
Model Relasional | Model Objek | Model Objek OrientDB |
---|---|---|
Meja | Kelas | Kelas atau Cluster |
Baris | Obyek | Dokumen atau Vertex |
Kolom | Properti objek | Bidang dokumen atau properti Vertex / Edge |
Hubungan | Pointer | Tautan |
Sebelum melanjutkan secara detail, ada baiknya mengetahui terminologi dasar yang terkait dengan OrientDB. Berikut adalah beberapa terminologi penting.
Merekam
Unit terkecil yang dapat Anda muat dan simpan dalam database. Rekaman dapat disimpan dalam empat jenis.
- Document
- Rekam Bytes
- Vertex
- Edge
Rekam ID
Ketika OrientDB membuat record, server database secara otomatis menetapkan pengenal unit ke record, yang disebut RecordID (RID). RID terlihat seperti # <cluster>: <position>. <cluster> berarti nomor identifikasi cluster dan <position> berarti posisi absolut dari record di cluster.
Dokumen
Dokumen adalah jenis rekaman paling fleksibel yang tersedia di OrientDB. Dokumen diketik dengan lembut dan ditentukan oleh kelas skema dengan batasan yang ditentukan, tetapi Anda juga dapat memasukkan dokumen tanpa skema apa pun, misalnya dokumen mendukung mode tanpa skema juga.
Dokumen dapat dengan mudah ditangani dengan ekspor dan impor dalam format JSON. Misalnya, lihat dokumen contoh JSON berikut. Ini mendefinisikan detail dokumen.
{
"id" : "1201",
"name" : "Jay",
"job" : "Developer",
"creations" : [
{
"name" : "Amiga",
"company" : "Commodore Inc."
},
{
"name" : "Amiga 500",
"company" : "Commodore Inc."
}
]
}
RecordBytes
Jenis Rekaman sama dengan jenis BLOB di RDBMS. OrientDB dapat memuat dan menyimpan tipe Record dokumen bersama dengan data biner.
Puncak
Database OrientDB tidak hanya database Dokumen tetapi juga database Grafik. Konsep baru seperti Vertex dan Edge digunakan untuk menyimpan data dalam bentuk grafik. Dalam database grafik, unit data yang paling dasar adalah node, yang dalam OrientDB disebut vertex. Vertex menyimpan informasi untuk database.
Tepi
Ada tipe record terpisah yang disebut Edge yang menghubungkan satu simpul ke simpul lainnya. Tepi bersifat dua arah dan hanya dapat menghubungkan dua simpul. Ada dua jenis tepi di OrientDB, satu biasa dan satu lagi ringan.
Kelas
Kelas adalah jenis model data dan konsep yang diambil dari paradigma pemrograman berorientasi objek. Berdasarkan model database dokumen tradisional, data disimpan dalam bentuk kumpulan, sedangkan pada model database relasional data disimpan dalam tabel. OrientDB mengikuti API Dokumen bersama dengan paradigma OPPS. Sebagai sebuah konsep, kelas di OrientDB memiliki hubungan paling dekat dengan tabel di database relasional, tetapi (tidak seperti tabel) kelas dapat berupa tanpa skema, penuh skema, atau campuran. Kelas dapat mewarisi dari kelas lain, membuat pohon kelas. Setiap kelas memiliki cluster atau clusternya sendiri, (dibuat secara default, jika tidak ada yang ditentukan).
Gugus
Cluster merupakan konsep penting yang digunakan untuk menyimpan record, dokumen, atau simpul. Dengan kata sederhana, Cluster adalah tempat di mana sekelompok record disimpan. Secara default, OrientDB akan membuat satu cluster per kelas. Semua catatan kelas disimpan di cluster yang sama yang memiliki nama yang sama dengan kelas tersebut. Anda dapat membuat hingga 32.767 (2 ^ 15-1) cluster dalam database.
Kelas CREATE adalah perintah yang digunakan untuk membuat cluster dengan nama tertentu. Setelah cluster dibuat, Anda dapat menggunakan cluster untuk menyimpan record dengan menentukan nama selama pembuatan model data apa pun.
Hubungan
OrientDB mendukung dua jenis hubungan: direferensikan dan disematkan. Referenced relationships artinya ia menyimpan tautan langsung ke objek target hubungan. Embedded relationshipsartinya ia menyimpan hubungan dalam rekaman yang menyematkannya. Hubungan ini lebih kuat dari hubungan referensi.
Database
Basis data adalah antarmuka untuk mengakses penyimpanan sebenarnya. TI memahami konsep tingkat tinggi seperti kueri, skema, metadata, indeks, dan sebagainya. OrientDB juga menyediakan beberapa tipe database. Untuk informasi selengkapnya tentang tipe ini, lihat tipe database.