Next Previous Contents

1. 引言

本文件的主要目標是提供一個關於設定 PostgreSQL 詳盡的 URL 名單,和提倡開放源始碼系統,如 PostgreSQL、Linux 的好處。

世界上的每一部電腦都需要一個資料庫來存取資料。你使用電腦主要理由是用來儲存、讀取和處理資料,而且它們很快完成工作,因而節省你的時間。同時,系統必須簡單、完整、快速、可靠、經濟和易用。資料庫是最重要的系統,因為它儲存了世界上每一間公司的關鍵資料。世上的每一項工業都需要一個資料庫。沒有資料庫系統的話,電訊、汽車、銀行、航空公司等工業都不能有效運作。最流行的資料庫系統都跟從國際標準組織 (International Standard Organisation, ISO) 的規格和 ANSI SQL(美國)的規格。業界常用的最新規格是 ISO/ANSI SQL 1992。下一個標準是 SQL 1998/99,又名 SQL-3,這仍在開發中。流行的資料庫,如 Oracle,Sybase 和 Informix 都是根據這些標準,或嘗試實施這些標準。

沒有如 ANSI/ISO SQL 的標準,用戶要一次建立一套適用於所有資料庫系統的應用軟件會非常困難。客戶希望一次過使用 ISO SQL,ODBC,JDBC 發展一個應用軟件而在世上所有的資料庫系統應用。

世上自由而支援 ISO SQL,ANSI SQL/98,SQL/92 和 ANSI SQL/89 的關聯式資料庫 (RDBMS) 中,最流行的是 PostgreSQL。PostgreSQL 是新一代的物件關聯式資料庫,以全面符合如 ISO/ANSI 等 SQL 標準為目標。本文件會告訴你如何安裝這資料庫、如何建立網上資料庫、應用軟件資料庫、前端圖像介面和介面程式。我強烈建議你所寫的資料庫軟件必須百分百符合 ISO/ANSI SQL、ODBC、JDBC 等標準,這樣,你的程式才移植到不同的資料庫,如 PostgreSQL、Oracle、Sybase、Informix 等。

你可在 PostgreSQL 得到最高質素及非常豐富的功能,因為它依從「開放源始碼開發模式」 (Open Source Code development model)。開放源程式碼模式會給你完整的源程式碼,開發過程在互聯網上由有大量的人手參與進行。目前的趨勢顯示未來大部分的軟件開發工作會在世界通行的所謂「資訊高速公路」上進行。 未來數年,互聯網會爆炸性地成長,這樣會使業界更多使用 PostgreSQL。

藉把統計學、數學和科學的原理應用於軟件質素,我們只會在一個如 PostgreSQL 般,把源程式碼開放給經資訊高速公路連繫在一起的大量頭腦的系統下,才能得到最高質素的軟件。正所謂集思廣益。開放源程式碼的模式也可防止重覆工作,非常經濟,節省散佈時間及合符有關最佳化國內和全球資源的經濟定律。只要有人寫好了一個軟件,你便需要再來一次。你不會浪費時間於早已做好的東西。一寸光陰一寸金,你要好好利用,因為人一天只有八小時工作!在我們踏入廿一世紀時,我們取得所需軟件的方法將會改變。每人的第一選擇都將會是如 PostgreSQL、Linux 等開放系統。

