GNU/Linux >> Belajar Linux >  >> Linux

Apa itu Database Berorientasi Objek

Pendahuluan

Basis data berorientasi objek adalah jenis sistem manajemen basis data. Sistem manajemen basis data yang berbeda menyediakan fungsionalitas tambahan. Basis data berorientasi objek menambahkan fungsionalitas basis data ke bahasa pemrograman objek, menciptakan basis kode yang lebih mudah dikelola.

Artikel ini memberikan gambaran mendalam tentang database berorientasi objek dengan contoh.

Definisi Basis Data Objek

Database objek dikelola oleh o objek-o berorientasi d atab as m pengelolaan sistem (OODBMS). Basis data menggabungkan konsep pemrograman berorientasi objek dengan prinsip basis data relasional.

  • Objek adalah blok pembangun dasar dan turunan dari sebuah kelas, di mana tipenya adalah bawaan atau ditentukan pengguna.
  • Kelas memberikan skema atau cetak biru untuk objek, mendefinisikan perilaku.
  • Metode menentukan perilaku kelas.
  • Penunjuk membantu mengakses elemen database objek dan membangun hubungan antar objek.

Karakteristik utama objek dalam OODBMS adalah kemungkinan tipe yang dibuat pengguna . Objek yang dibuat dalam proyek atau aplikasi disimpan ke dalam database apa adanya.

Database berorientasi objek secara langsung menangani data sebagai objek yang lengkap. Semua informasi hadir dalam satu paket objek yang tersedia secara instan alih-alih beberapa tabel.

Sebaliknya, blok bangunan dasar dari database relasional, seperti PostgreSQL atau MySQL, adalah tabel dengan tindakan berdasarkan koneksi logis antara data tabel.

Karakteristik ini membuat database objek cocok untuk proyek dengan data kompleks yang memerlukan pendekatan berorientasi objek untuk pemrograman. Sistem manajemen berorientasi objek menyediakan fungsionalitas yang didukung yang melayani pemrograman berorientasi objek di mana objek kompleks adalah pusatnya. Pendekatan ini menyatukan atribut dan perilaku data menjadi satu entitas.

Konsep Pemrograman Berorientasi Objek

Database berorientasi objek berhubungan erat dengan konsep pemrograman berorientasi objek. Empat ide utama dari pemrograman berorientasi objek adalah:

  • Polimorfisme
  • Warisan
  • Enkapsulasi
  • Abstraksi

Keempat atribut ini menggambarkan karakteristik kritis dari sistem manajemen berorientasi objek.

Polimorfisme

Polimorfisme adalah kemampuan suatu objek untuk mengambil beberapa bentuk. Kemampuan ini memungkinkan kode program yang sama untuk bekerja dengan tipe data yang berbeda. Mobil dan sepeda bisa break , tetapi mekanismenya berbeda. Dalam contoh ini, jeda tindakan adalah polimorfisme. Tindakan yang ditentukan adalah polimorfik — hasilnya berubah tergantung performa kendaraan.

Warisan

Warisan menciptakan hubungan hierarkis antara kelas terkait sambil membuat bagian kode dapat digunakan kembali. Mendefinisikan tipe baru mewarisi semua bidang dan metode kelas yang ada plus memperluasnya lebih jauh. Kelas yang ada adalah induk kelas, sedangkan anak class meng-extend parent.

Misalnya, kelas induk yang disebut Vehicle akan memiliki kelas anak Mobil dan Sepeda . Kedua kelas anak mewarisi informasi dari kelas induk dan perluas kelas induk dengan informasi baru tergantung pada jenis kendaraan.

Enkapsulasi

Enkapsulasi adalah kemampuan untuk mengelompokkan data dan mekanisme ke dalam satu objek untuk memberikan perlindungan akses. Melalui proses ini, potongan informasi dan detail tentang cara kerja suatu objek disembunyikan , menghasilkan keamanan data dan fungsi. Kelas berinteraksi satu sama lain melalui metode tanpa perlu mengetahui cara kerja metode tertentu.

Sebagai contoh, sebuah mobil memiliki karakteristik dan tindakan deskriptif. Anda dapat mengubah warna mobil, tetapi model atau mereknya adalah contoh sifat yang tidak dapat diubah. Kelas mengenkapsulasi semua informasi mobil menjadi satu kesatuan, di mana beberapa elemen dapat dimodifikasi sementara beberapa tidak.

Abstraksi

Abstraksi adalah prosedur yang mewakili hanya fitur data penting untuk fungsi . yang diperlukan . Proses memilih informasi penting sementara informasi yang tidak perlu tetap tersembunyi. Abstraksi membantu mengurangi kompleksitas model data dan memungkinkan penggunaan kembali.

Misalnya, ada berbagai cara agar komputer terhubung ke jaringan. Sebuah web browser membutuhkan koneksi internet. Namun, jenis koneksi tidak relevan. Koneksi yang terjalin ke internet mewakili abstraksi , sedangkan berbagai jenis koneksi mewakili implementasi abstraksi yang berbeda.

Contoh Database Berorientasi Objek

Ada berbagai jenis implementasi database objek. Sebagian besar berisi fitur berikut:

Fitur Deskripsi
Bahasa Kueri Bahasa untuk menemukan objek dan mengambil data dari database.
Kegigihan Transparan Kemampuan untuk menggunakan bahasa pemrograman berorientasi objek untuk manipulasi data.
Transaksi ACID Transaksi ACID menjamin semua transaksi selesai tanpa perubahan yang bertentangan.
Tembolok Basis Data Membuat replika sebagian dari database. Mengizinkan akses ke database dari memori program, bukan dari disk.
Pemulihan Pemulihan bencana jika terjadi kegagalan aplikasi atau sistem.

