1. 程式人生 > >輕量級數據庫簡介

輕量級數據庫簡介

image 關系 一個數據庫 角度 觸發器 off fire 比較 rmi

數據存儲是工程中至關重要的一環。數據庫大家族可謂是百花齊放、百家爭鳴,如內存型數據存儲、非關系型數據庫、關系型數據庫、圖數據庫等。

ACCESS

Microsoft Office Access是由微軟發布的關系數據庫管理系統。它結合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office 的系統程序之一。
Microsoft Office Access是微軟把數據庫引擎的圖形用戶界面和軟件開發工具結合在一起的一個數據庫管理系統。它是微軟OFFICE的一個成員, 在包括專業版和更高版本的office版本裏面被單獨出售。2012年12月4日,最新的微軟Office Access 2016在微軟Office 2016裏發布,微軟Office Access 2013 是前一個版本。

MS ACCESS以它自己的格式將數據存儲在基於Access Jet的數據庫引擎裏。它還可以直接導入或者鏈接數據(這些數據存儲在其他應用程序和數據庫)。

Berkeley DB

Berkeley DB是一個純Java的開源的文件數據庫,介於關系數據庫與內存數據庫之間,使用方式與內存數據庫類似,它提供的是一系列直接訪問數據庫的函數,而不是像關系數據庫那樣需要網絡通訊、SQL解析等步驟。

爬蟲框架WebCollector就用到了BerkeleyDB。

PostgreSQL

PostgreSQL跟MySQL更像,因為它是一種中型的關系型數據庫。
PostgreSQL是以加州大學伯克利分校計算機系開發的 POSTGRES,現在已經更名為PostgreSQL,版本 4.2為基礎的對象關系型數據庫管理系統(ORDBMS)。PostgreSQL支持大部分 SQL標準並且提供了許多其他現代特性:復雜查詢、外鍵、觸發器、視圖、事務完整性、MVCC。同樣,PostgreSQL 可以用許多方法擴展,比如, 通過增加新的數據類型、函數、操作符、聚集函數、索引。免費使用、修改、和分發 PostgreSQL,不管是私用、商用、還是學術研究使用。

伯克利大學數據庫有點強。

HSQLDB

相當於Java版的Sqlite,Sqlite是C++語言實現的。
因為基於Java,HSQLDB天生跨平臺。

DB4O

面向對象數據庫,支持Java和.Net兩個平臺。
面向關系型數據庫天生的弊病:ORM映射啰嗦費事。
DB4O是NoSQL的一種。

Neo4j

Neo4j是一個高性能的,NOSQL圖形數據庫,它將結構化數據存儲在網絡上而不是表中。它是一個嵌入式的、基於磁盤的、具備完全的事務特性的Java持久化引擎,但是它將結構化數據存儲在網絡(從數學角度叫做圖)上而不是表中。Neo4j也可以被看作是一個高性能的圖引擎,該引擎具有成熟數據庫的所有特性。程序員工作在一個面向對象的、靈活的網絡結構下而不是嚴格、靜態的表中——但是他們可以享受到具備完全的事務特性、企業級的數據庫的所有好處。

Derby

Apache出版的純Java內存數據庫,關系型數據庫,完全支持JDBC。
Derby的生命歷程比較曲折。
Apache Derby 項目的目標是構建一個完全用 Java 編程語言編寫的、易於使用卻適合大多數應用程序的開放源碼數據庫。可以想像,開發一個數據庫並不簡單,Apache Derby 數據庫也不例外(因為它是個開放源碼軟件,所以您可以自行查看它)。但是 Derby 項目並不是從零開始的。回到 1996 年,一個叫做 Cloudscape, Inc 的新公司成立了,公司的目標是構建一個用 Java 語言編寫的數據庫服務器。公司的第一個發行版在一年之後推出,後來產品的名稱變成 Cloudscape。1999 年,Cloudscape, Inc. 被大型數據庫廠商 Informix Software, Inc. 收購。
Informix Software 在 2001 年又被 IBM 收購,然後 IBM Cloudscape? 數據庫系統在許多 IBM 的產品中被用作內嵌的數據庫引擎。2004 年 4 月,IBM 把 Cloudscape 數據庫軟件贈送給 Apache 軟件基金會,從此 Apache Derby 項目誕生了。
這時,Cloudscape 數據庫幾乎已經有了 50 萬行 Java 代碼,所以花了一些時間才正確地把它轉換成 Apache Derby 項目。經過孵化期之後,Derby 於 2005 年 7 月正式發布。所以雖然看起來像是新事物,但是 Derby 背後已經開發了幾乎十年了。

Firebird

歷史悠久,關系型數據庫,C++編寫。

Sybase asa

美國Sybase公司研制的一種關系型數據庫系統,是一種典型的UNIX或WindowsNT平臺上客戶機/服務器環境下的大型數據庫系統。 Sybase提供了一套應用程序編程接口和庫,可以與非Sybase數據源及服務器集成,允許在多個數據庫之間復制數據,適於創建多層應用。系統具有完備的觸發器、存儲過程、規則以及完整性定義,支持優化查詢,具有較好的數據安全性。

H2

H2的特點包括:

  • 超級快的速度,開源,JDBC語法
  • 嵌入式服務模式,可作為內存數據庫
  • 基於瀏覽器的控制臺界面
  • 很小,jar包只有1.5M

下圖是H2和其它數據庫的對比情況
技術分享圖片

參考資料

H2官網

拂曉風起-cnblog:Access、SQLite、HSQLDB、Sybase、MySQL、DB4O
http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html

輕量級數據庫簡介