在收集基於時間的資料時:有些人出生較晚,有些人遲到,有些人則被強加了遲到。這使得處理“最新”數據變得具有挑戰性。例如,
追蹤資料通常按開始時間索引。持續時間間隔的資料產生較晚,尚無法產生。
在故障或突發的情況下,收集系統的工作速度可能會變慢,從而實現生成資料的延遲。
分散式收集系統可能會
延遲一些數據,從而導致延遲。
收集管道的所有層級 英國 WhatsApp 號碼數據 都會發生延遲。大多數收集管道都是分散式的,延遲到達的資料明顯無序。
遲到是不可避免的,強有力的處理是至關重要的。
同時,出於某些目的,提供可重
複查詢是可取的,而添加最新資料可能會直接與其發生衝突。例如,聚合必須考慮最新資料。
常見策略會根據儲存方式和查詢最新資料的方式進行調整。選擇哪一個既取決於業務邏輯,也取決於技術優勢。
策略:更新
從概念上講,最簡單的方法是用最
新資料更新現有 資料。每項數據,無論多晚,都會根據其時間戳插入。
這可以透過許多資料庫以簡單的方式完成。它可以透過簡單的資料儲存來執行。但任何擴展都是困難的——例如,需要為後期資料 上包含架構標記是幫助搜尋引擎更好地 產生新的資料檔案或分區。不存在可重複性(很晚的資料可能在同一查詢的重複之間到達),並且必須增強、重新處理或刪除任何儲存的聚合。
因此,此方法最適合較小規模的情況。
策略:兩次
雙時態建模使我們能夠添加可重複性:向所有資料添加第二個序列化儲存到達時間欄位。每個分析或聚合查詢都可以按時間戳 加拿大數據 過濾時間,然後按已知(透過序列化)過去的某個儲存到達時間來過濾時間。
聚合在其元資料中包含上層儲存
到達時間,允許查詢透過過濾資料的主資料來查看稍後到達的資料來使用它們。
策略忽略它!
另一個選擇是忽略最新數據。設定一些固定的截止時間間隔。任何晚於截止日期到達的資料都會被丟
棄(最好具有一定的可觀察性)
在截止日期後發布資料以供存取。
這是一個易於理解、實施和擴展的簡單選項。但為了可重複性,即使所有數據按時到達,它也會將所
有數據延遲截止時間間隔
因此,如果有相關的截止日期值,它是直接有用的。
透過對此策略的多個實例進行分層,將忽略遲到的資料與有效到達時間結合。設定一系列截止時間間隔。
數據在不超過其截止日期的情
況下進入第一層,給出量化的到達時間。
同樣,資料收集會保留一系列期限不斷增加的儲存桶。當截止日期到期時,它的桶子會被密封,並在相同的截止日期內打開一個新的桶。