購買可執行的軟件不代表你擁有軟件。源程式碼是珍貴的資產,二元檔並無價值。購買軟件可能會成為歷史。你只需要買好的硬件,花錢在硬件上而從互聯網上取得軟件是值得的。重點是工作量大的電腦硬件。硬件才是真正跑動的馬匹,軟件只是鞭策牠。電腦硬件的複雜程度使得全球只有 6 個國家表現出設計及生產電腦晶片和硬件的能力。這是一種先進的科技,過程非常複雜,資金密集,設廠及生產 0.18(甚至小於 0.18)微米科技的機器投資龐大。在一小片晶片上便有數以百萬計的半導體和電路擠在一起。Applied Material、AMD、英代爾、Cyrix,日立,IBM 及其他工司花費大量人-年 (man-years) 在高科技,如晶片設計、微電子及微亳電子的研究上。微米代表百萬分之一米 (10^-6),微亳米代表十億分之一米 (10^-9)。現今微電子技術中,0.35 微米的使用鋁作導體,0.25 微米的使用銅。不久將來之後,用銅的 0.10 微米技術,甚致微亳電子技術將會應用於電腦晶片。因為銅導電能力較強,鋁導體將會被淘汰。在刻蝕晶片 (photolithography) 的過程中,極高頻的紫外線、X-射線或電子束會被用於刻蝕 (etch) 特徵大小 (feature size) 小於 0.15 微米的電路。今後二十年,矽片將會被分子電腦 (molecular computers) 和生物晶片 (bio chips) 取代。它們的速度將會比矽片快數十億倍!分子是一組原子。而原子組成所有你在世上所見的物件。分子電腦會用物質的分子來當超快的電子開關制。開制 (ON) 之後它指示 1、關閉 (OFF) 後指示 0。世上所有電腦程式都是根據二元數(數字 1 和 0)運作。

下表列出晶片技術的進步及未來發展趨勢。

                                 未來晶片的能力的進展
                                 ********************
+--------------------------+---------+---------+---------+---------+--------+---------+
| 項目/年份                | 1997    | 1999    | 2001    | 2003    | 2012   | 2020    |
+--------------------------+---------+---------+---------+---------+--------+---------+
| 特徵大小(微米)         | 0.25    | 0.18    | 0.15    | 0.13    | 0.05   |< 0.00001|
+--------------------------+---------+---------+---------+---------+--------+---------+
| 晶片大小(亳米)         | 200     | 300     | 300     | 300     | 450    |生物/分子|
+--------------------------+---------+---------+---------+---------+--------+---------+
| 最低運行電壓             | 1.8-2.5 | 1.5-1.8 | 1.2-1.5 | 1.2-1.5 | 0.5-0.6| < 0.001 |
+--------------------------+---------+---------+---------+---------+--------+---------+
| 最大功率消耗             | 70      | 90      | 110     | 130     | 175    | 600     |
+--------------------------+---------+---------+---------+---------+--------+---------+
| 運行頻率 (MHz)           | 750     | 1,250   | 1,500   | 2,100   | 10,000 | > 50,000|
+--------------------------+---------+---------+---------+---------+--------+---------+
| DRAM 容量                | 256 MB  | 1 GB    | 2 GB    | 4 GB    | 256 GB | > 1000GB|
+--------------------------+---------+---------+---------+---------+--------+---------+
如你所見,硬件才重要和需要高科技,軟件則人手密集,但所用的科技就比較簡單。

另一方面,世上每國家都會發展軟件。事實上,世上任何一個擁有一部低價電腦的人都可編寫軟件。

像 Oracle,Informix,Sybase,IBM DB2 (Unix) 等資料庫,都是用 "C" 語言寫成,二元檔則是用編譯器產生,這樣便可售給用戶了。Oracle、Sybase、Informix 資料庫是百分百的 C 程式!!

十四年來,人們已在 PostgreSQL 上做了不少事,從頭創造另一個符合 ANSI/ISO SQL 的資料庫系統並不合符常理。在 PostgreSQL 的源程式上加上欠缺的功能或將之加強,之後立刻使用,有很大好處。

據估計,對「互聯網產品」的需求將會以指數級數增長,因為它可維繫一組高質素、低價而龐大數量的使用者及開發人員。不使用「互聯網產品」的國家會錯過這場「全球互聯網革命」而被其他國家大大拋離。這是因為互聯網本身就是世上最大的「軟件公司」,也是大型的軟件「發電機」!


Next Previous Contents