我应该选择哪个内存数据库? [关闭]

Posted

技术标签:

【中文标题】我应该选择哪个内存数据库? [关闭]【英文标题】:Which in memory database should i choose? [closed] 【发布时间】:2011-10-30 14:36:35 【问题描述】:

我有一个非常大的数据库,大约有 2000 多个表,每个表都有超过 100 万个条目。粗略估计,这个数据库应该有10G以上。我的目标是将所有条目迁移到内存数据库中,我可以在其中大大加快分析速度。 此外,这个内存数据库应该可以免费使用——我没有预算。

这里是内存数据库中可用的列表,根据您的经验,我应该选择哪一个?首选基于 Windows 且对 c# 友好。 http://en.wikipedia.org/wiki/In-memory_database#Products

谢谢。

【问题讨论】:

10G 不是很大。如果您有足够的 RAM 将数据库存储在内存中,那么当您提供足够的缓存来缓存所有内容时,您是否对传统数据库的查询进行了基准测试? 还没有benchmark,实际上数据并没有在数据库中,它们以excel格式和txt格式传播,我会努力整理它们。 【参考方案1】:

我已经用类似的SO question 推荐了 H2 用于不同的语言。

有一个C# mode。

【讨论】:

谢谢,我错误地估计了我的数据库大小,正确的大小应该是 100G 到 1000G。 H2适合这种尺寸吗?那么H2的失败呢?我的意思是,如果我丢失了我的数据或数据不一致,那将是我恢复的时间成本。 嗯,10G 的内存是可以的,但显然您至少需要与数据库相同数量的 RAM,因此您需要 1000G 的 RAM。你有那个配置可用吗?否则,您必须将一些数据存储到磁盘上。 谢谢,我将加载一小部分数据并进行测试。

以上是关于我应该选择哪个内存数据库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我应该使用哪个内存(堆或堆栈)来分配像 100MB 这样的大内存?

哪个内存Db应该用来缓存一个Tree,主要用于读取?

处理大型数据集和内存限制 [关闭]

限制容器的内存使用量与限制容器内JVM进程的内存使用量?哪个更好?

ParserError:标记数据出错。 C错误:内存不足[关闭]

使用java在内存中加载2GB [关闭]