top
Loading...
Jet數據引擎和MSDE的比較分析

1 Jet數據引擎和MSDE

1.1 Jet數據引擎

Microsoft Jet 數據引擎是Microsoft Access 數據庫系統的一部分,用于在用戶和系統數據庫中檢索和存儲數據。Microsoft Jet 數據引擎可以作為一個數據管理器,以它為基礎可以創建如 Microsoft Access 這樣的數據庫系統。

在Access 97中,數據引擎采用的是Jet 3.51;在Access 2000中,默認的數據引擎采用的是Jet 4.0。

與以前版本的Jet相比,Jet4.0在以下幾個方面進行了增強:

◆ 支持完整的Unicode;

◆ 低級別鎖;

◆ 加強了對SQL92的支持,與SQL Server 兼容;

◆ Jet/SQL Server 7雙向復制;

◆ 增強了復制沖突處理;

◆ 本地OLE DB

1.2 MSDE數據引擎

Microsoft 數據引擎 (MSDE,Microsoft Data Engine)是一種客戶端/服務器數據引擎,此引擎在較小的計算機系統上提供本地數據存儲,例如在單用戶計算機或小型工作組服務器上,此引擎與 Microsoft SQL Server 7.0 兼容。

與 SQL Server 7.0 不同的是,MSDE 有數據庫大小為 2G 的限制,且不能支持 Windows 95 或更高版本的“對稱多進程處理”(SMP),也不能在復制的數據庫環境下作為復制發布服務器(盡管可以作為復制訂閱服務器)。MSDE 可運行在 Windows NT 4.0 及更高版本以及 Windows 95 及更高版本上。

MSDE中包含了一些關鍵技術:

◆ 動態鎖;

◆ Unicode,這個技術提高了對多語種的支持;

◆ 事務日志;

◆ 動態的自我管理;

◆ 合并復制;

◆ 事務復制。對于一個SQL Server “發布者”來說,MSDE可以被當作“訂閱者”,發布者可以復制兩個不同類型的對象(表和存儲過程)。發布者做出的變更,可以定期/不定期的傳送到訂閱者站點。

MSDE技術來自MS SQL Server 7.0。通過使用MSDE,開發者可以提升現有的工作,以便以后擴展SQL,以便能夠允許幾百人甚至幾千人同時使用MS SQL Server,包括DTS服務、OLAP服務、自然語言查詢(English Query)以及并發查詢等。

有些軟件要求必須要安裝MSDE,如

◆ .NET Framework SDK;

◆ Office XP 專業版,開發版;

◆ Project Server 2002;

◆ SQL Server 2000,企業版,開發版,個人版(RTM,SP1,SP2);

◆ Visual FoxPro® 7.0 和 8.0 beta版;

◆ Visual Studio .NET 2002 專業版,企業開發版以及企業架構版;

◆ Visual Studio .NET 2003 beta版;

◆ Visual Basic .NET 2002 標準版,Visual C++ .NET 2002標準版,Visual C# .NET 2002 標準版;

◆ Windows Server 2003 RC1(只有當UDDI有效時)。

2 Jet數據引擎和MSDE比較分析

2.1 企業需求方面

企業級應用程序要求擴展性、安全性和健壯性。在這種企業級的環境下,你最好采用MSDE或MS SQL Server來實現,不能采用Jet。即使目前的系統需求還未達到企業級,采用MSDE,今后業務擴展時,你可以較方便的擴展數據庫。

MSDE支持事務日志,保證了事物的完整性。如果您的應用程序需要事物的支持,您需要采用MSDE或者是MS SQL Server。Jet引擎并不支持自動事務處理,他并不能保證所有的變更在一個事務的時間范圍內提交或者回滾。

在安全性方面,MSDE和MS SQL Server與Windows NT的安全策略相結合;Jet引擎則沒有與Windows NT的安全策略相結合,這使得管理Jet引擎會比管理MSDE或是MS SQL Server代價會更高。

總之,在滿足企業需求方面,MSDE比Jet更有優勢。

2.2 Jet數據引擎和MSDE用法分析

2.2.1 簡易性

