这是我的问题。我有50个城市(a,b,....),每个城市最多包含4000个地址(a1,a2,...或b1,b2,...),每个地址都包含一个10.000的列表-40.000 timeseries-data's。
什么是存储/查询这些数据的最有效方式 这是我的想法:
{'a': city1,
'a1': {
'name': 'name1',
'...': ....,
....
'list': [{ here are 10.000-40.000 timeseries datasets}]
}
'a2': {
'name': 'name2',
'...': ....,
....
'list': [{ here are 10.000-40.000 timeseries datasets}]
}
....
....
}
{'b': city2,
'b1': {
'name': 'name2',
'...': ....,
....
'list': [{ here are 10.000-40.000 timeseries datasets}]
}
...
...
}
....
....
或者最好将城市和地址一起存储在一个地方,将所有时间序列数据集存储在另一个地方(用一些键来标识地址和城市)。或者你还有其他好主意吗? 对于所有地址和所有城市,大多数查询都会关注(sry - >英语不好?)TimeSeries - 数据集(500到1500)。
一点点数学:50个城市* 4000个地址*(10.000到40.000个数据集)= 2.000.000.000到8.000.000.000个条目 - >所以我们可能会对数据库进行分片(在我的例子中,分片键将是城市)。
我们正在使用python和pymongo来访问数据库。