Saya telah melewati definisi pada http://en.wikipedia.org/wiki/Database_engine beberapa kali:
Mesin basis data (atau "mesin penyimpanan") adalah komponen perangkat lunak dasar yang digunakan sistem manajemen basis data (DBMS) untuk membuat, membaca, memperbarui, dan menghapus data (CRUD) dari basis data.
Apa yang saya tidak mengerti adalah apa yang tersisa untuk dilakukan, bukankah CRUD melakukan semua yang dilakukan oleh database?
Jika mesin database melakukan fungsi-fungsi ini, apa yang dilakukan oleh sisa dari database?
Jawaban:
CRUD dimaksudkan untuk mendefinisikan karakteristik yang diperlukan untuk database karena berkaitan dengan penyimpanan persisten. Ini tidak dimaksudkan untuk menggambarkan semua yang bisa dilakukan oleh mesin database.
Untuk membuat perbandingan, pada dasarnya sebuah kendaraan adalah alat yang digunakan untuk transportasi. Meskipun benar, definisi ini tentu saja tidak mencakup semua detail yang diperlukan dalam mobil modern.
Mesin basis data dapat menangani banyak pengguna, transaksi , MVCC (Multiversion Concurrency Control) , buffer dan cache, ACID (atomicity, konsistensi, isolasi, daya tahan) , serta tingkat isolasi yang berbeda . Pembacaan dapat menarik data dari memori, database jauh, dan beberapa tabel pada disk memprosesnya menggunakan SQL melalui beberapa jalur kode eksplisit dan / atau implisit untuk menyajikannya ke aplikasi yang meminta. Buat dapat mengalokasikan penyimpanan, struktur penyediaan, menetapkan nilai, dan melakukan pemrosesan sendiri sebelum menyimpan data. Dll
sumber
Beberapa database dapat menjalankan banyak mesin, tergantung pada yang paling cocok untuk pekerjaan itu. Sebagai contoh, banyak aplikasi saya menggunakan InnoDB untuk sebagian besar data (batasan kunci dan penguncian tingkat baris), MyISAM untuk data sesi (cepat, kurang pemrosesan) dan ArchiveDB untuk jejak audit (dikompresi dan masukkan / pilih saja, tidak ada pembaruan / hapus).
"Istirahat" dari perangkat lunak database menyediakan antarmuka umum untuk digunakan melalui API atau terminal, memungkinkan tindakan kompleks (seperti bergabung, subquery, dll.) Dan mengelola kesehatan / status dan konfigurasi mesin yang disertakan. Ada banyak hal untuk memberi makan dan merawat mesin, dan perangkat lunak database menyembunyikan semua kerumitan itu.
sumber