Jet 4.0對于Access 97以及更早的版本,有著非常好的兼容性。如果您已有的程序是基于Access開發的,Jet數據引擎是最容易,而且也許是最好的選擇。

與MSDE相比,Jet 數據引擎更易使用和管理。對于一個新的相對簡單的數據庫應用程序,如果不需要考慮與MS SQL Server兼容的話,Jet數據引擎是個很好的選擇。他在內存和磁盤空間方面占用的資源很少,而且幾乎不需要管理。Jet數據引擎是Access 2000默認的數據庫選項。一個采用Jet數據引擎創建的數據庫,也可以采用升級向導升級到MS SQL Server。

總之,在簡易性方面,Jet數據引擎占優勢。

2.2.2 數據完整性

MSDE的技術源自MS SQL Server 7.0。MS SQL Server發布了一個簡單的代碼庫,該代碼可以從運行Windows 95的PC機擴展到運行Windows NT Server的多CPU集群服務器中。由于Jet數據引擎被定義為MS Access這一產品中,Jet數據引擎沒有這種擴展類型。

MSDE是一種基于C/S(客戶機/服務器)模型的數據引擎,而Jet是一種基于文件/服務器模型的數據引擎。MSDE超過Jet數據引擎的一個很大的優點在于:MSDE的運行流程是基于查詢和日志事務處理的。如果在寫數據庫過程中出現任何錯誤,如磁盤錯誤、網絡故障或電源故障,MSDE可以通過日志事務處理來修復。當系統重新恢復后,MSDE會返回到最后一次穩定的狀態。這使得MSDE比Jet數據引擎可靠多了。如果系統是基于Jet數據引擎的,萬一數據庫崩潰的時候,您只能手工地恢復到上一次的備份時的版本。

總之,在數據完整性方面,MSDE占優勢。

2.2.3 并發用戶總數

MS SQL Server 7.0(MSDE技術的基礎),可以并發處理非常多的用戶數。Jet數據引擎和MSDE被優化成專門針對單一或是少量用戶的情形。

在大量數據機和和并發用戶數目上,MSDE的性能也優于Jet數據引擎。由于Jet數據引擎是基于文件—服務器系統,查詢的過程發生在客戶端,這種查詢方式需要大量的數據從服務器通過網絡傳輸到客戶端。而MSDE是在服務器短執行查詢,這種查詢方式雖然加重了服務器的負擔,但是大大減輕了網絡的流量,特別是當用戶選擇了一個很小的數據子集時,這種優化效果更加明顯。

因此,如果您正在創建一個新的應用程序,為了將來您的程序更易擴展,最好采用MSDE或是SQL Server。

總之,在并發用戶總數方面,MSDE和擴展的SQL Server占優勢。

2.2.4 數據總量

Jet數據引擎所處理的數據庫要求每個數據庫數據總量小于2GB。

MSDE所處理的數據庫也要求每個數據庫數據總量小于2GB,但是,如果擴展到MS SQL Server后,每個數據庫就可以支持幾個TB。

2.3 Jet數據引擎和MSDE特征分析

3 總結

本文對Jet引擎和MSDE進行了介紹,從企業需求方面,簡易性、數據完整性、并發用戶總數、數據總量等方面進行了比較,最后對Jet和MSDE特征進行了分析。

Jet引擎和MSDE互有優劣之處,您可以根據實際應用的需要,進行選擇。

以下情況下,您可以考慮使用Jet:

◆ 需要與Access或之前的版本兼容;

◆ 您的環境中并發用戶數目較少;

◆ 您的服務器配置較低;

◆ 需要考慮移動使用。

以下情況下,您可以考慮使用MSDE:

◆ 您想要開發一個簡單的代碼庫,需要從單用戶擴展到幾千人的用戶;

◆ 要求較好的擴展性;

◆ 要求簡單與中心服務器的合并復制;

◆ 要求更好的安全性;

◆ 要求更好的可靠性,比如事務日志;

◆ 系統要求7╳ 24小時在線;

◆ 需要存儲過程和觸發器。

【參考資料】

1 MSDN相關文檔

2 Access 2000白皮書

(責任編輯:郁單曰)

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