張 蕓
(中國石油大港油田信息中心,天津 300280)
自20 世紀(jì)80 年代以來,我國石油上游信息化建設(shè)歷經(jīng)30 多年的探索發(fā)展,經(jīng)歷從分散到集中、從集中到集成、從集成到共享的發(fā)展階段,目前已邁入共享智能新發(fā)展階段。油氣田企業(yè)數(shù)據(jù)類型種類繁多,數(shù)據(jù)組織形式復(fù)雜,數(shù)據(jù)分析應(yīng)用手段落后,傳統(tǒng)的數(shù)據(jù)存儲、管理和應(yīng)用技術(shù)無法最大限度地發(fā)揮數(shù)據(jù)價值,油氣田企業(yè)需要尋求新的方式提高數(shù)據(jù)利用效率。
油氣田企業(yè)勘探開發(fā)數(shù)據(jù)總體可以分為3 類:結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)和時序數(shù)據(jù)。油氣田企業(yè)對于這3 類數(shù)據(jù)的管理存在一些問題。
(1)結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)多為表格數(shù)據(jù),通過人工填報后提交到系統(tǒng)中,如套管結(jié)構(gòu)數(shù)據(jù)、巖屑描述記錄等,這些數(shù)據(jù)通過Oracle、SQL server 等關(guān)系型數(shù)據(jù)庫存儲管理,存儲和管理技術(shù)相對成熟。但由于油氣田企業(yè)信息系統(tǒng)眾多,各系統(tǒng)之間存在信息“孤島”現(xiàn)象,各個關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)存在主數(shù)據(jù)不統(tǒng)一、數(shù)據(jù)重復(fù)錄入等問題。
(2)非結(jié)構(gòu)化數(shù)據(jù)。油氣田企業(yè)的非結(jié)構(gòu)化數(shù)據(jù)分為兩類,一類是數(shù)量多而單文件小的文件,如文檔報告、多媒體PPT 等;還有一類是需要專業(yè)軟件解析的大數(shù)據(jù)體,如地震數(shù)據(jù)體、測井曲線數(shù)據(jù)等,這類數(shù)據(jù)單文件較大,屬于大塊非結(jié)構(gòu)化數(shù)據(jù)。油氣田企業(yè)一般使用文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)技術(shù)對文件進行存儲和管理,這種存儲方式會導(dǎo)致非結(jié)構(gòu)化數(shù)據(jù)和企業(yè)主數(shù)據(jù)的管理相脫節(jié),在應(yīng)用的時候無法有效檢索和定位到所需要的非結(jié)構(gòu)化數(shù)據(jù),且FTP 技術(shù)存儲效率較低,無法提供良好的應(yīng)用效果。
(3)時序數(shù)據(jù)。時序數(shù)據(jù)為時間序列數(shù)據(jù),如井口物聯(lián)網(wǎng)設(shè)備定時產(chǎn)生的數(shù)據(jù),這類數(shù)據(jù)產(chǎn)生的頻率快,由時間驅(qū)動產(chǎn)生,應(yīng)用的時候主要是看它們的數(shù)據(jù)趨勢和異常值。對于時序數(shù)據(jù)管理,目前有兩種管理方法:一種方法是根據(jù)設(shè)備廠商所提供的時序數(shù)據(jù)庫軟件對時序數(shù)據(jù)進行存儲和管理,不同的物聯(lián)網(wǎng)設(shè)備會對應(yīng)不同的時序軟件,不同的時序數(shù)據(jù)庫之間有著技術(shù)壁壘,不利于數(shù)據(jù)的集成和應(yīng)用;另一種方法是直接采用關(guān)系型數(shù)據(jù)庫對時序數(shù)據(jù)進行存儲和管理,這種方法在實時數(shù)據(jù)量大的時候會出現(xiàn)查詢效率低、讀寫卡頓等問題,無法滿足時序數(shù)據(jù)查詢的時效性要求。
數(shù)據(jù)湖(Data Lake)這個概念由Pentaho 公司的創(chuàng)始人兼首席技術(shù)官詹姆斯?狄克遜提出,其主要思想是對企業(yè)中所有數(shù)據(jù)進行統(tǒng)一存儲,從原始數(shù)據(jù)轉(zhuǎn)換為用于報告、可視化、分析和機器學(xué)習(xí)等各種任務(wù)的轉(zhuǎn)換數(shù)據(jù),這些數(shù)據(jù)包括關(guān)系數(shù)據(jù)庫中的結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)和二進制數(shù)據(jù)等,從而形成一個集中化數(shù)據(jù)存儲系統(tǒng)來容納所有形式的數(shù)據(jù)。
本文結(jié)合數(shù)據(jù)湖的概念,針對當(dāng)前大數(shù)據(jù)時代背景下油氣田企業(yè)勘探開發(fā)數(shù)據(jù)管理中的問題,提出一種基于數(shù)據(jù)湖理念的油氣田企業(yè)勘探開發(fā)數(shù)據(jù)湖架構(gòu),通過主數(shù)據(jù)將油氣田企業(yè)的各類數(shù)據(jù)集成起來,再通過大數(shù)據(jù)技術(shù)豐富數(shù)據(jù)利用手段,充分發(fā)揮數(shù)據(jù)價值,滿足油氣田企業(yè)勘探開發(fā)數(shù)據(jù)智能共享需求。
油氣田企業(yè)勘探開發(fā)數(shù)據(jù)湖架構(gòu)如圖1 所示,數(shù)據(jù)湖架構(gòu)分為4 層,包括數(shù)據(jù)采集層、數(shù)據(jù)集成層、數(shù)據(jù)存儲層和數(shù)據(jù)應(yīng)用層。數(shù)據(jù)采集層為源數(shù)據(jù)采集的一層,是數(shù)據(jù)的來源。數(shù)據(jù)集成層對數(shù)據(jù)源層的數(shù)據(jù)進行數(shù)據(jù)質(zhì)量的檢查和主數(shù)據(jù)的統(tǒng)一,同時和數(shù)據(jù)存儲層的數(shù)據(jù)模型建立映射關(guān)系,數(shù)據(jù)集成層將多源的數(shù)據(jù)整合到一起,通過主數(shù)據(jù)建立不同類型數(shù)據(jù)之間的關(guān)系。數(shù)據(jù)存儲層將數(shù)據(jù)存儲到數(shù)據(jù)庫中。數(shù)據(jù)應(yīng)用層利用大數(shù)據(jù)分析技術(shù),充分利用數(shù)據(jù)湖中的各類數(shù)據(jù)。
圖1 油氣田企業(yè)勘探開發(fā)數(shù)據(jù)湖架構(gòu)
自信息化建設(shè)以來,油氣田企業(yè)已建成多個采集系統(tǒng),包括主數(shù)據(jù)采集系統(tǒng)、鉆井?dāng)?shù)據(jù)采集系統(tǒng)、錄井?dāng)?shù)據(jù)采集系統(tǒng)等,這些系統(tǒng)采集的數(shù)據(jù)有的是結(jié)構(gòu)化數(shù)據(jù),有的是地震體大文件,有的是設(shè)備產(chǎn)生的時序數(shù)據(jù)。
這些系統(tǒng)平穩(wěn)運行了許多年,對于這類系統(tǒng),數(shù)據(jù)湖要充分考慮系統(tǒng)采集的數(shù)據(jù)結(jié)構(gòu),獲取系統(tǒng)元數(shù)據(jù),厘清企業(yè)數(shù)據(jù)資產(chǎn),形成企業(yè)數(shù)據(jù)清單,明確油氣田企業(yè)中的數(shù)據(jù)采集內(nèi)容、采集方式、存儲方式、管理方式。
數(shù)據(jù)集成層主要包括主數(shù)據(jù)統(tǒng)一、重復(fù)錄入檢查、數(shù)據(jù)質(zhì)量檢查、數(shù)據(jù)映射、建立同步和定時任務(wù)功能。
(1)主數(shù)據(jù)統(tǒng)一。主數(shù)據(jù)為企業(yè)數(shù)據(jù)的核心數(shù)據(jù),其他所有業(yè)務(wù)數(shù)據(jù)都是以主數(shù)據(jù)展開的業(yè)務(wù)活動數(shù)據(jù),從理論上來說,不同系統(tǒng)中的同一主數(shù)據(jù)應(yīng)該是一致的,所以對于已建成的系統(tǒng)來說,其需要進行主數(shù)據(jù)的統(tǒng)一梳理,保證在企業(yè)范圍內(nèi)主數(shù)據(jù)的唯一性和準(zhǔn)確性。對于油氣田企業(yè)而言,其主數(shù)據(jù)可分為以下幾類(見表1)。
表1 油氣田企業(yè)主數(shù)據(jù)分類
表1 中,屬性規(guī)范值為代碼表,如“井別”“井型”數(shù)據(jù),這種數(shù)據(jù)有標(biāo)準(zhǔn)的內(nèi)容填寫限制范圍,在同一油氣田企業(yè)中應(yīng)該是規(guī)范的、統(tǒng)一的。
數(shù)據(jù)湖建立完成后,主數(shù)據(jù)的錄入應(yīng)嚴(yán)格按照主數(shù)據(jù)的錄入流程,老系統(tǒng)的主數(shù)據(jù)錄入端關(guān)閉,統(tǒng)一從數(shù)據(jù)湖中獲取所需主數(shù)據(jù),新系統(tǒng)也不需要重復(fù)進行主數(shù)據(jù)采集,要從已有主數(shù)據(jù)中獲取數(shù)據(jù),從而保證主數(shù)據(jù)的一致性。
(2)重復(fù)錄入檢查。重復(fù)錄入檢查主要是針對業(yè)務(wù)數(shù)據(jù)的采集內(nèi)容進行檢查,對多源頭錄入的系統(tǒng)選擇確認(rèn),取其中一個源頭的業(yè)務(wù)數(shù)據(jù)作為數(shù)據(jù)來源。
(3)數(shù)據(jù)質(zhì)量檢查。對于入湖數(shù)據(jù)進行質(zhì)量檢查,不符合質(zhì)量要求的數(shù)據(jù)不予入湖,由此保證數(shù)據(jù)湖的數(shù)據(jù)質(zhì)量。
(4)數(shù)據(jù)映射。數(shù)據(jù)采集層的數(shù)據(jù)分散在各個采集系統(tǒng)中,每個系統(tǒng)都有一套單獨的數(shù)據(jù)結(jié)構(gòu),但對于數(shù)據(jù)來說,數(shù)據(jù)湖是綜合考慮油氣田企業(yè)勘探開發(fā)數(shù)據(jù)而建成的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)內(nèi)容包含數(shù)據(jù)采集層的數(shù)據(jù)內(nèi)容,但數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)采集層的結(jié)構(gòu)并不一致。因此,油氣田企業(yè)需要梳理數(shù)據(jù)采集層和數(shù)據(jù)湖的數(shù)據(jù)結(jié)構(gòu)映射關(guān)系,形成數(shù)據(jù)映射表。
(5)建立同步、定時任務(wù)。根據(jù)數(shù)據(jù)映射表建立同步接口,設(shè)置定時同步任務(wù)。根據(jù)數(shù)據(jù)兼容性,可以選擇相應(yīng)的數(shù)據(jù)同步工具,如開源的Kettle 或者閉源的ODI 等。
數(shù)據(jù)存儲層將經(jīng)過數(shù)據(jù)清洗、轉(zhuǎn)換、集成后的數(shù)據(jù)進行存儲,以主數(shù)據(jù)為核心,存儲結(jié)構(gòu)化數(shù)據(jù)、時序數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),總共涉及3 類數(shù)據(jù)庫,即傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)庫、非結(jié)構(gòu)化數(shù)據(jù)庫和時序數(shù)據(jù)庫3 種。
(1)結(jié)構(gòu)化數(shù)據(jù)庫。結(jié)構(gòu)化數(shù)據(jù)庫存儲主數(shù)據(jù)、業(yè)務(wù)結(jié)構(gòu)化數(shù)據(jù)、時序數(shù)據(jù)的歸檔類數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)解析出的結(jié)構(gòu)化數(shù)據(jù)。主數(shù)據(jù)是整個數(shù)據(jù)存儲層的核心實體數(shù)據(jù),不論是結(jié)構(gòu)化數(shù)據(jù)還是非結(jié)構(gòu)化數(shù)據(jù)、時序數(shù)據(jù),都要圍繞主數(shù)據(jù)展開。業(yè)務(wù)結(jié)構(gòu)化數(shù)據(jù)是從采集端采集、數(shù)據(jù)集成層集成后的數(shù)據(jù)。時序數(shù)據(jù)抽稀出的能代表時序數(shù)據(jù)整體數(shù)據(jù)變化趨勢和特點的數(shù)據(jù)和根據(jù)時序數(shù)據(jù)生成的總結(jié)、評估類數(shù)據(jù)報表等生成頻率和數(shù)據(jù)量遠低于時序數(shù)據(jù),可以直接采用結(jié)構(gòu)化數(shù)據(jù)庫進行存儲,并將時序數(shù)據(jù)和由它而來的這類數(shù)據(jù)通過身份標(biāo)識號(Identity Document,ID)映射建立關(guān)系。
非結(jié)構(gòu)化數(shù)據(jù)可以通過專業(yè)軟件的解析模塊和服務(wù)解析出相關(guān)結(jié)構(gòu)化數(shù)據(jù),如測井WIS 數(shù)據(jù)體解析成LAS 格式數(shù)據(jù),就可將單根曲線按照深度存儲到結(jié)構(gòu)化數(shù)據(jù)表中,將非結(jié)構(gòu)化文件ID 與解析出的可用結(jié)構(gòu)化數(shù)據(jù)內(nèi)容進行對應(yīng),可以不用下載文件體本身就能抽提出部分可用數(shù)據(jù),提高了非結(jié)構(gòu)化數(shù)據(jù)的利用效率。
(2)非結(jié)構(gòu)化數(shù)據(jù)體存儲。非結(jié)構(gòu)化數(shù)據(jù)體的存儲可以選擇簡單存儲服務(wù)(Simple Storage Service,S3)協(xié)議或者Minio 對象存儲,相較于FTP 存儲,其讀寫效率更高,容災(zāi)備份更加方便,易于管理。
(3)時序數(shù)據(jù)存儲。物聯(lián)網(wǎng)設(shè)備產(chǎn)生的時序數(shù)據(jù)可存于時序數(shù)據(jù)庫中。目前,市面上的時序數(shù)據(jù)庫種類較多,筆者對時序數(shù)據(jù)庫產(chǎn)品進行了調(diào)研和實驗,并從存儲、擴展、實時寫入效率、存儲效率、離線導(dǎo)入、高可用等方面對4 類常用時序數(shù)據(jù)庫進行了評價對比,得出的時序數(shù)據(jù)庫對比結(jié)果如表2 所示。
表2 4 類時序數(shù)據(jù)庫對比結(jié)果
通過對時序數(shù)據(jù)庫進行對比,油氣田企業(yè)可根據(jù)自身需求選取需要的時序數(shù)據(jù)庫類型。從平臺的擴展性和開源性來看,本文推薦使用OpenTSDB 時序數(shù)據(jù)庫存儲時序數(shù)據(jù)。
數(shù)據(jù)應(yīng)用層包括數(shù)據(jù)查詢基本功能,還包括項目庫、高速索引等深層次應(yīng)用,也提供了領(lǐng)域知識庫、大數(shù)據(jù)分析等工具,同時提供數(shù)據(jù)微服務(wù),為其他系統(tǒng)提供獲取數(shù)據(jù)湖中數(shù)據(jù)的方式。
(1)數(shù)據(jù)查詢。提供數(shù)據(jù)湖中數(shù)據(jù)多角度的查詢方式,包括根據(jù)主數(shù)據(jù)查詢數(shù)據(jù)、數(shù)據(jù)查詢報表;根據(jù)查詢維度生成動態(tài)目錄查詢等。
(2)項目庫。數(shù)據(jù)倉庫僅支持結(jié)構(gòu)化數(shù)據(jù)按照主題查詢,在數(shù)據(jù)倉庫的理念之上提出項目庫,根據(jù)用戶的研究項目和主題,將用戶所需的數(shù)據(jù),包括結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)和時序數(shù)據(jù)打包給用戶,供其查詢和下載,為用戶提供多種數(shù)據(jù)和數(shù)據(jù)形式的下載服務(wù)。
(3)高速索引。采用ElasticSearch 等高速索引技術(shù),將數(shù)據(jù)湖中用戶常用數(shù)據(jù)建立索引,提高數(shù)據(jù)查詢效率。
(4)大數(shù)據(jù)分析。集成Mahout、R 語言等開源大數(shù)據(jù)分析工具包,將數(shù)據(jù)的預(yù)處理、建模、應(yīng)用的過程放到線上,降低業(yè)務(wù)人員對大數(shù)據(jù)分析的難度,讓用戶可以自行探索數(shù)據(jù)湖中的數(shù)據(jù)。
(5)領(lǐng)域知識庫。立足于數(shù)據(jù)湖數(shù)據(jù),建立油氣田企業(yè)的領(lǐng)域知識庫,為研究人員和方案制訂人員提供參考。
(6)數(shù)據(jù)湖微服務(wù)。將數(shù)據(jù)湖的數(shù)據(jù)查詢、獲取及非結(jié)構(gòu)化數(shù)據(jù)解析等功能模塊發(fā)布成數(shù)據(jù)服務(wù),方便其他系統(tǒng)的調(diào)用。
數(shù)據(jù)湖的建設(shè),以及數(shù)據(jù)從產(chǎn)生到銷毀的全生命周期都離不開數(shù)據(jù)治理理念作保障和指導(dǎo),數(shù)據(jù)湖中提供數(shù)據(jù)管理工具,結(jié)合數(shù)據(jù)標(biāo)準(zhǔn)和體系,保證數(shù)據(jù)湖中數(shù)據(jù)的及時性、齊全性和準(zhǔn)確性。
(1)數(shù)據(jù)湖管理工具。數(shù)據(jù)湖管理工具需要包含以下幾個功能:權(quán)限控制、數(shù)據(jù)同步監(jiān)控、質(zhì)量規(guī)則庫管理、元數(shù)據(jù)管理、數(shù)據(jù)公報。
權(quán)限控制功能控制用戶和系統(tǒng)訪問數(shù)據(jù)湖的權(quán)限,保證數(shù)據(jù)湖的數(shù)據(jù)安全性。數(shù)據(jù)同步監(jiān)控反映數(shù)據(jù)從數(shù)據(jù)源進入數(shù)據(jù)湖的情況,保證數(shù)據(jù)湖中數(shù)據(jù)的及時性和齊全性。質(zhì)量規(guī)則庫管理功能確定數(shù)據(jù)湖中數(shù)據(jù)入庫的質(zhì)量規(guī)則,保證數(shù)據(jù)的準(zhǔn)確性和規(guī)范性。元數(shù)據(jù)管理功能管理數(shù)據(jù)源和數(shù)據(jù)湖中的數(shù)據(jù)結(jié)構(gòu),存儲數(shù)據(jù)映射關(guān)系,通過元數(shù)據(jù)管理可以繪制出數(shù)據(jù)血緣關(guān)系圖,方便管理人員厘清數(shù)據(jù)的來龍去脈。數(shù)據(jù)公報為數(shù)據(jù)湖的管理人員提供數(shù)據(jù)湖現(xiàn)狀和數(shù)據(jù)入湖的情況。
(2)數(shù)據(jù)入湖體系。數(shù)據(jù)入湖體系規(guī)范了數(shù)據(jù)由誰產(chǎn)生、由誰負(fù)責(zé)、由誰管理,數(shù)據(jù)湖數(shù)據(jù)的生命周期離不開體系的約束。
(3)數(shù)據(jù)標(biāo)準(zhǔn)。數(shù)據(jù)湖的數(shù)據(jù)質(zhì)量規(guī)則庫建設(shè)和數(shù)據(jù)的組織形式必須遵守一定的數(shù)據(jù)標(biāo)準(zhǔn),如規(guī)定錄井?dāng)?shù)據(jù)提報的《錄井資料采集處理解釋規(guī)范》等,規(guī)范的數(shù)據(jù)標(biāo)準(zhǔn)為數(shù)據(jù)質(zhì)量規(guī)則庫的建設(shè)提供依據(jù)。
數(shù)據(jù)湖將結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)和時序數(shù)據(jù)進行全方位的集成,可以最大限度地發(fā)揮油氣田企業(yè)的數(shù)據(jù)價值,打破系統(tǒng)壁壘,避免“數(shù)據(jù)孤島”問題的出現(xiàn)。數(shù)據(jù)湖建設(shè)完成后,數(shù)據(jù)應(yīng)用人員通過數(shù)據(jù)湖應(yīng)用層的各種功能,可以縮短各個系統(tǒng)中收集、整理數(shù)據(jù)的時間,更好地滿足數(shù)據(jù)需求,提高數(shù)據(jù)應(yīng)用人員的數(shù)據(jù)應(yīng)用效率。同時,跨平臺、跨業(yè)務(wù)的數(shù)據(jù)集成,為大數(shù)據(jù)挖掘奠定了良好的基礎(chǔ)。