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

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

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

數(shù)據(jù)庫學(xué)習(xí)教程之數(shù)據(jù)庫的發(fā)展?fàn)顩r如何數(shù)據(jù)庫有什么新發(fā)展

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

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

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

評論