close

IBM DB2

歷史背景:

1970年,IBM 研究機構的 E.F.Codd 發表「大型資料庫的關聯式模型(A Relational Model of Data for Large Shared Data Banks)」報告,影響了日後電腦資訊管理的發展。報告中提出了電子資料的新式儲存、管理及互動架構,該模型讓應用程式的開發者不需要再钜細靡遺地針對每一筆資料進行瞭解。

四年後,IBM 的 Don Chamberlin 與 Ray Boyce 發表「SEQUEL:結構式的英文查詢語言(SEQUEL:A Structured English Query Language)」,成為日後 SQL 的基本語法標準。於是,用新 SQL 語法敘述的問題,取代了資料的儲存及組織方式,成為業界關注的重點;更多新的、重要的問題也因此獲得解決;同時加快開發應用程式的速度。也就是說,關聯式資料庫系統解決了多數資料管理的瓶頸,讓應用程式的開發能夠更專注於商業邏輯的領域中。

自 1970年起,IBM 即開始發展全系列關聯式資料庫系統(Relational Database Management System;RDBMS),稱之為 DB2。在隨選資訊的發展主軸中,DB2 不純粹是單一資料伺服器,更是一種支援傳統關聯式及 XML 的混合式資料伺服器。今日在 Information Management、WebSphere、Lotus、Tivoli、及 Rational 等 IBM 五大軟體品牌中,DB2 及以其為核心的 IBM 資料管理服務(Information Management)已在仲介軟體中,佔有重要地位,為客戶提供資料儲存、商業智慧、內容管理、記錄管理、資料整合及主資料管理等各式服務。

 

目前發展情形:

    全世界第一套關聯式資料庫管理系統產品- IBM DB2 已推出滿 25週年,歷經了長期的發展一路與 DB2 的客戶並肩共同成長。25年來,DB2 在各產業中,皆扮演著重大角色:

全球前 25 大銀行全數使用 DB2;
全球前 10 大保險業者中,有 9 家使用 DB2;
全美前 25 大零售商中,有 23 家使用 DB2。

    DB2 是 IBM 第一套關聯式資料庫,經歷長期的發展與 IT 運算平臺的變遷,目前不只是同時跨大型主機、主從式架構,也透過大力改為 XML 支援,進而能大力擁抱 SOA 的應用程式發展趨勢,在系統效能調校上,也開始提供儲存空間與記憶體的自動配置管理。

 

軟體特色:

XML 能與關聯式資料庫並存

對 XML 檔相容性更加提升,使用者可以直接查詢與編輯 XML 檔內容

XML(Extensible Markup Language,可延伸標記語言)是一種檔案格式,人們可以很方便的去閱讀,同時電腦程式也可以辨識的格式和語法。XML 有點像改良的 HTML(HyperText Markup Language,超文字標示語言)。在標記語言中,使用標籤來標注文件內容,傳統 HTML 的標籤是給瀏覽器讀取,告訴瀏覽器文字大小、換行、表格或者編排資訊等,並不能傳達資料的內容。

 

過去靠 CLOB 及 Shredding 即可支援 XML,但是效果不彰

IBM DB2 自 7 版開始,便能夠存取 XML 檔案格式,不過要將原本階層結構的 XML 檔,儲存於以表格為基礎的關聯式資料庫中,是沒辦法做到的,所以當時 DB2 採用兩種方式來存取 XML 檔案:一種是將整份 XML 檔以大型物件(Large Object)的方式儲存於表格中,另一種則是將 XML 檔拆解成表格欄位元。

 

pureXML 徹底強化 DB2 對 XML 的存取編輯能力

DB2 9.0 開始,在 XML 資料形態上的處理方式,除了既有的 Shredding 以及 CLOB,還新增了 pureXML。

簡單地說,DB2 在原本的關聯式資料儲存體中,額外加上了階層結構儲存體,可以直接儲存 XML 檔,不用透過拆解加工的方式,只要在建立表格時,宣告使用 XML 這個新的資料型態,即可更直接地存取階層結構的 XML 檔案格式檔案。

pureXML 對 DB2 來說,是個很重要的里程碑,因為有了它,DB2 變成了既可以儲存傳統的關聯式資料表,同時又可以儲存階層結構 XML 檔案的混合結構資料庫。DB2 可以在不破壞 XML 檔案結構的情況下,直接存取 XML 檔,因為不以大型物件的方式儲存,就沒有因為需要解析(Parsing)與外建索引而導致資料庫處理速度降低的問題。

DB2 9.5 能在資料頁面(Page)上儲存 XML。只要 XML 與關聯式資料表所需空間,不超出資料頁面大小,就可以在相同的 Page 儲存這兩種資料;如果 XML 超出 Page 大小限制,就不將 XML 檔案儲存於 Page 中,而改存於 XML 資料區(XDA)。因為 XML 可以當成資料表的欄位,所以也可以用儲存資料列的方式來儲存 XML 檔,而存入的方法也同樣使用 SQL 指令來達成。

 

延續自動備援,資料表分割具彈性
   DB2
