Posted on 2012-07-20 16:55
點點滴滴 閱讀(471)
評論(0) 編輯 收藏 引用 所屬分類:
10 服務器
4.5 H2 Database
h2是Thomas Mueller提供的一個開源的、純java實現的關系數據庫,官方網站:http://www.h2database.com/html/main.html。
它的主要特性是:
- 非常速的數據庫引擎
- 開源、免費數據庫
- 支持 JDBC和ODBC API,支持SQL
- 支持嵌入式,服務器和集群模式。支持內存數據庫。
- 提供基于瀏覽器的管理控制臺
- 整個應用本身只有1MB左右。
其他特性還包括
- 基于磁盤或內存的數據庫、表,支持只讀數據庫、臨時表。
- 兩段式事務支持
- 支持多個連接。表級別的鎖。
- 基于成本的優化,為復雜查詢使用遺傳算法,零管理。
- 滾動的、可修改的result set支持。支持大結果集、外部結果排序。
- 加密數據庫(AES或XTEA),SHA-256密碼加密。
性能比較(摘自h2database網站)

嵌入模式下H2的性能比較
Test Case |
Unit |
H2 |
HSQLDB |
Derby |
Simple: Init |
ms |
610 |
657 |
3187 |
Simple: Query (random) |
ms |
297 |
312 |
1828 |
Simple: Query (sequential) |
ms |
203 |
266 |
1766 |
Simple: Update (random) |
ms |
1078 |
1484 |
22031 |
Simple: Delete (sequential) |
ms |
234 |
281 |
7407 |
Simple: Memory Usage |
MB |
6 |
7 |
11 |
BenchA: Init |
ms |
859 |
438 |
4047 |
BenchA: Transactions |
ms |
5266 |
2875 |
17500 |
BenchA: Memory Usage |
MB |
9 |
14 |
10 |
BenchB: Init |
ms |
4016 |
2687 |
16875 |
BenchB: Transactions |
ms |
2609 |
3282 |
4250 |
BenchB: Memory Usage |
MB |
9 |
10 |
8 |
BenchC: Init |
ms |
891 |
594 |
5766 |
BenchC: Transactions |
ms |
4359 |
75438 |
11718 |
BenchC: Memory Usage |
MB |
9 |
18 |
9 |
Executed statements |
# |
594255 |
594255 |
594255 |
Total time |
ms |
20422 |
88314 |
96375 |
Statements per second |
# |
29098 |
6728 |
6166 |
.Net使用H2
-
- 嵌入式應用。有一個項目在為.Net使用H2,使用CLI重新編譯H2。還沒有深入關注。
- ODBC。但性能一般。
4.5 其他內存數據庫
包括Derby, HSQLDB等
(JavaEye對字數的限制,請見下一章 5 內存數據庫之比較)