论坛首页 综合技术论坛

关于开源的内存数据库的一个问题

浏览 8529 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (18)
作者 正文
   发表时间:2010-10-10  
开源的内存数据比较多,我尝试了sqlite和hsqldb,它们的内存数据库是在放JVM中的,所以能使用的内存也就受到了JVM的限制,
请问一下有没有哪种开源的内存数据库是和JVM是分开的,这样能够用较大的内存。
谢谢!
   发表时间:2010-10-14  
mysql

创建表的是加 engine=heap,然后把my.cnf文件max_heap_table_size调到你想要的,好比10G?
0 请登录后投票
   发表时间:2010-10-14   最后修改:2010-10-14
简单切换到64bit系统上不就结了,能把64位寻址空间用尽的程序好像还没诞生呢(除非是bug)
0 请登录后投票
   发表时间:2010-10-14  
只要你使用Java开发的内存数据库,那么就会遇到JVM内存大小限制,而且还有GC的问题。Ehcache最新版好像专门解决了这个问题。不过这个是Cache,不是数据库。
如果你要用一个非常大的内存空间进行数据库处理,建议使用在虚拟机之外运行的内存数据库。
0 请登录后投票
   发表时间:2010-10-17  
数据不大的话,用mysql或oracle,都用内存表。
0 请登录后投票
   发表时间:2010-10-19  
oracle就有相关的解决方案
0 请登录后投票
   发表时间:2010-10-23  
在jvm中为什么不行?一样是程序啊,内存参数调大不就行了。我在生产环境下给hsqldb开到16G!
0 请登录后投票
   发表时间:2010-10-25  
diggywang 写道
在jvm中为什么不行?一样是程序啊,内存参数调大不就行了。我在生产环境下给hsqldb开到16G!

你确实可以开得很大。但是别忘了,JVM有一个全局GC的问题。你开16G空间,整个JVM暂停清理对象收集内存得多少时间。如果时间太长则会造成应用整个阻塞。
0 请登录后投票
   发表时间:2010-10-25  
魔力猫咪 写道
diggywang 写道
在jvm中为什么不行?一样是程序啊,内存参数调大不就行了。我在生产环境下给hsqldb开到16G!

你确实可以开得很大。但是别忘了,JVM有一个全局GC的问题。你开16G空间,整个JVM暂停清理对象收集内存得多少时间。如果时间太长则会造成应用整个阻塞。


GC时间是没考虑过,但从运行状况来看,GC处理还不至于形成系统瓶颈。我是部署在RedHat WebLogic下的,JRockit。

PS:猫咪不搞Glassfish,玩起GC来了?
0 请登录后投票
   发表时间:2010-10-25  
diggywang 写道
魔力猫咪 写道
diggywang 写道
在jvm中为什么不行?一样是程序啊,内存参数调大不就行了。我在生产环境下给hsqldb开到16G!

你确实可以开得很大。但是别忘了,JVM有一个全局GC的问题。你开16G空间,整个JVM暂停清理对象收集内存得多少时间。如果时间太长则会造成应用整个阻塞。


GC时间是没考虑过,但从运行状况来看,GC处理还不至于形成系统瓶颈。我是部署在RedHat WebLogic下的,JRockit。

PS:猫咪不搞Glassfish,玩起GC来了?


考虑GC还是挺重要的。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics