我目前正在实施一个分布式在线机器学习框架。基本上这个系统处理样本的数据流。模型(例如感知器层)将随每个样本更新。
所以,我正在寻找一个可以支持大规模更新和读取单个实体的数据库。我认为 mongodb 及其“就地更新”是一个不错的选择,但也许有一个数据库更适合我的需求。
我目前正在实施一个分布式在线机器学习框架。基本上这个系统处理样本的数据流。模型(例如感知器层)将随每个样本更新。
所以,我正在寻找一个可以支持大规模更新和读取单个实体的数据库。我认为 mongodb 及其“就地更新”是一个不错的选择,但也许有一个数据库更适合我的需求。
我冒昧的回答一下...
我将声明我已经成为 Mongo 的忠实粉丝,所以请考虑到这一点。=)
Mongo 是读取的不错选择,但前提是您愿意让数据稍微不一致。Mongo 有一个叫做副本集的东西,它基本上是一个集群。
副本集只有一台可以接收写入/更新的机器。它可以很好地处理它们,但这是需要考虑的事情。这不是主/主复制设置。
随着写入/更新的到来,它们被复制到副本集中的其他节点。这就是最终一致性的来源。
你可以考虑像 Couchbase/CouchDB 这样的东西,它也有一个集群概念,它是主/主。您可以写入任何节点,它最终将在其他节点上可用。
有些事情要考虑。
编辑:
我会和Mongo一起去。=)