Object oriented database muncul untuk memenuhi kebutuhan menggabungkan bahasa pemrograman object oriented dengan database. Meskipun object oriented database telah ada sejak akhir 1970-an, mereka telah melihat adopsi yang relatif rendah dalam beberapa dekade terakhir dengan meningkatnya prevalensi bahasa pemrograman fungsional dan database relasional. Tetapi komunitas pengguna yang berkembang sadar akan kemampuannya untuk mengirimkan kueri cepat dengan kode yang lebih ringan.

Untuk tujuan artikel ini, kami akan menggunakan istilah “object oriented database” dan “Object Oriented management systems” (OODBMS) secara bergantian. Perbedaan antara keduanya teknis tetapi kecil.

Apa Yang Dimaksud Dengan Object Oriented Database?

Apa Yang Dimaksud Dengan Object Oriented Database?

Penjelasan Singkat: Object oriented database (OOD) adalah sistem database yang bisa bekerja dengan objek data yang kompleks — yaitu, objek yang mencerminkan objek yang digunakan dalam bahasa pemrograman object oriented.

Dalam pemrograman object oriented, semuanya adalah objek, dan banyak objek cukup kompleks, mempunyai properti dan metode yang berbeda. Sistem manajemen object oriented database bekerja bersama dengan bahasa pemrograman object oriented untuk memfasilitasi penyimpanan dan pengambilan data object oriented.

Anda mungkin berpikir, “Tunggu, saya menggunakan objek dalam pemrograman saya sepanjang waktu. Dan saya menggunakan database. Jadi, apakah itu berarti database yang saya gunakan adalah OOD?” Mungkin tidak, dan alasannya berkaitan dengan salah satu fitur utama OOD: persistensi data objek.

Saat program Anda berjalan, Anda mungkin mempunyai objek —misalnya, instance dari file task. Objek itu mempunyai properti seperti a name dan status. Mungkin juga mempunyai beberapa metode seperti update_task()atau get_task_history(). Di suatu tempat di awal program Anda, Anda menginisialisasi task objek itu, dan sekarang Anda mempunyai akses ke sana karena disimpan dalam memori.

Apa yang terjadi ketika program Anda menghentikan eksekusi? Objek Anda… hilang. Objek data itu bersifat sementara, bukan persisten. Saat berikutnya program Anda dijalankan, Anda harus mengambil nilai data tersebut (seperti namedan status) dari database Anda lagi untuk menginisialisasi instance objek baru task.

Dengan OOD, objek data disimpan dengan semua propertinya di database. Ketika program Anda berakhir, objek terus bertahan, disimpan dalam OOD. Ketika program Anda dijalankan lagi, ia bisa mengambil objek dengan properti dari database. Proses menyimpan dan mengambil objek data yang kompleks dengan OOD transparan bagi pengguna database.

Ini sangat berbeda dari database relasional (seperti MySQL atau SQLite) tetapi tidak secara signifikan dari database dokumen (seperti MongoDB). Dalam database relasional, pengembang perlu membuat objek dari hasil serangkaian kueri, sedangkan dalam database dokumen, pemetaan bidang dokumen ke properti class harus hampir transparan.

OOD telah ada selama beberapa dekade. MongoDB Realm adalah salah satu perangkat lunak baru dan menjanjikan di bidang itu.

Apa Itu ?

MongoDB memang menawarkan OOD yang disebut Realm Mobile Database di mana bahasa kueri membuat objek asli melalui SDK yang Anda gunakan. Misalnya, di SDK javascript, pengambilan objek terlihat seperti:

const myTask = realm.objectForPrimaryKey(“Task”, 12345);

Dimana Object Oriented Database Digunakan?

OOD paling sering digunakan dengan bahasa pemrograman object oriented seperti Java, Kotlin, C#, Node JS (React), dan Swift. Industri yang menggunakan OOD biasanya dibangun di atas bahasa object oriented dan ingin meningkatkan produktivitas saat bekerja dengan struktur data yang kompleks.

Salah satu contoh OOD yang baik adalah penyedia pelatihan TI online CBT Nuggets. CBT Nuggets menggunakan Realm untuk menawarkan lebih dari 5.000 kursus mulai dari keterampilan komputer dasar hingga manajemen jaringan yang kompleks. CBT Nuggets berfungsi untuk memastikan pelanggan bisa melihat konten dari mana saja, kapan saja. Untuk memenuhi janji ini, class disampaikan melalui video streaming yang berkisar dari “nugget” 10 hingga 20 menit. Konten tersedia di desktop dan melalui aplikasi seluler.

