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 内存数据库之比较)
分享到:
相关推荐
常用内存数据库介绍常用内存数据库介绍
常用内存数据库介绍
常用内存数据库介绍.pdf
什么是内存数据库,常用内存数据库,SQLite最佳试用场合,哪些场合适合使用其他的关系型数据库,内存数据库之比较,性能测试
JAVA常用开源内存数据库比较。让你能很轻松地在众多内存数据库中做出最好选择!
实现词法分析和语法分析的内存小容量数据库,主要用于学习编译原理
IT资料 常用软件 内存数据库 jar包
一、内存数据库: 在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递":memory:",如: ...
一、内存数据库: 在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递”:memory:”,如: ...
Informix数据库服务器提供了...onmode 改变方式和共享内存 onparams 修改日志配置参数 onspaces 修改blobspace或Dbspace onstat 监控的运行 ontape 日志登录,archive创建和数据重装 onunload 以页为单位传送二进制数据
一、内存数据库: 在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递”:memory:”,如: ...
h2原版英文资料!h2是基于java的内存数据库,pdf主要是h2数据库功能介绍和说明,常用命令行用法,通脚本操作数据库!备份恢复说明!数据库升级
SQL Server 的.NET 数据... 使用SqlDataAdapter,可以填充驻留在内存中的DataSet可用于查询和更新数据库。本文档包括了常用的数据库接口类,所有字段的说明和示例代码,一份文档足以让你掌握Ado.Net的常用编程技巧。
个人搜集的包括了3大主流数据库的入门介绍,编程指南,常用sql集合等多方面内容。
(7)Aerospike:Aerospike数据库是⼀个键值存储,⽀持混合内存架构,通过强⼀致性和可调⼀致性保证数据的完整性。 3、⽂档数据库:MongoDB、CouchDB、Perservere、Terrastore、RavenDB等,下⾯简单介绍⼏个 (1)...
单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库...
v$lock:查看当前数据库中锁的信息 v$mem_pool:显⽰所有的内存池信息 V$deadlock_histor::记录死锁的历史信息 V$TABLESPACE:显⽰表空间信息,不包括回滚表空间信息 V$TRX:显⽰所有活动事务的信息。通过该视图...
源码通过置入汇编代码并调用一些常用的API函数实现内存微型数据库。易语言内存微型数据库源码可临时保存数据。