Hadoop是用作键值存储的好候选吗? 问题:
Hadoop是以下用例的一个很好的候选者:Hadoop是用作键值存储的好候选吗? 问题:,hadoop,key-value-store,Hadoop,Key Value Store,Hadoop是以下用例的一个很好的候选者: 简单键值存储(主要需要按键获取和设置) 非常小的“行”(32字节键值对) 大量删除 繁重的文字 大约1亿到10亿个键值对 大多数数据可以包含在SSD(固态驱动器)上,而不是RAM中 更多信息 我之所以问这个问题,是因为我一直在看Hadoop文件系统的引用,以及如何使用Hadoop作为许多其他数据库实现的基础,而这些数据库实现不一定是为MapReduce设计的。 目前,我们正在Redis中存储这些数据。Redis的性能非常好,但由于它的所有数据都包含
- 简单键值存储(主要需要按键
和获取
)设置
- 非常小的“行”(32字节键值对)
- 大量删除
- 繁重的文字
- 大约1亿到10亿个键值对
- 大多数数据可以包含在SSD(固态驱动器)上,而不是RAM中
- HBase将适合于大量写入,但不适合大量删除
- Cassandra也写了同样的故事,但写得不如HBase快
- Accumulo可能对非常频繁的更新有用,但也会吸收删除
顺便说一句:从上述任何数据库的表中删除大量行的推荐方法是完全删除该表。如果你能将你的设计融入到这个范例中,任何一个都可以。虽然这不是对你问题的回答,但与你所说的有关 最好改用依赖SSD的系统。这边 我们可以自由地构建更大的哈希表 你可以考虑看一下。 特别是作为一名Cassandra用户,我知道当你说
是压缩和墓碑问题时
。我自己在遇到异常的时候也曾遇到过几次墓碑,并陷入了死胡同
你可能想看看这个
它说:
Memcached都在内存中,所以您需要将所有数据压缩到内存中
记忆能够服务于它(这可能是一个昂贵的提议)
如果生成的数据集很大)
最后
我们所做的只是将整个数据集映射到进程地址中
空间和访问它那里。这提供了最低的缓存开销
可能,并利用中非常高效的查找结构
操作系统
我不知道这是否适合你的情况。但你可以考虑评估Voldemort一次!祝你好运。我想这很好地回答了我的问题。它的压实和墓碑是一个问题。我知道卡桑德拉和阿库穆洛应该有同样的限制。我要去迪纳摩,非常感谢你的指点。我不相信“删除整个表”范例适用于这个用例(巨大的散列索引表)。