2007年2月15日 星期四

SQLite - 檔案型資料庫

Microsoft AccessWindows 平台下蠻常被使用的檔案型資料庫。之所以說是檔案型,那是因為在 Microsoft Access 裡,每個資料庫就是一個檔案,所以對中小型的應用來說,此種資料庫是最常被拿來應用的。檔案型的資料庫有個好處是備份方便,以及降低系統的負載(比起一般 server-client 架構的資料庫系統)。但是使用 Microsoft Access 其實會有很多潛在的問題...

有甚麼問題?對我來說最大的問題是綁平台以及需要花錢。我希望自己花精力以及時間去學的東西,可以有較長的生命週期(雖然不能奢望學的東西可以用到退休,但至少越長越好吧?),所以我當然希望我學的東西可以不用受到特定廠商的控制。要是明天微軟宣佈不再支援 Microsoft Access ,甚至是在未來的系統移除了對 Microsoft Access 的支援,我該怎麼辦?看看 Visual Basic ...

除了上述的原因,我也看過相關的文章有提到 Microsoft Access 其實只適合小型的運用(沒錯,其實我只用過 Microsoft Access 幾次,可以說根本不熟)...一旦規模大起來了它的效能會遇到瓶頸。而本文的主角(終於來了) SQLite 在效能上倒是非常出色。

SQLite 優點其實很多呢,在這邊挑幾個出來講囉:

  1. 體積小(這裡指的是安裝所需的空間,當然實際的資料庫大小就看你資料的多寡囉)、備份方便。我忘記實際的大小了,但我記得如果只是要在系統上裝上 SQLite 的支援( libsqlite ),只要幾百KB的大小。加上它是檔案型資料庫,備份其實就是把整個檔案備份起來就好了。
  2. 優異的效能。在這邊SQLite 的測試數據。在「需要經常讀取,但是寫入次數不高」的情況下,效能甚至超越了以速度聞名的 MySQL
  3. 眾多語言支援。常見的語言都已經支援了 SQLite ,清單在這
  4. 跨平台。目前主流的作業系統都支援, Mac 甚至在最新的作業系統 Mac OS X Leopard 中讓 SQLite 成為預設的資料庫。

本來我是打算寫個 SQLite 系列教學,順便當作筆記備忘。但是在K完官方文件後,發現其實沒啥好教的,因為安裝十分簡單(只要一行指令)。操作部份 SQLite 官方也提供了很清楚簡單的教學,該有的重點都寫在上面了,所以就不重新發明輪子了。也許之後將 SQLite 較具特色或是需要注意的地方補充上來。

最後附上圖形介面的 SQLite 管理程式的連結: SQLite Database Browser

意見:

謝謝您的介紹。