Dengan Realm Mobile Database dan MongoDB Realm Sync, CBT bisa berkembang menggunakan SDKS lintas platform untuk perangkat Android dan iOS menggunakan pemetaan class objek-ke-bisnis langsung dan sinkronisasi tanpa batas ke MongoDB Atlas.

Komponen Model Data Object Oriented

Unsur-unsur OODM adalah:

  • Objek : Entitas dunia nyata, seperti tugas kehidupan tertentu dalam daftar tugas- buang sampah”.
  • Atribut dan Metode : Sebuah objek mempunyai status dan perilaku. Sebuah objek mempunyai properti (yang mungkin juga disebut atribut) seperti name, status, dan create_date. Himpunan properti diambil bersama-sama mewakili negara. Bersamaan dengan ini, sebuah objek mempunyai perilaku (juga dikenal sebagai metode, tindakan, atau fungsi) yang memodifikasi atau mengoperasikan propertinya, seperti update_task() atau get_task_history().
  • Kelas : Pengelompokan semua objek dengan properti dan perilaku yang sama membentuk class. Dalam contoh kita di atas, kita berbicara tentang task objek. Objek-objek ini bersama-sama semua milik class Task.

class task

{

    String name;

    String status;

    Date create_date;

    public void update_task(String status)

    {

   …

    }

}

  • Pola Desain Object Oriented: Pemodelan data object oriented juga menyiratkan prinsip-prinsip tertentu seperti pewarisan, polimorfisme, penimpaan, dan asosiasi. Sistem object oriented database akan mendukung konsep yang sama.

Object Oriented Database Relasional Versus

Apa Perbedaan Antara Database Relasional dan Object Oriented?

Relasional database management systems (RDBMS) bekerja dengan tabel, dengan setiap baris dalam tabel mewakili catatan. Kolom dalam satu baris mewakili atribut dari catatan individu. Asosiasi antar catatan (“Perusahaan mempunyai banyak Karyawan. Seorang Karyawan milik Perusahaan”) difasilitasi dengan kunci asing di satu tabel yang merujuk ID di tabel lain. Asosiasi ini membentuk bagian “relasional” dari database relasional.

Nilai data yang disimpan dalam database relasional bersifat atomik dan primitif. Dengan primitif, yang kami maksud adalah tipe seperti karakter, string teks, angka, dan hash. Meskipun MySQL dan SQLite mendukung tipe data JSON (JavaScript Object Notation), itu tidak sama dengan objek pendukung seperti yang dilakukan OOD.

Bandingkan ini dengan OOD, yang biasanya menyimpan dan mengelola objek secara langsung pada disk server database. Tidak ada tabel, tidak ada baris, tidak ada kolom, tidak ada kunci asing. Hanya ada objek.

Asosiasi antara objek dalam OOD juga bisa dibuat dan dipertahankan, yang bisa menghasilkan kueri data yang kuat dan cepat di seluruh hubungan yang kompleks. &Ndash; Ditulis.id

Apakah NoSQL adalah Object Oriented Database?

Database NoSQL populer seperti MongoDB dan AWS DynamoDB adalah database berorientasi dokumen sementara yang lain seperti Casandra adalah penyimpanan nilai kunci. Database dokumen, seperti OOD, tidak berfungsi dalam hal tabel, baris, dan kolom; tetapi beberapa bahasa mungkin memerlukan ODM untuk bekerja lebih baik dengan objek.

Setiap “catatan” dilihat sebagai dokumen, yang bisa menyusut dan tumbuh dalam hal atribut yang disimpannya untuk entitas tertentu. Terkadang, hubungan antar dokumen mungkin merupakan pendekatan yang lebih disukai.

Misalnya, Anda bisa memikirkan BlogPostdokumen yang mempunyai asosiasi dengan beberapa Commentdokumen dan Likedokumen. Di lain waktu, hubungan bisa disematkan langsung ke dalam dokumen. Dalam hal ini, Anda bisa membayangkan sebuah BlogPostdokumen dengan Commentsatribut yang merupakan larik string teks dan nama pengguna, dan kemudian Likesatribut lain yang merupakan larik nama pengguna dan cap waktu.

