H2數據庫引擎研究導言

  有好長一段時間沒有寫博客了,最近這段時間覺得自己的Java基礎不是很紮實,所以又重新撿起《Think in Java》這本來看了。Java高級特性更是接觸得少,如網絡編程,多線程編程等,所以最近就想開始學習這些內容,已經看了一段時間,以前就有看一些好的開源軟件源代碼的想法,也陸陸續續看了一些,但都沒堅持下來,這次要下定決心好好看一個軟件的源代碼,數據庫的一些高級特性和優化方面也涉及的很少,最近也想好好學習學習,所以由於以上一些想法就產生了研究一個java編寫的數據庫的想法。

  Java編寫的數據庫有不少,有Deby,H2sdb和H2等等數據庫,選擇一個合適的數據庫深入研究一下非常有必要,它必須具備以下特性。

1.不能太龐大,必須小巧精悍,易於閱讀代碼。

2.使用Java代碼編寫,而且代碼質量高,具有較高的可借鑑性。

3.具有比較完備的數據庫特性,如支client/server連接,能夠支持標準的SQL語句,支持存儲過程等。

4.具有良好的性能。

  根據這些特點最終選擇了H2,其實任何一個能夠被大量應用和廣泛使用的軟件都應該非常不錯,Deby,H2sdb也是非常不錯的數據庫,但是任何東西都是隻有最適合的,沒有最好的,H2可以用於學習、小型應用中,但是企業級的實際生成中我暫時是不敢使用H2的,可是隨着以後的發展誰也不好說,而且最近springside 3.2.1也將它演示和測試用的數據庫改成了H2,看來H2已經得到了很多開源人示的支持。

  如下是它官網上的性能比較,通過這些比較你就能看出它與其它的數據庫相比,可以得出結論:它是在開源數據庫中一個支持的特性最多,體積最小而且是純Java編寫數據庫,這正是我所需要的。It's a best choice for me!

 

 

H2

Derby

HSQLDB

MySQL

PostgreSQL

Pure Java(純JAVA編寫)

Yes

Yes

Yes

No

No

Memory Mode(內存模式)

Yes

Yes

Yes

No

No

Transaction Isolation(事隔離)

Yes

Yes

No

Yes

Yes

Cost Based Optimizer(基於成本優化器)

Yes

Yes

No

Yes

Yes

Encrypted Database(加密數據庫)

Yes

Yes

No

No

No

ODBC Driver

Yes

No

No

Yes

Yes

Fulltext Search(全文檢索)

Yes

No

No

Yes

Yes

Multi Version Concurrency(多版本併發控制

Yes

No

No

No

Yes

Footprint (jar/dll size)(體積)

~1 MB

~2 MB

~600 KB

~4 MB

~6 MB

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章