我正在为我的应用程序启动数据存储服务。MongoDB 作为存储机制运行,我创建了 2 个分片来启动。
应用程序将存储事件数据,所有数据的结构如下:
{
_id: '4fa2f7e25626cd1374000002',
created_at: '2012-05-03T21:25:54 00:00',
name: 'client_session_connect',
session_remote_id: '74ACF9AA-9E09-11E1-8C9E-8462380DA5E6',
zone_id: '74ACF9AA-9E09-11E1-8C9E-1231380DA5E6',
additional: {
some_other_key: 'value'
}
}
事件将有多种名称,任何新事件都可以随时使用新事件名称创建。系统中会有很多同名的事件。_id、created_at 和 name 将成为每个事件的一部分,但不保证其他值。
根据我所阅读的内容(此处和此处),似乎最好的分片键是 { name: 1, created_at: 1 }。我的解释是否正确?