处理大量写入和水平缩放

时间:2014-02-06 08:45:55

标签: mongodb bigdata nosql

首先让我解释一下我们的数据:

现在我们正在使用 mongodb ,并且有一个包含10个字段和一个复合索引的集合会遭受大量写入而没有那么多读取

我们对mongodb的经验是什么:

因为我们在1000条记录的中编写数据,并且mongodb启用了以块为单位写入数据的功能,所以这会加快一个过程,因此我们能够写出 60k条记录/秒没有索引, 45k记录/ s 带索引。

那么我们的问题是什么?

它不能很好地扩展水平。 Mongodb具有分片功能,但问题在于它有利于阅读以及是否有非常大的数据。因为我们将从集合中删除旧数据,这不是我们的主要问题,但写入是,并且分片实际上减慢了进程,因为我们可以看到因为你不能写入块(对于每个记录mongos必须决定放入哪个分片) )。实际上,即使我们制作了大约20k /秒并且具有水平刻度来进行写入也是好的,但是你在群集编写中使用的碎片越来越慢,因此解决方案并不多(我们可以看到)。

我的问题:

  1. 有没有办法让mongo分片能够很好地适应我们的场景?也许以某种方式告诉mongos将块(1000条记录)放入一个碎片中。也许这会给我们横向比例?

  2. 您对我们的问题建议了哪些其他NoSql数据库?

  3. 欢迎其他一些评论/解决方案。

1 个答案:

答案 0 :(得分:0)

回答#2

你可以看看Riak。所有节点都是相同的,没有中央服务器,这意味着它可以非常好地水平扩展。您可以并行地向每个riak节点写入不同的信息位,这样可以提高写入速度。如果你的riak集群不够快,只需添加更多节点。

http://basho.com/riak/