mongodb分片的分片

时间:2015-04-24 17:08:47

标签: mongodb sharding

目前我运行mongodb replicaset,这个db增长得太快了。 我的收藏是一个名为Reading with metering_point_id,timestamp,power和energy,其中metering_point_id是智能电表的id。

每秒智能电表都会向mongodb发送一条新记录。智能电表的数量也在增长。

我需要一个可扩展的mongodb基础架构。 我认为使用mongodb分片是可能的。 我的理想情况可能看起来像。

  • shard1 metering_point_id从1到100
    • 从2013年开始到2013年底的subshard2013时间戳
    • 2014年开始至2014年底的subshard2014时间戳
    • ......等等
  • shard2 metering_point_id从101到200
    • 从2013年开始到2013年底的subshard2013时间戳
    • 2014年开始至2014年底的subshard2014时间戳
    • ......等等
  • ......等等

像这样:https://www.lucidchart.com/invitations/accept/1533835d-05ce-4d5d-b719-fe94b4f84db6

这可能与mongodb有关吗?这个子分片的东西?

非常感谢。

1 个答案:

答案 0 :(得分:0)

如果分片中的严格层次结构不重要,则可以使用复合分片键来分割数据。您可以使用以下命令创建复合分片键

sh.shardCollection("<smartmeter_db>", {"metering_point_id" : 1, "timestamp" : 1})