2012-03-23 54 views
5

我需要存储大概2.5亿条String - > String映射的记录,并且数据库似乎对这类事情有过载。创建我自己的基于文本的数据存储

我无法将它存储在内存中,因为它将耗尽堆空间。我可以扩大堆空间,但我不想这样做。

我希望尽可能快地访问,以便尽可能获得单个映射,并希望了解实现此目的的最佳方法。

最初的字符串是唯一的,我将通过搜索。我也知道字符串长度的范围,但它的映射值可以是任意长度。

是否有可能获得与搜索数据库一样快的内容?我猜不是,但只是想确定。

我正在使用Java,但我认为这将是独立于语言的。

+7

对于2.5亿条记录,数据库看起来不像'过载'。我会用db – franka 2012-03-23 14:27:56

+0

你知道,只要将数据从内存移动到文件,速度将会降低几个数量级,对吧? – dasblinkenlight 2012-03-23 14:28:12

+1

当数据库超载时,你认为你可以在纯文件系统中处理它吗? – kosa 2012-03-23 14:28:49

回答

1

难道你不能使用像Voldemort,CouchDB或Cassandra这样已经存在的键值存储吗?有很多现有的项目,为什么写一个新的项目?

+0

这应该可能是一个评论,而不是一个答案。 – David 2012-03-23 14:33:06

+0

嗯,这是一个答案 - 软件已经存在,去使用它。 – 2012-03-23 14:34:51

相关问题