日期:2014-05-16  浏览次数:20526 次

H2数据库——我真的用到所谓生产环境了——请让我慢慢相信你。

项目不大不小——放到一般企业肯定没那么多钱,放在政府里,几十“米”也不算多——都说Java比PHP运行快多了,但真正互联网项目我是不打算用Java的,而这个项目也就百十个用户使用,配个IBM 3650也对得起它了,用groovy不会有性能瓶颈吧?。

?

Well,回到正题——5506的Intel至强CPU, 4G的内存,146G1.5w HD,除了Tomcat6.x Apache2.2 H2.1.3x三个应用层的服务器,几乎没其他什么应用了。用cron每周重启三个服务一次。

?

在开发环境(T2370笔记本)中性能不错,解析Excel并批量插入2000条数据(50列左右)也就2、3秒,ab下分页查询(1-2w记录的表),勉强达到20 requests/second,等过段时间在服务器中-n几百万次试试,别短时间高负荷的数据库操作挂了。

?

因为业务需求不太复杂,只是用到数据库,少量表组合查询(试图),基本索引,批处理等功能,H2 tcp mode + c3p0连接池——不过查了半天,没看到h2有设置最大链接数的参数,那我只要加大其内存开销了,1.5G。

?

关注H2数据库的童鞋敬请等待偶慢慢加数据和维护日志摘要——其实俺也备用了Mysql(需要修改少许程序),不过请让我慢慢相信你。。。

11 楼 windlike 2010-09-26  
其实我早都用到生产环境上了
12 楼 key232323 2010-09-26  
jiage17 写道
用H2数据库时,如果第一次是在Administator下应用的,当转换到其他域名下却不可以了
不知道为什么,楼主能分析下吗


请将你的具体情况描述一下呵

论坛里的朋友应该都可以帮下忙滴
13 楼 whking2003 2010-09-26  
难道是hsql 2.0?
14 楼 key232323 2010-09-28  
借此地问一个问题

H2查询出来的列名都是默认大写的,有没有参数设置成小写???

莫非偶要自己再编译下source...

修改下
org.h2.jdbc.JdbcResultSetMetaData

getColumnName/Label方法,ant下就可以了。。。
15 楼 jitabc 2010-09-28  
H2的全文检索还是很强滴。。。
16 楼 myreligion 2010-09-28  
H2用来缓存数据,放临时表还行,如果数据需要持久化,还是Mysql吧?程序出点问题,OOM一下,数据可就全没了。
17 楼 key232323 2010-09-29  
myreligion 写道
H2用来缓存数据,放临时表还行,如果数据需要持久化,还是Mysql吧?程序出点问题,OOM一下,数据可就全没了。


TCP mode下,不是这样子的吧,我再仔细看看文档。

In addition to that, running out of memory should be avoided. In older versions, OutOfMemory errors while using the database could corrupt a databases.

H2单独一个进程,Web Server单独一个进程 web server 的 oom 不会影响 H2的。。。
18 楼 zzsczz 2010-09-29  
如果是商业应用,demo版本还是可以用h2的 ,   开发和测试都很方便,维护的功能和性能调优需要额外的代价,毕竟维护工作以及商业数据库也不是免费的。

如果要从h2升级到其他数据库 ,关于数据的导入和导出 ,h2自己带工具(导出到csv )   ,  或者使用etl工具  。如果使用ORM作为访问工具,ORM自带数据迁移工具就更好了。
19 楼 Xorcerer 2010-10-07  
linkerlin 写道
H2?
啥东西的缩写?


就叫H2。

http://www.h2database.com/html/main.html
20 楼 elmar 2010-10-08  
[quote="yidwo"]
[quote="key232323"]
——都说Java比PHP运行快多了,但真正互联网项目我是不打算用Java的,而这个项目也就百十个用户使用,配个IBM 3650也对得起它了,用groovy不会有性能瓶颈吧?。



java比PHP运行快多了??????



PHP这个连connection pool都没有的玩意,谁比php还慢那是乌龟。
21 楼 huangtiancheng 2010-10-12  
elmar 写道
[quote="yidwo"]
[quote="key232323"]
——都说Java比PHP运行快多了,但真正互联网项目我是不打算用Java的,而这个项目也就百十个用户使用,配个IBM 3650也对得起它了,用groovy不会有性能瓶颈吧?。



ja