我正在使用MongoDB存储定义监控/日志记录应用程序的数据模型。由于我是MongoDB的新手,我很感激你的一些建议。
应用程序写道:
我有10'000个记录器,对于我有的每个记录器:
数据量为:
应用程序的内容如下:
平均:
我的问题:
我考虑了以下数据模型:
您可以自由地提出其他数据模型
答案 0 :(得分:1)
你的第四个选项听起来不错。不用担心集合有多大,您只需要确保选择了正确的分片键。
在这种情况下选择好的分片的关键取决于实际找到消息的方式。你有一个消息ID和读取它们的外部应用程序只是查询id吗?或者您正在对邮件进行全文搜索?外部应用程序是否知道记录器和放大器消息创建的日期时间?
考虑:
不要担心为静态数据设置单独的集合。
就像我说的,设计这个的关键是澄清外部系统如何确切地找到日志消息。