採用 HADR 機制,能建立備用主機以提升系統可靠度,並提供新的表單載入/卸載功能,達到資料表彈性調動的效果。許多資料庫管理系統都會提供各種功能,以提升可靠度與管理便利性,對 IBM DB2 而言則是有高可用的復原機制,以及資料表彈性配置空間等功能,強化上述資料庫管理與維護工作。

 

以 HADR 強化資料庫可靠度

為了讓資料庫系統停機的可能性降到最低,DB2 採用了高可用性災害復原(High Availability Disaster Recovery,HADR)的架構,來提升資料庫系統的可靠度。

HADR 架構在 DB2 8.2 版就已經具備,它的部署方式,是就現有資料庫伺服器,額外再架設一個 DB2 主機,作為備用資料庫伺服器。兩者之間會以網路連接,藉此同步彼此間的資料內容,例如當使用者操作資料庫系統時,像是資料新增或修改,這些操作會由主要資料庫系統處理,並產生交易記錄(Log)。

 

DB2 的 HADR 架構
   在 HADR(高可用性災害回復)架構中,使用者存取資料庫都是在主要伺服器上執行,而資料庫伺服器會透過 HADR 將 Log Page 傳至預備資料庫伺服器上,藉此同步彼此資料庫內容,當主要資料庫伺服器停止運作時,預備伺服器就會啟動,並取代主要伺服器,提供使用者資料服務。

 

資料表分割空間彈性配置,並節省資料搬移資源

    在 DB2 中,假如需要存取一張龐大的資料表,管理者可藉由資料表分割功能,將單一資料表,依照欄位分別儲存在不同的表單空間(Table Space)中,並將這些表單空間的儲存位址,指定至不同的實體磁碟中,藉著跨磁碟存取,提升 I/O 速度。資料表分割置於不同的表單空間時,只有底層存放方式改變,資料在邏輯上還是同一張資料表,因此操作時指定的表單名稱並不會因此而改變。         到了第 9 版的 DB2 中,上述這種操作可使用表單分割(Table Partitioning)中的載入(Attach)與卸載(Detach)功能,在資料表改變配置的過程中,並不需要將資料表大量移動。以圖表上的資料為例,當更新主要交易資料的內容時,是將舊資料卸載,並載入新資料,而不是以整批匯出及匯入的方式處理。

 

Oracle

歷史背景:

    Oracle公司是全球最大的資訊管理軟件及服務供應商,成立於1977年,總部位於美國加州 Redwood shore。2000財年(99年6月到2000年5月)營業額達101億美元,再創Oracle公司銷售額歷史新高,比去年增長了13億美元,盈利增長61%,達到21億美元。Oracle公司現有員工超過三萬六千人,服務遍及全球145個國家。

    Oracle公司擁有世界上唯壹壹個全面集成的電子商務套件Oracle Applications R11i,它能夠自動化企業經營管理過程中的各個方面,深受用戶的青睞,促使Oracle應用軟件在2000財年第四季度的銷售額達4.47億美元,與 SAP公司的同期應用軟件銷售額3.52億美元相比,多出近1億美元,這壹事實表明,Oracle已經是世界最大的應用軟件供應商。

    Oracle電子商務套件涵蓋了企業經營管理過程中的方方面面,雖然它在不同的方面分別面對不同的競爭對手,而Oracle電子商務解決方案的核心優勢就在於它的集成性和完整性,用戶完全可以從Oracle公司獲得任何所需要的應用功能,更重要的是,它們具有壹致的基於Internet技術的應用體系結構,而如果用戶想從其它廠商處獲得Oracle電子商務所提供的完整功能,不僅需要從多家廠商分別購買不同的應用,而且需要另請諮詢公司把這些不同的應用裝配起來,還必須確保它們能夠協同地工作。

 

目情發展情形:

    IDC的調查指,從2000年至2002年,微軟業務增長46%,IBM增長41%,但Oracle卻下跌10%

    在資料庫市場上,競爭尚不止於此。除了有資料庫對手外,甲骨文踏入應用軟體時,亦要面對歐洲最大的軟體企業SAP公司的競爭。當時在高階商業軟體市場上,SAP公司2003年的市佔率高達36%,位列榜首,同期甲骨文僅佔13%。

此外,IBM與方案顧問Accenture當時亦以套餐方式,直接向客戶提供軟體,當中甚至不乏推介甲骨文本身的產品。相比甲骨文的策略,IBM傾向以和睦共處為大原則,在業內宣傳會議上,多次強調不會走甲骨文之路,成功安撫一批應用軟體商。

    2009年4月,在IBM對外宣佈收購SUN公司失敗的一周後,甲骨文宣佈成功收購SUN全部股權,這一爆炸性新聞之後的一個明確訊號:甲骨文從單一的、純軟體廠商走向既有硬體(全球進階伺服器系統、儲存系統的廠商)、也有軟體,全球唯一能和IBM全面抗衡的公司。

 

MS SQL

