Anda di halaman 1dari 5

Tinjauan EyeDB

Fitur-fitur dari EyeDB OODBMS adalah:


1. Fitur OODBMS standar:
 Manajemen data
 Client atau server model
 Layanan transaksi
 Pemulihan sistem
 Model objek ekspresif
 Pewarisan sifat
 Ntegrity constraints
 Methods
 Riggers
 query language;
 Tampilan aplikasi
2. Dukungan untuk database besar
Kapasitas database mencapai hingga Tb (tera-bytes)
3. Orientasi bahasa
 Object Definition Language (ODL)
 Object Query Language (OQL)
 Beberapa manipulasi bahasa binding seperti C ++ dan Java
4. Efisiensi
 Objek database harus langsung dipetakan dalam ruang memori virtual;
 Memori objek harus dikurangi seminimum mungkin
 Clever caching policies kebijakan harus dilaksanakan
5. Genericity dan orthogonality dari object model
 Terinspirasi oleh SmallTalk, loop, Java dan ObjVlisp objek model yaitu setiap
kelas berasal dari kelas obyek dan dapat dimanipulasi sebagai objek
 Type polymorphism
 Binary relationships
 Literal and object types
 Objek sementara
 Method and trigger overloading;
 Berbasis template koleksi seperti set, bag, dan array
 Multi-dimensi dan variabel ukuran dimensi array
6. Skalabilitas
Program harus mampu menangani ratusan jutaan objek tanpa kehilangan performance
The Architecture
The EyeDB Architecture

The Storage Manager Subsistem

EyeDB didasarkan pada arsitektur klien server.

Server kernel adalah subsistem manajer penyimpanan yang menyediakan layanan utama berikut:

1. Manajemen data mentah


2. Layanan transaksi
3. Sistem pemulihan
4. B-tree and hash indexes
5. Manajemen database multi volume

The Object Model

EyeDB object model ini terinspirasi oleh model SmallTalk, loop, ObjVlisp, Java dan ODMG

Partial Native Object Model


Class Structure

Kelas terdiri dari nama, kelas induk kecuali untuk objek kelas yang merupakan root kelas, satu
set atribut, satu set methods dan satu set trigger:

Atribut terdiri dari jenis, optionnal array pengubah dan literal atau objek. Misalnya, menggunakan
bahasa EyeDB ODL:

Applicative Object Model Example

Type Polymorphism

 Dua bahasa binding, C ++ dan Java, dan EyeDB OQL mendukung jenis polimorfisme: variabel
mungkin terikat dengan contoh-contoh dari berbagai jenis
 bahwa setiap EyeDB kelas mewarisi dari kelas obyek

The Collection Type

Jenis koleksi yang didukung oleh EyeDB adalah set, bag dan array:

 Set : koleksi tidak terurut dan tidak duplikat


 Bag : Koleksi tidak terurut dan duplikat
 Array : berisifat dinamis terurut dan tidak duplikat
Relationships

EyeDB object model mendukung hanya biner relationship, yaitu hubungan antara dua jenis.
Hubungan biner mungkin satu-satu, satu-ke-banyak atau banyak-ke-banyak tergantung pada cardinality
dari jenis terkait. Hubungan tidak bernama.

EyeDB mempertahankan integritas referensial hubungan. Ini berarti bahwa jika objek yang
berpartisipasi dalam hubungan yang dihapus, maka setiap path traversal ke objek juga dihapus.

EyeDB mendukung atribut objek: atribut semacam ini memungkinkan satu objek untuk referensi
lain tanpa referensial integritas. Atribut objek-dihargai mengimplementasikan hubungan
unidirectionnal: dalam kasus ini, EyeDB tidak menjamin integritas referensial. Catatan bahwa
unidirectionnal relationship tidak disebut hubungan.

Constraints

EyeDB supports all standard constraints:

 The not null constraint pada atribut dalam kelas X berarti bahwa tidak ada kasus kelas X dapat
memiliki nilai atribut ini tidak ditetapkan.
 The unique constraint pada atribut dalam kelas X berarti bahwa seseorang tidak dapat membuat
instance kelas X yang memiliki nilai atribut yang sama dari contoh yang ada di database.
 The cardinality constraint pada contoh koleksi kelas berarti bahwa jumlah dari koleksi ini harus
mengikuti batasan cardinality

The Object Definition Language

 EyeDB objek definisi bahasa (ODL) adalah bahasa berdasarkan ODL ODMG untuk menentukan
spesifikasi dari jenis objek. ODL tidak dimaksudkan untuk menjadi sebuah bahasa pemrograman
yang penuh
 Seperti ODMG ODL, EyeDB ODL mendefinisikan kelas (warisan dan atribut), hubungan dan
metode signitures
 Tidak seperti ODMG ODL, setiap instance kelas dapat digunakan baik sebagai literal atau sebagai
objek.
 EyeDB ODL juga memungkinkan pengguna untuk menentukan apakah metode backend (yaitu
sisi server) atau frontend (yaitu sisi klien)

Here is a simple example of an EyeDB ODL construct:

enum CivilState{
Lady = 0x10,
Sir = 0x20,
Miss = 0x40
};

class Address {
attribute string street;
Attribute string <32> town;
};

class Person {
attribute string name;
attribute int age;
attribute Address addr;
attribute CivilState cstate;
attribute Person * spouse inverse Person :: spouse;
attribute ser<car *> * cars inverse Car :: owner;
attribute Person *childern [];

instmethod void change_address (in string street, in string town, out string oldstreet,
out string oldtown);

classmethod int getPersonCount ();


index on name;
};

class Car {
attribute string brand;
attribute int num;
attribute Person *owner inverse Person :: cars;
};

class Employrr extends Person {


Attribute long salary;
Person *boss;
};

Anda mungkin juga menyukai