■ 安徽 劉揚
關于數據沖突問題的研究總體來看分布在三個領域:一是數據清洗方法;二是信息融合算法及其應用;三是分布式存儲的數據一致性。
隨著跨地區跨行業的分布式數據湖逐步成為技術演進方向,如何保證數據一致性,保障數據可信度,已經成為數據湖建設的基礎工作。而數據可信度的提高目前面臨以下三方面的制約:
一是沒有數據清洗。在數據倉庫中,數據的可信度是與可用性一起由人工處理解決的。在將業務邏輯人工轉換為數據邏輯的同時,確定進入數據倉庫數據的合規數據標準,并在原始數據進入數據倉庫前進行數據清洗。盡管對于數據湖的定義尚未統一,但其核心理念——數據湖是一種在系統中以自然格式存儲數據的方法已被普遍接受。這也就意味著不同數據源中的原始數據將會直接進入數據湖中,不會進行數據清洗。
二是存在原始數據的不一致。在許多系統或模塊中,原始數據并非全部準確,為了兼顧計算效率、性能等,往往采用信息融合的方式。而進入數據湖的只是原始數據,不包含其他相關信息如信息融合算法。同時,大部分的系統或模塊,在存儲與其核心功能無關的數據時,不會在數據層面嚴格規范。
三是趨向采用分布式存儲。由于計算和傳輸成本下降速度遠快于存儲成本,存儲和計算分離已成為技術發展趨勢。跨地區跨行業的分布式數據湖正在逐步成為技術演進方向。
不難看出,數據沖突與數據可信度之間存在顯著的負相關性,數據沖突水平越高,數據可信度越低。因此,解決數據沖突問題直接關系到數據可信度水平,是完成可信數據湖建設的關鍵所在。
實際上,數據沖突是數據的經濟價值展現的另一種形式,解決數據沖突問題的潛在經濟效益也是數據湖建設內在驅動力的組成部分。
首先,在有些應用場景中,存在數據沖突的原始數據是進行數據探索的基礎。比如,在安全生產中,可以用于復盤安全生產系統在事故發生時是否出現工作異常。
其次,數據沖突有助于數據補齊。盡管不同數據源的原始數據之間存在數據冗余,但這種冗余并非絕對意義上的重復數據,在特定的數據探索中可能成為數據補齊的基礎數據,提升數據探索的潛在價值。
最后,數據沖突可以幫助查找風險隱患。在數據湖使用中,如果在經常使用的數據探索中突然出現了大量數據沖突,表明數據湖或相關的數據源當前的運行狀態出現異常。
數據校驗起源于數據傳輸,其本質是為保證數據經過傳輸后的數據完整性而進行的一種驗證操作。在數據湖建設過程中,對于降低數據沖突,數據校驗有以下兩方面的重要作用:

圖1 基于數據沖突和數據校驗的數據可信矩陣
一是保證數據傳輸的效率與可靠性,降低數據湖因采用分布式存儲而在數據傳輸過程中產生的數據沖突:通過采用低密度奇偶校驗(LDPC)碼等方式,可以實現在低誤碼率下的高可靠性傳輸,從而減少采用分布式存儲時的數據傳輸開銷,進而起到減少數據沖突的作用。
二是檢查同一數據在不同數據源中的數據一致性,降低數據湖中因數據不完整或被篡改產生的數據沖突:由于數據湖中的存儲的是原始數據,因此可以采用數字簽名等數據校驗方法,通過計算與比對同一數據在不同數據源中的哈希值,檢驗數據是否完整或被篡改。
概括起來,數據校驗可以減少因數據湖采用分布式存儲或原始數據被人為篡改等因素產生的數據沖突。這些因素主要影響數據在數據湖中進行數據處理時的數據一致性,對于數據在數據源中的生成過程沒有影響。也就是說,與原始數據直接相關的數據沖突(包括不同來源的數據本身以及在數據融合時產生的數據沖突等)是無法通過數據校驗解決的。
綜合重塑數據湖的通用技術路徑,結合數據沖突、數據校驗和數據可信度之間的關系,可以從數據沖突來源和數據的非結構化程度兩個維度對數據湖中的數據進一步細分,構建基于數據沖突和數據校驗的數據可信矩陣,如圖1所示。
對于數據湖而言,在進行數據探索時提供幫助用戶的自助式數據可信度展現工具——通過細分數據沖突檢測途徑將不同類型的數據沖突區分并完整呈現出來,有助于用戶自行判斷選取合適的數據沖突消解方式并獲取經濟效益。
從圖中可以直接看到,數據沖突的來源和數據的非結構化程度不同,發現數據沖突的途徑是有區別的:
對于結構化數據,與原始數據相關的數據沖突,主要通過一致性檢驗(即信度檢驗)和數據匹配等途徑發現;與數據處理相關的數據沖突,依據數據同步功能的運行狀態判斷。對于半結構化、非結構化數據等,與原始數據相關的數據沖突,通過文本匹配、圖數據匹配、矢量數據匹配等途徑發現;與數據處理相關的數據沖突,通過區塊鏈等技術進行數據校驗結果判斷。
這里需要指出的是,數據沖突的水平高低也會對用戶所選取的數據沖突消解方式產生的效果產生影響。因此,在可信數據湖的建設中,數據沖突的展現應當集成于數據湖的沖突檢測功能中,并采用可視化技術,便于用戶準確判斷。同時,需要為用戶配置完備的數據沖突消解工具,不同來源的數據共同使用時的信任問題統一由用戶在使用沖突檢測功能時依據檢測結果自助解決。
在可信數據湖建設過程中,沖突檢測功能不僅可以服務于數據可信度,解決數據沖突展現等問題,還可為數據重構等功能的使用提供輔助。此外,可信數據湖還可以通過沖突檢測功能進一步演化出模擬數據源所在系統功能的能力,方便用戶通過真實數據探索其改進空間或可能,幫助用戶擺脫單一數據來源下的思維束縛。