[英]Solr schema design: fitting time-series data
我試圖在Solr中使用以下數據來支持靈活的查詢,並希望得到相同的輸入。 我有關於用戶的數據說:
contentID (assume uuid),
platform (eg. website, mobile etc),
softwareVersion (eg. sw1.1, sw2.5, ..etc),
regionId (eg. us144, uk123, etc..)
....
還有更多其他這樣的領域。 此數據部分預先聚合(讀取Hadoop作業):因此我們假設“contentID = uuid123和platform = mobile和softwareVersion = sw1.2和regionId = ANY”我的數據格式為:
timestamp pre-aggregated data [ uniques, total]
Jan 15 [ 12, 4]
Jan 14 [ 4, 3]
Jan 13 [ 8, 7]
... ...
然后我也有更少的粒度數據說“contentID = uuid123和platform = mobile和softwareVersion = ANY和regionId = ANY(由於粒度減少,這些值將超過上表)
timestamp : pre-aggregated data [uniques, total]
Jan 15 [ 100, 40]
Jan 14 [ 45, 30]
... ...
我將獲得諸如“contentID = uuid123 and platform = mobile”之類的查詢,給出1月15日至1月13日的“唯一性”和“contentID = uuid123和platform = mobile和softwareVersion = sw1.2”的總和,給出“總數”的總和1月15日至1月01日。
我在考慮簡單的架構,文檔就像(上面的第一個例子):
{
"contentID": "uuid12349789",
"platform" : "mobile",
"softwareVersion": "sw1.2",
"regionId": "ANY",
"ts" : "2017-01-15T01:01:21Z",
"unique": 12,
"total": 4
}
上面的第二個例子:
{
"contentID": "uuid12349789",
"platform" : "mobile",
"softwareVersion": "ANY",
"regionId": "ANY",
"ts" : "2017-01-15T01:01:21Z",
"unique": 100,
"total": 40
}
可能的優化:
{
"contentID": "uuid12349789",
"platform.mobile.softwareVersion.sw1.2.region.us12" : {
"unique": 12,
"total": 4
},
"platform.mobile.softwareVersion.sw1.2.region.ANY" : {
"unique": 100,
"total": 40
},
"ts" : "2017-01-15T01:01:21Z"
}
挑戰:這些行的數量非常大,並且它會隨着每個新字段呈指數級增長 - 例如,如果我使用上面建議的模式,我將最終為contentID,platform,softwareVersion,regionId的每個組合存儲一個新文檔。 現在,如果我們向該文檔引入另一個字段,組合數量將呈指數級增長。我已經擁有超過10億個這樣的組合行。
我希望能找到專家的建議
這些行的數量非常大,肯定超過10億(如果我們采用我建議的模式)。 您會建議哪種架構適合查詢要求?
僅供參考:所有查詢都與字段完全匹配(無部分或標記化),因此不需要對字段進行分析。 幾乎所有查詢都是范圍查詢。
您正在嘗試存儲所有可能的屬性值組合的查詢時間結果。 多數數據太多了。 而是將每個觀察和屬性存儲為單個數據點一次。 因此,如果你有'n'觀察結果並且如果你添加了一個額外的屬性,它將會成倍增加,而不是指數增長。 如果您需要某些屬性組合的數據,則可以在查詢時過濾/聚合它們。
{
"contentID": "uuid12349789",
"ts" : "2017-01-15T01:01:21Z",
"observation": 10001,
"attr-platform" : "mobile",
"attr-softwareVersion": "sw1.2",
"attr-regionId": "US",
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.