歷史背景:

    Microsoft SQL Server是由美國微軟公司所推出的關聯式資料庫解決方案,最新的版本是SQL Server 2008 R2,已經在20104月12發布。

    Microsoft SQL Server資料庫的內建語言是由美國標準局(ANSI)和國際標準組織(ISO)所定義的SQL語言微軟公司對它進行了部分擴充而成為作業用SQLTransact-SQL)。

    Microsoft SQL Server幾個初始版本適用於中小企業資料庫管理,但是近年來它的應用範圍有所擴充功能,已經觸及到大型、跨國企業資料庫管理

    SQL Server一開始並不是微軟自己研發的產品,而是當時為了要和IBM競爭時,與Sybase合作所產生的,其最早的發展者是Sybase,同時微軟也和Sybase合作過 SQL Server 4.2版本的研發,微軟亦將SQL Server 4.2移植到Windows NT(當時為3.1版),在與Sybase終止合作關係後,自力開發出SQL Server 6.0版,往後的SQL Server即均由微軟自行研發。

    在與微軟終止合作關係後,Sybase在Windows NT上的資料庫產品原本稱為Sybase SQL Server,後來改為現在的Sybase Adaptive Server。

 

 

Microsoft SQL Server 版本發展史

1989 SQL Server 1.0

1993 SQL Server for Windows NT 4.21
1994 SQL Server for Windows NT 4.21a
1995 SQL Server 6.0 (開發代號:SQL 95)
1996 SQL Server 6.5 (開發代號:Hydra)
1998 SQL Server 7.0 (開發代號:Sphinx)
2000 SQL Server 2000、SQL Sever For Windows CE
2002 SQL Server 2000 64位元版Beta1 (開發代號:Liberty)
2003 SQL Server 2000 64 位元版
2004 SQL Server 2000 Reporting Services 報表服務
2005 SQL Server 2005(開發代號:Yukon)

2008 SQL Server 2008(開發代號:Katmai)

2010 SQL Server 2008 R2(開發代號:Kilimanjaro (aka KJ))

3種資料庫的比較:

開放性

SQL Server
只能在Windows上運行,沒有絲毫的開放性,作業系統的系統的穩定對資料庫是十分重要的。Windows9X系列產品是偏重于桌面應用,NT server只適合中小型企業。而且Windows平台的可靠性,安全性和伸縮性是非常有限的。它不像Unix那樣久經考驗,尤其是在處理大資料量時。

Oracle
能在所有主流平台上運行(包括 Windows)。完全支持所有的標準規定。採用完全開放策略,可以使客戶選擇最適合的解決方案。

DB2
能在所有主流平台上運行(包括Windows),最適合用於大量資料。DB2在企業級的應用最為廣泛,在全球的500家最大的企業中,幾乎85%以上用DB2資料庫伺服器(這裡的敘述並非最新資訊)。

可伸縮性,並行性

SQL Server
並行實施和共存模型並不成熟。很難處理日益增多的使用者數和資料。伸縮性有限。

Oracle
平行伺服器通過共用同一群組中的工作來擴展Window NT的能力,提供高可用性和高伸縮性的解決方案。如果WindowsNT不能滿足需要, 使用者可以把資料庫移到UNIX中。

DB2 
DB2
具有很好的並行性。DB2把資料庫管理擴充到了並行的環境。資料庫分區是資料庫的一部分,包含自己的資料、索引、設定檔和日誌。

安全性

SQL server   沒有獲得任何安全證書。 
Oracle   
獲得最高認證級別的ISO標準認證。
DB2  獲得最高認證級別的ISO標準認證。

性能

SQL Server   多使用者時性能不佳 
Oracle  
性能最高, 保持WindowsNT下的TPC-D和TPC-C的世界記錄。
DB2   適用於資料倉庫和線上事物處理,性能較高。

用戶端支援及應用模式

SQL Server 
C/S
結構,只支援Windows客戶,可以用ADO,DAO,OLEDB,ODBC連接。

Oracle
多層次網路計算,支援多種工業標準,可以用ODBC,JDBC,OCI等網路用戶端連接。

DB2
跨平台,多層結構,支援ODBC,JDBC等客戶。

操作簡便

SQL Server 
操作簡單,但只有圖形介面。

Oracle
較複雜, 同時提供GUI和命令列,在Windows NT和Unix下操作相同。

DB2
操作簡單,同時提供GUI和命令列,在Windows NT和Unix下操作相同。

使用風險

SQL Server 
完全重寫的代碼,經歷了長期的測試,不斷延遲,許多功能需要時間來證明。並不十分相容早期產品。使用需要冒一定風險。

Oracle
長時間的開發經驗,完全向下相容。得到廣泛的應用。完全沒有風險。

DB2
在巨型企業得到廣泛的應用,向下相容性好。風險小。

 

 

 

 

 

參考:

YAHOO知識+

MS SQL:http://tw.knowledge.yahoo.com/question/question?qid=1006122306000

 

維基百科:http://zh.wikipedia.org/wiki/Wikipedia

IBM官網:http://www.ibm.com/tw/zh/

(中國)數據庫情報:http://database.51cto.com/art/200611/34600.htm

arrow
arrow

    pcwiki 發表在 痞客邦 留言(0) 人氣()