Batu Permata/S

Batu Permata/S adalah sistem basis data objek berdasarkan Smalltalk – bahasa pemrograman berorientasi objek yang dipengaruhi oleh Java. Pengembang yang menulis aplikasi di Smalltalk mudah beradaptasi dengan database ini. GemStone/S terintegrasi secara mulus dengan aplikasi Smalltalk yang ada, meningkatkan kecepatan dan produktivitas.

Gemstone/S adalah yang terbaik untuk proyek dengan ketersediaan tinggi. Ada beberapa pilihan untuk lisensi tergantung pada ukuran proyek. Server database tersedia untuk berbagai platform, termasuk Linux, Windows, macOS, Solaris, AIX, serta Raspberry Pi.

ObjectDB

ObjectDB adalah database objek NoSQL untuk bahasa pemrograman Java. Dibandingkan dengan database NoSQL lainnya, ObjectDB sesuai dengan ACID. ObjectDB tidak menyediakan API dan memerlukan penggunaan salah satu dari dua API database Java bawaan:

  • JPA dengan Bahasa Kueri JPA (JPQL) berdasarkan sintaks Java.
  • JDO dengan Bahasa Kueri JDO (JDQL) berdasarkan sintaks SQL.

ObjectDB mencakup semua tipe data dasar di Java, kelas yang ditentukan pengguna, dan koleksi Java standar. Setiap objek memiliki ID unik. Jumlah elemen hanya dibatasi oleh ukuran database maksimum (128 TB). ObjectDB tersedia lintas platform dan kinerja benchmarknya luar biasa.

ObjectDatabase++

ObjectDatabase++ adalah database objek yang dapat disematkan secara real-time yang dirancang untuk aplikasi sisi server. Pemeliharaan eksternal yang diperlukan minimal.

ObjectDatabase++ mendukung:

  • Multi-proses dengan aplikasi server multi-utas.
  • Kontrol transaksi penuh.
  • Pemulihan waktu nyata.
  • Bahasa terkait C++, VB.NET serta C#.

Database objek berbasis C++. Salah satu fitur utama adalah pemulihan otomatis tingkat lanjut dari kerusakan sistem tanpa mengorbankan integritas database.

Objektivitas/DB

Objektivitas/DB memanfaatkan kekuatan objek dan memenuhi persyaratan kompleks dalam Big Data. Basis data objek fleksibel dengan mendukung banyak bahasa:

  • C++
  • C#
  • Python
  • Jawa

Perubahan skema terjadi secara dinamis tanpa memerlukan waktu henti, memungkinkan kueri waktu nyata terhadap tipe data apa pun. Objectivity/DB tersedia untuk berbagai platform, termasuk macOS, Linux, Windows, atau Unix.

ObjectStore

ObjectStore terintegrasi dengan C++ atau Java dan menyediakan persistensi memori untuk meningkatkan kinerja logika aplikasi. Basis data objek sesuai dengan ACID. Responsivitas memungkinkan pengembang untuk membangun aplikasi terdistribusi lintas platform, baik di tempat maupun di cloud.

Fitur utamanya adalah skalabilitas cloud, yang memungkinkan akses database dari mana saja. ObjectStore menyederhanakan pembuatan data dan proses pertukaran dengan mulus.

Serbaguna

Serbaguna menyediakan persistensi objek transparan utama dari C++, Java, dan .NET. Namun, ada juga dukungan untuk Smalltalk dan Python. Versant mendukung API yang berbeda tergantung pada bahasa yang digunakan. Kueri SQL standar juga tersedia, menjadikan Versant sebagai basis data NoSQL.

Database objek adalah database klien-server multi-pengguna. Versant berkinerja terbaik saat digunakan untuk sistem transaksi online dengan data dalam jumlah besar dan pengguna secara bersamaan.

Kelebihan dan Kekurangan Database Berorientasi Objek

Setiap teknik pemodelan database memiliki kelebihan dan kekurangan. Sebelum ikut serta dalam database berorientasi objek, Anda harus mengetahui bahasa yang tersedia selain maksud aplikasi.

Keuntungan

Keuntungan utama adalah:

  • Data yang kompleks dan tipe data yang lebih beragam dibandingkan tipe data MySQL.
  • Mudah untuk menyimpan dan mengambil data dengan cepat.
  • Integrasi yang mulus dengan bahasa pemrograman berorientasi objek.
  • Lebih mudah untuk memodelkan masalah dunia nyata tingkat lanjut.
  • Dapat dikembangkan dengan tipe data khusus.

Kekurangan

Beberapa kekurangannya antara lain:

  • Tidak diadopsi secara luas seperti database relasional.
  • Tidak ada model data universal. Tidak memiliki dasar dan standar teoretis.
  • Tidak mendukung tampilan.
  • Kompleksitas tinggi menyebabkan masalah kinerja.
  • Mekanisme keamanan yang memadai dan hak akses ke objek tidak ada.

Linux
  1. Cara menentukan format database apa yang digunakan situs Anda

  2. Apa itu sysadmin?

  3. Apa itu Basis Data Relasional?

  1. Apa itu pengguna Linux?

  2. Apa yang Dilakukan "lc_all=c"?

  3. Apa arti nilai simbol dari perintah nm?

  1. Apa itu Basis Data NoSQL? – Penjelasan NoSQL

  2. Apa itu Basis Data Relasional?

  3. Apa Itu Database Server &Untuk Apa Digunakan?