为非关系数据分配大数据存储

时间:2019-03-02 20:51:58

标签: mongodb bigdata non-relational-database

问题包括相对较小的大小(大约1KB)的大量(每天约5亿个)非关系消息。消息被写入一次,并且永远不会被修改。消息具有各种结构,尽管消息必须符合某些模式。然后必须使用此数据在它们上进行搜索。搜索可以在消息的任何字段上进行,唯一始终存在的字段是日期,因此将在特定日期进行搜索。

到目前为止,我提出的方法是使用MongoDB。每天我都会创建几个集合(大约2000年),并根据模式将消息白天分发给这些集合。我发现这些模式很重要,因为我将索引数量限制为64个。

此策略每天产生500G of data + 150G of indexes = 650G。当然,这里的问题是如何分配这些数据?显而易见的解决方案是使用Mongo Sharding并将集合分布到各个分片上。但是,我在mongo手册中找不到与我的问题接近的任何情况。而且,我什至不确定我是否可以每天动态(不手动)向碎片添加新集合。广大用户有什么知识/建议吗?我应该改变设计吗?

0 个答案:

没有答案