Database dokumen menyediakan struktur fleksibel yang bisa diskalakan dengan baik secara horizontal. Mereka bisa menjadi kuat dalam menyimpan dokumen yang sangat kompleks yang, di permukaan, mungkin tampak seperti objek yang sama — dan banyak bahasa pemrograman modern membingungkan MongoDB lebih jauh dengan menyebut dokumen-dokumen ini “objek.” Namun, dokumen-dokumen ini bukan objek dalam pengertian tradisional pemrograman object oriented seperti yang dijelaskan di atas.

Database dokumen serupa tetapi tidak sama dengan object oriented database.

Apa Keuntungan Dari Object Oriented Database?

Dengan semua asosiasi kompleks mereka ke objek lain, dan karena objek data kompleks bertahan dalam OOD, keuntungan paling signifikan dari OOD dibandingkan RDBMS adalah kemampuan untuk melakukan kueri di seluruh hubungan kompleks ini dengan sangat cepat.

  • Tidak ada “gabungan” yang lambat seperti dalam RDBMS. Sebaliknya, Anda mempunyai kueri cepat dengan data yang kompleks.
  • Karena struktur database sangat dekat dengan objek pemrograman, kodenya lebih sederhana dan lebih ringan.

Sebagai contoh lain, kita mungkin memikirkan kembali contoh objek tugas kita, yang tidak bisa disimpan apa adanya di MySQL. Itu perlu didekomposisi terlebih dahulu menjadi atributnya untuk disimpan dalam tabel sebagai baris dengan kolom. Proses sebaliknya akan melibatkan pengambilan dan komposisi. Tidak demikian halnya dengan object oriented database atau dokumen. Punya objek? Simpan semuanya di database.

Apa Kekurangan Object Oriented Database?

OOD mungkin merupakan pilihan yang bagus jika Anda menggunakan bahasa pemrograman object oriented dan perlu mengelola data kompleks dengan asosiasi objek-ke-objek yang kompleks. Merancang dan mengoptimalkan sistem database untuk kompleksitas semacam ini, bagaimanapun, juga mempunyai trade-off.

Untuk satu hal, kinerja relatif dari operasi database yang sangat sederhana — yang mungkin Anda lakukan untuk pencarian sederhana atribut dari tabel database relasional — mungkin kurang optimal.

Selain itu, sementara pengguna RDBMS bisa menikmati bahasa kueri standar (SQL), pengguna sistem object oriented database mungkin tidak mempunyai standar yang diadopsi secara luas. Untuk sebagian besar, setiap rasa OOD digabungkan erat ke bahasa pemrograman object oriented, dan sintaks kueri sangat bergantung pada bahasa.

Terakhir, komunitas pengguna OOD masih terasa kecil dibandingkan dengan ledakan ekosistem pengembangan web dalam ruang RDBMS. Tetapi komunitas ini berkembang pesat dan kemungkinan akan menebus waktu yang hilang.

Siapa yang Membutuhkan Object Oriented Database?

Jika aplikasi Anda dibuat dengan bahasa object oriented, kemungkinan ada OOD atau DB dokumen yang cocok dengan bahasa Anda.

Atlas dan Realm MongoDB

MongoDB Atlas adalah layanan database berbasis cloud untuk menerapkan instance MongoDB yang terkelola sepenuhnya, berdasarkan fondasi pengembangan terbuka dengan komunitas besar. Realm adalah database Offline-First (OOD) seluler yang bisa digunakan bersama MongoDB Realm Sync untuk sinkronisasi dua arah asli dengan Atlas. Bersama dengan sinkronisasinya ke Atlas, Realm memungkinkan pengguna untuk memanfaatkan OOD dan database penyimpanan dokumen, tanpa overhead dari pengaturan yang rumit atau sambungan ke bahasa pemrograman object oriented tertentu.

Kesimpulan

Kami telah membahas cukup banyak hal mengenai apa yang dimaksud dengan object oriented database. object oriented database bisa menjadi solusi menarik untuk dijelajahi dan digunakan, terutama jika nilai yang mereka tawarkan selaras dengan bahasa yang Anda gunakan dan kebutuhan bisnis yang Anda penuhi.

LEAVE A REPLY

Please enter your comment!
Please enter your name here