与同事进行架构讨论,我们需要为此找到答案。给定一组数百万个数据点,如下所示:
data =
[{
"v" : 1.44,
"tags" : {
"account" : {
"v" : "1055",
"name" : "Circle K"
}
"region" : "IL-East"
}
}, {
"v" : 2.25,
"tags" : {
"account" : {
"v" : "1055",
"name" : "Circle K"
}
"region" : "IL-West"
}
}]
并且我们需要查询标签集合中的字段(例如,其中 account.name == "Circle K"),将帐户字段标准化为以下是否有任何速度优势:
accounts =
[{
_id : 507f1f77bcf86cd799439011,
v: "1055",
name : "Circle K"
}]
data =
[{
"v" : 1.44,
"tags" : {
"account" : 507f1f77bcf86cd799439011
"region" : "IL-East"
}
}, {
"v" : 2.25,
"tags" : {
"account" : 507f1f77bcf86cd799439011
"region" : "IL-West"
}
}]
我怀疑我必须为此构建 2 个 db,然后看看速度如何。问题是,mongo 是否更擅长查询 BSON ID 与字符串?有问题的数据库将是大约 1:10 的写入与读取。