數(shù)據(jù)庫引擎是用于存儲、處理和保護數(shù)據(jù)的核心服務。利用數(shù)據(jù)庫引擎可控制訪問權(quán)限并快速處理事務,從而滿足企業(yè)內(nèi)大多數(shù)需要處理大量數(shù)據(jù)的應用程序的要求。 使用數(shù)據(jù)庫引擎創(chuàng)建用于聯(lián)機事務處理或聯(lián)機分析處理數(shù)據(jù)的關系數(shù)據(jù)庫。這包括創(chuàng)建用于存儲數(shù)據(jù)的表和用于查看、管理和保護數(shù)據(jù)安全的數(shù)據(jù)庫對象(如索引、視圖和存儲過程)。可以使用 SQL Server Management Studio 管理數(shù)據(jù)庫對象,使用 SQL Server Profiler 捕獲服務器事件。
常用的數(shù)據(jù)庫引擎有哪些
1.數(shù)據(jù)庫引擎
Microsoft JET (Joint Engineering Technologe) 是Access和Visual Basic所提供的內(nèi)嵌數(shù)據(jù)庫功能的核心元素。JET是一種全能關系數(shù)據(jù)庫引擎,可用來處理大多數(shù)中小型數(shù)據(jù)庫。所謂數(shù)據(jù)庫引擎是應用程序和數(shù)據(jù)庫存儲之間的一種接口,它將與數(shù)據(jù)庫有關的內(nèi)存管理、游標管理和錯誤管理等具體而復雜的細節(jié)問題抽象為一個既高度一致又簡化的編程接口。
Jet數(shù)據(jù)庫引擎包含在一組動態(tài)鏈接庫(DLL)文件中,在運行時,這些文件被鏈接到Visual Basic程序。它把應用程序的請求翻譯成對.mdb文件或其他數(shù)據(jù)庫的物理操作。它真正讀取、寫入和修改數(shù)據(jù)庫,并處理所有內(nèi)部事務,如索引、鎖定、安全性和引用完整性等。它還包含一個查詢處理器,用于接收并執(zhí)行結(jié)構(gòu)化查詢語言(SQL)的查詢來實現(xiàn)所需的數(shù)據(jù)庫操作。另外,Jet數(shù)據(jù)庫引擎還包含一個結(jié)果處理器.用來管理查詢所返回的結(jié)果。
2.ODBC
Open DataBase Connectivity(ODBC,開放數(shù)據(jù)庫互連)是由Microsoft定義的一種數(shù)據(jù)庫訪問標準,它提供一種標準的數(shù)據(jù)庫訪問方法以訪問不同平臺的數(shù)據(jù)庫。一個ODBC應用程序既可以訪問在本地PC機上的數(shù)據(jù)庫,也可以訪問多種異構(gòu)平臺上的數(shù)據(jù)庫,例如SQL Server、Oracle或者DB2。
ODBC本質(zhì)上是一組數(shù)據(jù)庫訪問API(應用編程接口),但編程人員通過ODBC訪問數(shù)據(jù)庫時無需深入理解ODBC函數(shù)就可以訪問ODBC功能,這是因為象Visual Basic這樣的開發(fā)工具都提供了一些對象封裝了ODBC函數(shù)。
3.OLE DB
OLE DB是Microsoft開發(fā)的最新數(shù)據(jù)庫訪問接口,Microsoft將其定義為ODBC接班人。與ODBC類似,OLE DB提供了對關系數(shù)據(jù)庫的訪問,同時在此基礎上,它對ODBC所提供的功能進行了一部分的擴展。作為一種標準的接口,OLE DB可以訪問所有類型的數(shù)據(jù),包括關系數(shù)據(jù)庫、dBase等ISAM(索引序列訪問方法)類型的文件、甚至E-MAIL或者Windows 2000活動目錄等。
OLE DB應用程序可以分為兩種:OLE DB提供者(OLE DB Provider)和OLE DB使用者(OLE DB Consumer),OLE DB使用者就是使用OLE DB接口的應用程序,而OLE DB提供者負責訪問數(shù)據(jù)源,并通過OLE DB接口向OLE DB使用者提供數(shù)據(jù)。
數(shù)據(jù)庫引擎類型
你能用的數(shù)據(jù)庫引擎取決于mysql在安裝的時候是如何被編譯的。要添加一個新的引擎,就必須重新編譯MYSQL。在缺省情況下,MYSQL支持三個引擎:ISAM、MYISAM和HEAP。另外兩種類型INNODB和BERKLEY(BDB),也常常可以使用。
ISAM
ISAM是一個定義明確且歷經(jīng)時間考驗的數(shù)據(jù)表格管理方法,它在設計之時就考慮到數(shù)據(jù)庫被查詢的次數(shù)要遠大于更新的次數(shù)。因此,ISAM執(zhí)行讀取操作的速度很快,而且不占用大量的內(nèi)存和存儲資源。ISAM的兩個主要不足之處在于,它不支持事務處理,也不能夠容錯:如果你的硬盤崩潰了,那么數(shù)據(jù)文件就無法恢復了。如果你正在把ISAM用在關鍵任務應用程序里,那就必須經(jīng)常備份你所有的實時數(shù)據(jù),通過其復制特性,MYSQL能夠支持這樣的備份應用程序。
MYISAM
MYISAM是MYSQL的ISAM擴展格式和缺省的數(shù)據(jù)庫引擎。除了提供ISAM里所沒有的索引和字段管理的大量功能,MYISAM還使用一種表格鎖定的機制,來優(yōu)化多個并發(fā)的讀寫操作。其代價是你需要經(jīng)常運行OPTIMIZE TABLE命令,來恢復被更新機制所浪費的空間。MYISAM還有一些有用的擴展,例如用來修復數(shù)據(jù)庫文件的MYISAMCHK工具和用來恢復浪費空間的MYISAMPACK工具。
MYISAM強調(diào)了快速讀取操作,這可能就是為什么MYSQL受到了WEB開發(fā)如此青睞的主要原因:在WEB開發(fā)中你所進行的大量數(shù)據(jù)操作都是讀取操作。所以,大多數(shù)虛擬主機提供商和INTERNET平臺提供商只允許使用MYISAM格式。
HEAP
HEAP允許只駐留在內(nèi)存里的臨時表格。駐留在內(nèi)存里讓HEAP要比ISAM和MYISAM都快,但是它所管理的數(shù)據(jù)是不穩(wěn)定的,而且如果在關機之前沒有進行保存,那么所有的數(shù)據(jù)都會丟失。在數(shù)據(jù)行被刪除的時候,HEAP也不會浪費大量的空間。HEAP表格在你需要使用SELECT表達式來選擇和操控數(shù)據(jù)的時候非常有用。要記住,在用完表格之后就刪除表格。
INNODB和BERKLEYDB
INNODB和BERKLEYDB(BDB)數(shù)據(jù)庫引擎都是造就MYSQL靈活性的技術(shù)的直接產(chǎn)品,這項技術(shù)就是MYSQL++ API。在使用MYSQL的時候,你所面對的每一個挑戰(zhàn)幾乎都源于ISAM和MYISAM數(shù)據(jù)庫引擎不支持事務處理也不支持外來鍵。盡管要比ISAM和MYISAM引擎慢很多,但是INNODB和BDB包括了對事務處理和外來鍵的支持,這兩點都是前兩個引擎所沒有的。如前所述,如果你的設計需要這些特性中的一者或者兩者,那你就要被迫使用后兩個引擎中的一個了。
-
數(shù)據(jù)庫
+關注
關注
7文章
3868瀏覽量
65004 -
數(shù)據(jù)庫引擎
+關注
關注
0文章
5瀏覽量
6540
發(fā)布評論請先 登錄
相關推薦
Delphi中數(shù)據(jù)庫引擎BDE介紹
為什么要選擇嵌入式內(nèi)存數(shù)據(jù)庫引擎?
Hsqldb數(shù)據(jù)庫的相關資料分享
基于面向?qū)ο蟮倪^程實時數(shù)據(jù)庫引擎設計
數(shù)據(jù)庫引擎及底層實現(xiàn)原理

數(shù)據(jù)庫引擎如何安裝

數(shù)據(jù)庫引擎是什么

數(shù)據(jù)庫學習教程之數(shù)據(jù)庫的發(fā)展狀況如何數(shù)據(jù)庫有什么新發(fā)展

云數(shù)據(jù)庫和自建數(shù)據(jù)庫的區(qū)別及應用

AlloyDB數(shù)據(jù)庫云服務的優(yōu)勢
SQLite數(shù)據(jù)庫多平臺應用及常見錯誤分析有哪些

有哪些不同的MySQL數(shù)據(jù)庫引擎?
oracle數(shù)據(jù)庫alert日志作用
數(shù)據(jù)庫數(shù)據(jù)恢復—未開啟binlog的Mysql數(shù)據(jù)庫數(shù)據(jù)恢復案例

評論