|
4.5 H2 Database h2是Thomas Mueller提供的一個開源的、純java實現(xiàn)的關(guān)系數(shù)據(jù)庫,官方網(wǎng)站:http://www./html/main.html。 它的主要特性是: - 非常速的數(shù)據(jù)庫引擎
- 開源、免費數(shù)據(jù)庫
- 支持 JDBC和ODBC API,支持SQL
- 支持嵌入式,服務(wù)器和集群模式。支持內(nèi)存數(shù)據(jù)庫。
- 提供基于瀏覽器的管理控制臺
- 整個應(yīng)用本身只有1MB左右。
其他特性還包括 - 基于磁盤或內(nèi)存的數(shù)據(jù)庫、表,支持只讀數(shù)據(jù)庫、臨時表。
- 兩段式事務(wù)支持
- 支持多個連接。表級別的鎖。
- 基于成本的優(yōu)化,為復(fù)雜查詢使用遺傳算法,零管理。
- 滾動的、可修改的result set支持。支持大結(jié)果集、外部結(jié)果排序。
- 加密數(shù)據(jù)庫(AES或XTEA),SHA-256密碼加密。
性能比較(摘自h2database網(wǎng)站) 
嵌入模式下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-
- 嵌入式應(yīng)用。有一個項目在為.Net使用H2,使用CLI重新編譯H2。還沒有深入關(guān)注。
- ODBC。但性能一般。
4.5 其他內(nèi)存數(shù)據(jù)庫包括Derby, HSQLDB等 (JavaEye對字數(shù)的限制,請見下一章 5 內(nèi)存數(shù)據(jù)庫之比較)
|