存储具有快速读取(慢速写入),能够存储大量记录

时间:2010-07-17 17:59:37

标签: storage performance

我正在为许多长字符串搜索快速键值\结构化存储。我很少(而且完全)更新它们。

我(将)在MongoDB中存储一些经常更新的数据(如用户等);作为运行时更新小数据库(用于聊天)我('我要去)使用Redis(很可惜,AFAIK,没有能力存储不在内存中的数据)。

为什么我不将它存储在MongoDB中?好吧,我是优化 - 疯子:),所以,当我发现时,MySQL在简单的键值读取方面比MongoDB更快(从一些文章;也有人说MongoDB是为非常快的写入而设计的,而不是读取)我有点失望。

那么,快速读取存储可以存储大量信息呢。

此外,它是一个C ++项目。

PS:将它存储为文件怎么样?如果真的有很多记录怎么办?

2 个答案:

答案 0 :(得分:1)

您可能想尝试一下这个新的KV商店,它似乎比其他商店快得多(Memcached,Redis,Tokyo Cabinet等):

http://forum.gwan.com/index.php?p=/discussion/166/g-wan-keyvalue-store-tokyo-cabinet-redis-memcached-databases/p1

------ WRITE ------- READ(在一百万个条目中搜索一个密钥)

... TC ...... 0.52885 0.34745

KV ... 0.01000 ...... 0.00400(所有时间均为秒)

他们的KV在10毫秒内存储了100万个条目。

答案 1 :(得分:0)

您是否尝试使用MongoDB对可能在大字符串上执行的活动进行基准测试?如果没有事先进行一些测试我就不会写 - 更好地尝试一下,而不是去实现你自己的存储策略,导致数据源之间断开连接。

您的C ++项目的要点是什么?你真的需要前沿性能吗?现在写,优化以后是最好的策略恕我直言 - 你可以浪费大量时间编写“最佳代码”,这对于应用程序的性能影响很小或没有影响。