5.内存数据库之比较
上述内存数据库,首先由于License限制,排除了所有的商业数据库产品包括:
Alitibase
Oralce Berkelay DB
Oracle TimesTen
eXtrmeDB
还包括 Berkelay DB这样的开源,但限制商业使用的数据库。
所以比较的重点就是SQLite和H2
方面 | 具体要求 | 必要条件 | SQLite | H2 |
License | 是否收费 |
| 免费使用 | 免费使用 |
是否开源 |
| 开源 | 开源 | |
是否有技术支持 |
| 主要是社区支持,如果需要专业支持需要购买 | 主要是社区支持,如果需要专业支持需要购买 | |
商业目的的分发版本是否仍要收费 | 是 | 免费 | 免费 | |
其他 |
|
|
| |
性能 | 数据容量支持100000条以上记录 | 是 | 支持 | 支持 |
并发查询处理能力 |
| SQLite在并发(包括多进程和多线程)读写方面的性能一直不太理想。数据库可能会被写操作独占,从而导致其它读写操作阻塞或出错。 | 并发性较好(在模拟器中有使用,支持50个并发查询没问题) | |
查询速度 | 是 |
| 数据量少的情况非常好 | |
修改速度 | 是 |
|
| |
平台支持 | 32/64位 |
| 全部支持 | 全部支持(需java平台支持) |
Linux/window/UNIX/mobile |
| 支持Linux/Mac OS/Windows | 全部支持(需java平台支持) | |
运行方式支持 | 支持嵌入式 |
| 支持 | 支持 |
支持独立运行 |
| 不支持 | 支持 | |
连接方式支持 | 支持ODBC |
| 不支持 | 支持 |
支持JDBC |
| 必须通过第三方的JDBC驱动 | 支持 | |
支持内存访问 |
| 通过c接口(专用API) | 通过JDBC,不支持API访问 | |
支持网络访问 |
| 不支持 | 支持 | |
SQL支持 | 支持SQL | 是 | 支持 | 支持 |
支持Index,Trigger, Constrains,Views |
| 支持,有资料说其不支持外键约束。 | 支持 | |
管理界面 | 支持管理界面 |
| 支持CLI | 支持Web界面的管理控制台 |
管理界面友好程度 |
| 较差 | 较好 |