【问题标题】:NoSQL storage for a tracing system用于跟踪系统的 NoSQL 存储
【发布时间】:2016-01-24 09:37:01
【问题描述】:
我有一个用例,其中包括一个可以跟踪数据的系统,以解释系统必须拦截每个请求并检查该请求是否已经存在以在主体上执行一些 map/reduce 的情况,它假设是即时的。很抱歉,由于我正在开发的系统的敏感性,我无法详细说明。
我主要关注 NoSql 键/值存储,所以我在考虑 Rocksdb / Riak。我的问题是它适合这个用例还是有更好的选择?
【问题讨论】:
标签:
database
real-time
riak
key-value-store
rocksdb
【解决方案1】:
首先让我们说 Riak 和 Rocksdb 都是键/值存储,但 Riak 用作分布式和高可用性数据库,而 Rocksdb 是嵌入式数据库解决方案。而且它们都不适合实时做map reduce。
在 Hadoop 生态系统中,有一些解决方案可用于实时进行 map reduce:
【解决方案2】:
使用 bitcask 的 Riak 在 IO 概念中可以非常快。如果你想加快这个过程,你可以添加一些缓存层(例如 redis),然后再使用 riak 的密钥。
但是您是否要检查该值是否存在,如果不存在,则由您的站点执行一些 map/reduce 任务,或者它应该是键值存储解决方案的一部分?