Architecture

究竟什麼是數據庫引擎?

  • September 26, 2011

我已經多次瀏覽了http://en.wikipedia.org/wiki/Database_engine上的定義:

數據庫引擎(或“儲存引擎”)是數據庫管理系統 (DBMS) 用於從數據庫創建、讀取、更新和刪除(CRUD) 數據的底層軟體組件。

我不明白的是剩下要做的事情,數據庫所做的不就是 CRUD 嗎?

如果數據庫引擎執行這些功能,那麼數據庫的其餘部分會做什麼?

CRUD 旨在定義與持久儲存相關的數據庫所需的特徵。它並不是要描述數據庫引擎可以完成的所有事情。

為了進行比較,從根本上說,車輛是用於運輸的設備。雖然是真的,但這個定義肯定不包括現代汽車所需的所有細節。

數據庫引擎可能會處理多個使用者、事務MVCC(多版本並發控制)、緩衝區和記憶體、ACID(原子性、一致性、隔離性、持久性)以及不同的隔離級別。讀取可以從記憶體、遠端數據庫和磁碟上的多個表中提取數據,使用 SQL 通過多個顯式和/或隱式程式碼路徑對其進行處理,以便將其呈現給請求應用程序。創建可以分配儲存、提供結構、分配值,並在儲存數據之前進行自己的處理。等等。

引用自:https://dba.stackexchange.com/questions/4603