關聯式資料庫的發展,從有人提出關聯式模型的理論、歷經SEQUEL查詢語言的發展、效能調校的理論建立、接著產品化趨於成熟、普遍,至今已有將近40年,而號稱繼承這個「道統」的IBM DB2,在這段歷史當中占了25年,如果不把DB2的前身SQL/DS納入,Oracle幾乎就是史上第一個商業化的關聯式資料庫產品。

此外,在資料庫系統發展史上,許多今日我們耳熟能詳的產品,他們的研發團隊和創辦人,彼此之間的關係非常密切。

回顧1970年代,有人即以不同關聯式資料庫系統的原型,將這些產品或公司分成2大陣營。一脈是源自IBM研究院的System R計畫,包括DB2、Oracle等,使用的是SEQUEL的查詢語言;另一脈是加州柏克萊大學的學生所成立的Ingres公司,裡面包含了Ingres、Sybase等,使用的是QUEL的查詢語言──從源頭來說,微軟SQL Server算是這個支系。其實這兩個陣營的起源,仍舊是System R計畫,因為關鍵在於提出查詢最佳化理論的Pat Selinger,她將Jim Gray帶入,一起參與開發,Jim Gray又是加州柏克萊大學的重要學者,該校的學生後來又成立公司開發出Ingres和Sybase。

除了關聯式模型之外,還有根據其他模型所開發出來的產品嗎?

在今天所有的資料庫系統教科書上,我們還可以看到網路模型(Network Model)、階層模型(Hierarchical Model),前者的產品較不知名,後者是IBM的IMS。

後來還有所謂的物件導向式模型(Object-Oriented Model)和物件關聯式模型(Object-Relational Model),以物件關聯式資料庫來說,後來只要是遵守SQL:1999標準的產品,都被認可屬於這類型,包括IBM DB2、Oracle database和微軟SQL Server。

對IBM DB2來說,不少後續提升關聯式資料系統的可用性、程式開發的便利性的做法,已大致底定。從IBM矽谷實驗室資深技術經理傅毓勤口中,我們逐漸了解DB2在軟體生命周期各階段的環境限制,以及當時的發展重點。

傅毓勤曾參與DB2 For Linux Unix and Windows(LUW)的第2版至第6版,以及DB2 For z/OS的第7版至第9版的開發,也領導相關的開發團隊,他強調任何一個成功的軟體,每經過10~15年,一定要有個大改變。

人的眼光看得再遠,產品當初的設計不可能一直不改,因為開發者無法想像10年後的軟體形態和競爭態勢。即使企業都認同這軟體的品質好、具彈性,也能普遍應用,有效期一過,仍然會老舊。他很自豪地說,大部分軟體都活不了那麼久,所以不會有這種問題,而越成功的軟體要有第二春,一定要渡過這樣的時期!

在他的觀察中,DB2初期發展時,新功能擴充得很快,一方面也是因為用戶少,所以開發團隊能夠將心力全數花在新功能上。到了後來,用戶數量越來越多,系統修改上須更加謹慎,不能隨意亂加程式碼。

到了DB2 第8個版本的研發,IBM本身決心執行一個大規模的調整計畫,那時傅毓勤自己也從LUW調至z/OS部門。以DB2目前版本來說,他認為現在的DB2處於剛完成Reengineering的狀態,他估計5到10年後,DB2要重新執行一次同樣的改造程序。

下一步DB2將會發展什麼?

有一個值得特別注意的工具,它是與資料庫相關,但不是資料庫的產品──IBM Data Studio,它號稱能處理所有與資料庫相關的開發工作,包含設計階段、測試環境階段、部署、監控、管理,一系列的工具全部整合在這套工具上。它支援Eclipse、IBM的Rational和微軟的Visual Studio 2005。它有一項功能pureQuery包含的功能與微軟LINQ相近,但它叫做JLinQ,據說它包含LINQ的主要功能,而且是基於純粹的Java平臺。

專欄作者

熱門新聞

Advertisement