SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT CHAPTER 4 SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT Sistem penyimpanan untuk database berorientasi object berbeda dengan sistem penyimpanan database dengan relasi. Karena database berorientasi object harus menangani data yang besar dan harus mendukung ketepatan pointer Teknik organisasi file seperti heap, sequential dan hashing dapat juga digunakan untuk menyimpan object pada database berorientasi object. Pada database berorientasi objek memiliki kriteria : Field dapat berupa sebuat set dari field Misal : field alamat terdiri dari field nama jalan, no. Rumah, rt, rw, kelurahan, dst… Object biasanya berupa data yang besar misal data gis dll
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT Pemetaan/penyimpanan object ke dalam stuktur file dilakukan dengan membuat beberapa modifikasi, antara lain Jika besar dari beberapa set field tersebut merupakan elemen yang kecil, maka digunakan stuktur data seperti link list Jika besar dari beberapa set field tersebut merupakan elemen yang besar, maka set field tersebut diimplementasikan sebagai relasi dalam database. setiap relasi akan terdiri dari satu baris untuk tiap set field dari tiap object. tiap baris harus mempunyai object identifier dari object
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT PADA SISTEM PERBANKAN CONTOH CLASS : CABANG, STAFF, MANAGER NAMA CLASS ATTRIBUT CABANG NO, CABANG, JALAN, KOTA, KODE POS, STAFF, MANAGER STAFF NO.ID, NAMA STAFF, ALAMAT MANAGER NO.ID, NAMA MANAGER, ALAMAT
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT CONTOH OBJEK : CABANG DARI BANK ATTRIBUT NILAI NO. CABANG B003 JALAN PETUKANGAN SELATAN KOTA JAKARTA KODEPOS 11470 STAFF {ANI, SINTA} MANAGER RINA
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT CONTOH OBJEK : STAFF ATTRIBUT NILAI NO. ID S001 NAMA STAFF ANI ALAMAT CILEDUG ATTRIBUT NILAI NO. ID S002 NAMA STAFF SINTA ALAMAT CIPONDOH
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT CONTOH OBJEK : MANAGER ATTRIBUT NILAI NO. ID M001 NAMA STAFF RINA ALAMAT CIPULIR
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT CABANG : OID1 NO. CABANG : B003 JALAN : PETUKANGAN SELATAN KOTA : JAKARTA KODEPOS : 11470 STAFF : {OID2,OID3} MANAGER : OID4 STAFF : OID3 NO. ID : S002 NAMA : SINTA ALAMAT : CIPONDOH CABANG : OID1 MANAGER : OID4 MANAGER : OID4 NO. ID : M001 NAMA : RINA ALAMAT : CIPULIR STAFF : {OID2, OID3} CABANG : OID1 STAFF : OID2 NO. ID : S001 NAMA : ANI ALAMAT : CILEDUG CABANG : OID1 MANAGER : OID4
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT Implementasi Dari Object Identifiers Object diidentifikasikan dengan object identifiers (oids) yaitu sistem simpanan object yang dibutuhkan sebagai mekanisme untuk menempatkan sebuah object. TERDAPAT 2 JENIS OIDs Logical oids Tidak menspesifikasikan lokasi dari object Tidak terikat dengan lokasi object Physical oids Penempatan lokasi objek dibuat kode sehingga dapat dengan cepat ditemukan scara langsung Terdiri dari identifier yang unik
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT PHYSICAL OBJECT IDENTIFIER VOLUME.BLOCK.OFFSET ID YANG UNIK OBJEK ID YANG UNIK DATA STRUKTUR UMUM
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT GOOD OID 519.56850.1200 51 OBJEK 51 DATA BAD OID 519.56850.1200 50 CONTOH : JIKA LOKASI OBJEK ADA DI 519.56850.1200 OBJEK MEMPUNYAI ID = 51
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT Physical OIDs membedakan antara satu objek dengan objek yang lain. Physical OIDs juga disimpan bersama dengan objek . antara physical oids dengan objek harus sesuai satu sama lain Jika tidak sesuai maka sistem akan mendeteksi physical OIDs sebagai pointer yang salah (dangling pointer) dangling pointer adalah : pointer yang tidak menunjuk pada objek yang benar
MANAGEMENT DARI PERSISTENT POINTER (POINTER YANG TEPAT) Pada beberapa implementasi persistent pointer adalah physical pointer. Pointer pada memory komputer (transient pointer) membutuhkan tempat sebanyak 4 byte atau 8 byte. Persistent pointer harus menempatkan semua datanya pada sebuah database Deferencing Adalah Mencari Lokasi Sebenarnya Dari Object Dengan Mencari Berdasarkan Pointer Dari Object (OIDs)
MANAGEMENT DARI PERSISTENT POINTER CABANG : OID1 NO. CABANG : B003 JALAN : PETUKANGAN SELATAN KOTA : JAKARTA KODEPOS : 11470 STAFF : {OID2,OID3} MANAGER : OID4 STAFF : OID3 NO. ID : S002 NAMA : SINTA ALAMAT : CIPONDOH CABANG : OID1 MANAGER : OID4 RESIDENT OBJECT TABLE (ROT) OID MEMORY ADDRESS 1 …………. 2 3 4 MANAGER : OID4 NO. ID : M001 NAMA : RINA ALAMAT : CIPULIR STAFF : {OID2, OID3} CABANG : OID1 STAFF : OID2 NO. ID : S001 NAMA : ANI ALAMAT : CILEDUG CABANG : OID1 MANAGER : OID4 NO SWIZZLING : POINTER DARI OBJEK DIPANGGIL SESUAI DENGAN OBJEK YANG DIPANGGIL
MANAGEMENT DARI PERSISTENT POINTER Pointer swizzling adalah cara untuk mempersingkat pencarian lokasi object yang sudah berada sebelumnya di memory Tujuan dari pointer swizzling adalah untuk mengoptimasi akses pada objek Jika lokasi objek sudah dibaca sekali dan ditempatkan pada memory maka lokasi tersebut terus disimpan pada cache memory sehingga jika lokasi tersebut akan dibaca lagi tidak harus mencari di disk tapi hanya membaca langsung dari cache memory. Penggunaan pointer swizzling pada pencarian pointer disebut software swizzling
HARDWARE SWIZZLING Menggunakan 2 tipe dari pointer ( persistent pointer dan transient pointer=pointer pada memory) sangat tidak efisien. Cara sederhana adalah dengan menjadikan 2 pointer menjadi 1 pointer dan menambah 1 bit untuk menjadi pembeda antara persistent pointer dan transient pointer. Teknik tersebut menggambarkan hardware swizzling yang menggunakan manajemen virtual memory untuk memecahkan masalah di atas
HARDWARE SWIZZLING Keuntungan hardware swizzling dibandingkan dengan software swizzling adalah : Dapat menyimpan persistent pointer pada jumlah space yang sama dengan pointer pada memory (transient pointer) Pada saat merubah antara persistent pointer dengan transient pointer dapat dilakukan dengan mudah dan efisien