趙莽栓
摘 要空管系統(tǒng)大數(shù)據(jù)存儲(chǔ)和分析是該系統(tǒng)需要關(guān)注的重要內(nèi)容,也是保證生產(chǎn)正常進(jìn)行的技術(shù)說段。本文擬在打破傳統(tǒng)的關(guān)系數(shù)據(jù)庫的存儲(chǔ)模式,著眼于圖數(shù)據(jù)庫的模式和相關(guān)技術(shù)論述空管系統(tǒng)大數(shù)據(jù)存儲(chǔ)與數(shù)據(jù)分析,從圖數(shù)據(jù)庫的原理、方法、可應(yīng)用性等方面敘述圖數(shù)據(jù)庫模式在空管系統(tǒng)中的應(yīng)用,并闡述了空管系統(tǒng)大數(shù)據(jù)的存儲(chǔ)與云部署以及基于圖數(shù)據(jù)的數(shù)據(jù)分析模式。主要敘述了空管系統(tǒng)圖數(shù)據(jù)庫的設(shè)計(jì)模式、大數(shù)據(jù)存儲(chǔ)、大數(shù)據(jù)計(jì)算和數(shù)據(jù)分析,并與關(guān)系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫進(jìn)行對(duì)比,以此說明了圖數(shù)據(jù)庫應(yīng)用于空管系統(tǒng)的可行性。
【關(guān)鍵詞】空管系統(tǒng) 大數(shù)據(jù) 儲(chǔ)存
空中交通管制系統(tǒng)包括執(zhí)行塔臺(tái)和進(jìn)近管制的終端區(qū)管制系統(tǒng)與執(zhí)行區(qū)域和高空管制的區(qū)域管制系統(tǒng),是國家信息化建設(shè)的重要組成部分,肩負(fù)著民航管理多架飛機(jī)起降和航行,保障飛行秩序和安全運(yùn)行的任務(wù)。隨著社會(huì)的發(fā)展和越來越多的飛機(jī)投入運(yùn)營,空管系統(tǒng)承載的功能和壓力也在逐步增大,每天有大量的數(shù)據(jù)在系統(tǒng)中流轉(zhuǎn),如何保障系統(tǒng)的穩(wěn)定運(yùn)行是必須要考慮的首要問題之一,這就涉及到數(shù)據(jù)存儲(chǔ)機(jī)制與查詢功能的改善;另外,隨著數(shù)據(jù)積累的增大,可以通過計(jì)算機(jī)等手段對(duì)該數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析和深層次挖掘其相關(guān)性以找出數(shù)據(jù)內(nèi)在的信息和業(yè)務(wù)系統(tǒng)固有的缺陷,為后續(xù)的升級(jí)改造提供數(shù)字化依據(jù)。以下將以華東空管局為背景闡述空管系統(tǒng)的大數(shù)據(jù)存儲(chǔ)和分析功能的構(gòu)建。
1 概述
大數(shù)據(jù)存儲(chǔ)和云計(jì)算是當(dāng)今計(jì)算機(jī)領(lǐng)域的熱門話題,主要應(yīng)用于零售行業(yè)和傳統(tǒng)運(yùn)輸業(yè)。其大數(shù)據(jù)存儲(chǔ)是云計(jì)算的基礎(chǔ),只有解決了大數(shù)據(jù)的存儲(chǔ)模式才能提供更加快捷的大數(shù)據(jù)運(yùn)算,為云計(jì)算提供基于硬件的技術(shù)支持。Hadoop的產(chǎn)生使我們能夠用普通機(jī)器建立穩(wěn)定的處理TB級(jí)數(shù)據(jù)的集群,把傳統(tǒng)而昂貴的并行計(jì)算等概念一下就拉到了我們的面前,但是Hadoop的Key-value模式和MapReduce機(jī)制的數(shù)據(jù)存儲(chǔ)瓶頸以及功能開發(fā)的復(fù)雜性對(duì)開發(fā)人員提出了很高的要求。簡潔、高效、易用、自平衡的云存儲(chǔ)模式是解決當(dāng)前諸多問題的關(guān)鍵,順勢而生的圖數(shù)據(jù)庫以其簡潔高效、多種易用API接口和自帶的負(fù)載均衡功能、易部署等特性越來越贏得業(yè)界的青睞。
任何數(shù)據(jù)存儲(chǔ)模式都不能解決業(yè)務(wù)系統(tǒng)所有的數(shù)據(jù)問題,目前大型系統(tǒng)每天有大量的數(shù)據(jù)產(chǎn)生和流轉(zhuǎn),如何從上百G的數(shù)據(jù)中順暢的查詢出所需的記錄是決定系統(tǒng)可用性和功能性的關(guān)鍵;雖然增加硬件投入可以有效緩解數(shù)據(jù)卡的現(xiàn)象,但找對(duì)數(shù)據(jù)存儲(chǔ)模式更能起到事半功倍的效果。目前流行的云存儲(chǔ)簡而言之就是將大量的數(shù)據(jù)分而置之,將不同的數(shù)據(jù)分門別類,然后分配到不同層級(jí)的硬件上以減少查詢的復(fù)雜度,但這種分而置之的存儲(chǔ)架構(gòu)是基于基本的存儲(chǔ)模式的,所以選對(duì)基本的存儲(chǔ)模式是實(shí)現(xiàn)云存儲(chǔ)的關(guān)鍵。
空管數(shù)據(jù)除了基本的元信息數(shù)據(jù)外,主要包括雷達(dá)數(shù)據(jù)、電報(bào)數(shù)據(jù)、航班計(jì)劃、航班運(yùn)行數(shù)據(jù)、流控信息、電子進(jìn)程單數(shù)據(jù)和航線基礎(chǔ)管理數(shù)據(jù)等。這些數(shù)據(jù)之間具有相關(guān)性,其中航班計(jì)劃數(shù)據(jù)是基礎(chǔ),電子進(jìn)程單數(shù)據(jù)是核心,其它航空器相關(guān)的運(yùn)行數(shù)據(jù)是和基礎(chǔ)數(shù)據(jù)與核心數(shù)據(jù)密切相關(guān)的。目前的空管系統(tǒng)數(shù)據(jù)的存儲(chǔ)大都采用ORACLE數(shù)據(jù)庫,將這些相互關(guān)聯(lián)的數(shù)據(jù)分割成離散的字段形式儲(chǔ)存于數(shù)據(jù)表中,當(dāng)使用時(shí)再將這些離散的數(shù)據(jù)組裝成對(duì)象呈現(xiàn)到客戶端。這種強(qiáng)行將關(guān)系打斷的存儲(chǔ)方式不僅查詢效率低下,也沒有有效的利用數(shù)據(jù)之間的自然聯(lián)系,而是人為地將離散數(shù)據(jù)按一定規(guī)則強(qiáng)行組合在一起使用。由于數(shù)據(jù)之間的自然聯(lián)系的喪失,導(dǎo)致了后續(xù)的數(shù)據(jù)分析中缺少諸多自然的屬性,從而不能更好的挖掘空管數(shù)據(jù)間的相關(guān)性,不能為空管系統(tǒng)的更新?lián)Q代提供很好的技術(shù)支持。
2 圖數(shù)據(jù)庫
圖數(shù)據(jù)庫基于最基本的圖論算法,并以此為基礎(chǔ)發(fā)展。圖是定點(diǎn)和邊的集合,是節(jié)點(diǎn)和關(guān)聯(lián)的集合。圖數(shù)據(jù)庫管理系統(tǒng)是一種在線的數(shù)據(jù)庫管理系統(tǒng)。它支持對(duì)圖數(shù)據(jù)庫模型的增刪改查(CRUD)方法,一般用于事務(wù)(OLTP)系統(tǒng)中,并對(duì)事務(wù)性能進(jìn)行了優(yōu)化。選擇圖數(shù)據(jù)庫的一個(gè)充分的理由是因?yàn)樾阅艿娘@著提升,與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫相比,圖數(shù)據(jù)庫會(huì)隨著數(shù)據(jù)集的不斷增大,查詢性能會(huì)趨于保持不變;而關(guān)系型數(shù)據(jù)庫處理密集join(join-intensive)查詢的性能會(huì)隨之變差。作為開發(fā)者和數(shù)據(jù)架構(gòu)師,我們總是希望根據(jù)問題域來決定如何連接數(shù)據(jù),但現(xiàn)實(shí)情況往往是對(duì)問題域了解是逐漸加深的。因?yàn)閳D天生是可擴(kuò)展的,這意味著我們可以對(duì)已經(jīng)存在的結(jié)構(gòu)添加不同種類的新聯(lián)系、新節(jié)點(diǎn)、新標(biāo)簽和新子圖,而不用擔(dān)心破壞已有的查詢或應(yīng)用程序的性能,這種靈活性決定了我們不必在項(xiàng)目最初就窮思竭慮地把領(lǐng)域中的每一個(gè)細(xì)枝末節(jié)都考慮在模型中。另外,通過使用與當(dāng)今增量和迭代的軟件交付實(shí)踐相吻合的軟件流水線技術(shù),能夠象改進(jìn)程序代碼一樣改進(jìn)數(shù)據(jù)存儲(chǔ)模型,現(xiàn)代圖數(shù)據(jù)庫可以讓我們使用平滑的開發(fā)方式,配以優(yōu)雅的系統(tǒng)維護(hù),摒棄僵化的模式限制,再加上圖數(shù)據(jù)庫人性化的API,使我們可以用一種可控的方式來開發(fā)應(yīng)用程序。
以Neo4j圖數(shù)據(jù)庫為例,該圖數(shù)據(jù)庫提供了嵌入式Neo4j和服務(wù)器模式,并提供了多種API和遍歷框架(Traversal Framework)以及Cypher查詢語言;同時(shí)Neo4j集群提供了復(fù)制、使用隊(duì)列寫入緩沖區(qū)和全球化集群策略來更好的支持大數(shù)據(jù)存儲(chǔ)和云計(jì)算。Neo4j本身沒有負(fù)載均衡功能,而是依賴于網(wǎng)絡(luò)基礎(chǔ)設(shè)施的負(fù)載均衡能力。通過分離讀寫流量,將寫操作定向到主節(jié)點(diǎn),而讀操作分散到整個(gè)集群來提升系統(tǒng)性能;通過高速緩存分片算法,提前將查詢的部分區(qū)域放入高速緩存,借助一致性路由技術(shù)使整個(gè)集群的數(shù)據(jù)同步保持一致。
3 空管數(shù)據(jù)存儲(chǔ)模型
傳統(tǒng)的數(shù)據(jù)存儲(chǔ)模型是基于關(guān)系型數(shù)據(jù)庫的,而基于圖數(shù)據(jù)庫的數(shù)據(jù)存儲(chǔ)模型將改變傳統(tǒng)的思維模式,用一種面向?qū)ο蟮母拍钊ピO(shè)計(jì)基本的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),是自上而下、自大而小的設(shè)計(jì)方法。以下就空管數(shù)據(jù)中的航班數(shù)據(jù)為例,對(duì)圖數(shù)據(jù)庫存儲(chǔ)實(shí)現(xiàn)做一概念性的敘述。
3.1 基本數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)模式
航班數(shù)據(jù)可以由航班號(hào)、日期和位置唯一的確定該航班的狀態(tài),其中航班號(hào)屬于元數(shù)據(jù)的范圍,日期數(shù)據(jù)屬于基礎(chǔ)數(shù)據(jù),位置信息(經(jīng)緯度)來自于雷達(dá)數(shù)據(jù)。根據(jù)日期和航班號(hào)所關(guān)聯(lián)的屬性信息就可以唯一的確定該航班的基礎(chǔ)數(shù)據(jù),雷達(dá)數(shù)據(jù)中的經(jīng)緯度與時(shí)間和該基礎(chǔ)數(shù)據(jù)綁定就可以確定該航班的即時(shí)狀態(tài)。
對(duì)圖數(shù)據(jù)建模主要涉及節(jié)點(diǎn)、聯(lián)系、和屬性等因素。其中用節(jié)點(diǎn)來表示事物,如圖1中的航班運(yùn)行、日期、航班和位置;用聯(lián)系來表示結(jié)構(gòu),如上圖中的Belong_to、Flight_on、Flight_to、Positon_of、pos_to等;屬性是表示節(jié)點(diǎn)或聯(lián)系自身的具體內(nèi)容信息。圖1是對(duì)圖數(shù)據(jù)庫數(shù)據(jù)建模的一種概念性詮釋,分4個(gè)層次:頂層是航班信息節(jié)點(diǎn),該節(jié)點(diǎn)通過屬性限定全局屬性,如華東局、春季、民航、軍用等;第二層是日期節(jié)點(diǎn),該節(jié)點(diǎn)沒有屬性,只是單純的日期節(jié)點(diǎn),各日期節(jié)點(diǎn)之間通過Date_pre和Date_next聯(lián)系起來,形成自然的時(shí)間序列,該節(jié)點(diǎn)通過Belong_to和航班節(jié)點(diǎn)相聯(lián)系,以確定其歸屬;第三層節(jié)點(diǎn)是航班節(jié)點(diǎn),該節(jié)點(diǎn)通過航班名稱、航空公司名稱和機(jī)型等屬性信息標(biāo)識(shí),節(jié)點(diǎn)之間通過Flight_to聯(lián)系相連接,形成一個(gè)隊(duì)列來標(biāo)識(shí)航班之間的前后順序,各航班通過Flight_on聯(lián)系與日期節(jié)點(diǎn)關(guān)聯(lián),以標(biāo)示航班的所屬日期;第四層節(jié)點(diǎn)是位置節(jié)點(diǎn),該節(jié)點(diǎn)通過Position_of聯(lián)系與航班節(jié)點(diǎn)相關(guān)聯(lián),以標(biāo)示該位置屬于哪一個(gè)航班,同時(shí)位置之間通過pos_to聯(lián)系關(guān)聯(lián)以標(biāo)示位置之間的先后順序。
數(shù)據(jù)的增刪改查操作如下所述:插入數(shù)據(jù):日期節(jié)點(diǎn)是一個(gè)自然順序節(jié)點(diǎn),插入是只需要按照日期節(jié)點(diǎn)的聯(lián)系找到日期的位置,然后建立前后節(jié)點(diǎn)的聯(lián)系即可;航班節(jié)點(diǎn)的插入首先找到日期節(jié)點(diǎn),再根據(jù)日期和航班節(jié)點(diǎn)之間的聯(lián)系找到新加入的節(jié)點(diǎn)的位置,重新建立航班節(jié)點(diǎn)之間的聯(lián)系以及新加入航班節(jié)點(diǎn)與時(shí)間節(jié)點(diǎn)的聯(lián)系;位置節(jié)點(diǎn)的插入首先按照日期-航班-位置的順序找到應(yīng)該插入節(jié)點(diǎn)的位置,然后重建位置節(jié)點(diǎn)之間的聯(lián)系以及位置節(jié)點(diǎn)和航班節(jié)點(diǎn)之間的聯(lián)系。修改數(shù)據(jù):對(duì)任何一個(gè)節(jié)點(diǎn),只需要按照從上到下的順序,即航班運(yùn)行-日期-航班-位置找到相應(yīng)的節(jié)點(diǎn),然后修改節(jié)點(diǎn)的屬性及關(guān)系即可。刪除數(shù)據(jù):只需要按照從上到下的順序,即航班運(yùn)行-日期-航班-位置找到相應(yīng)的節(jié)點(diǎn),刪除該節(jié)點(diǎn)時(shí),如果該節(jié)點(diǎn)有下層的子節(jié)點(diǎn)時(shí),子節(jié)點(diǎn)自動(dòng)被刪除。查詢數(shù)據(jù):只需要按照從上到下的順序,即航班運(yùn)行-日期-航班-位置找到相應(yīng)的節(jié)點(diǎn),讀出該節(jié)點(diǎn)的屬性和聯(lián)系即可。
與關(guān)系型數(shù)據(jù)庫模式相比,不論是插入還是查詢都有很大的優(yōu)勢。尤其是查詢,關(guān)系型數(shù)據(jù)的查詢要想提高查詢速度,除了增加硬件外,建立主鍵索引成為不二選擇。而且隨著數(shù)據(jù)表記錄條數(shù)的增加,查詢速度會(huì)越來越慢;而圖數(shù)據(jù)庫當(dāng)數(shù)據(jù)達(dá)到一定的數(shù)量級(jí)后,其查詢速度趨向于平穩(wěn),再增加記錄查詢時(shí)間也不會(huì)增加;這對(duì)數(shù)據(jù)密集型的業(yè)務(wù)系統(tǒng)有很大的幫助。圖數(shù)據(jù)庫與Hadoop相比,其設(shè)計(jì)模式更趨向于人性化,很容易將客觀實(shí)體轉(zhuǎn)變成數(shù)據(jù)結(jié)構(gòu)因素;其開發(fā)模式也對(duì)程序員提出了較低的要求,對(duì)后續(xù)的快捷開發(fā)和快速應(yīng)用提供支撐。
3.2 空管大數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)
企業(yè)級(jí)大數(shù)據(jù)存儲(chǔ)增容的實(shí)現(xiàn)分為垂直擴(kuò)展和水平擴(kuò)展,垂直擴(kuò)展是升級(jí)數(shù)據(jù)庫服務(wù)器以提供更加魯棒的硬件性能,水平擴(kuò)展是通過互聯(lián)網(wǎng)技術(shù),將大量的數(shù)據(jù)分門別類分散到不同的地方的不同級(jí)別的數(shù)據(jù)庫服務(wù)器上以提供更加有效的數(shù)據(jù)服務(wù)。水平擴(kuò)展技術(shù)是當(dāng)前的熱點(diǎn),空管數(shù)據(jù)的存儲(chǔ)也不例外,隨著空管數(shù)據(jù)量的日趨增加和復(fù)雜化,將空管數(shù)據(jù)分散存儲(chǔ)、就近查詢以減少網(wǎng)絡(luò)占用和硬件損耗是空管系統(tǒng)發(fā)展的趨勢。
圖數(shù)據(jù)庫通過集群技術(shù),使用主從復(fù)制實(shí)現(xiàn)高可用性和水平讀擴(kuò)展。通過將絕大部分寫入操作直接在主節(jié)點(diǎn)上進(jìn)行、從節(jié)點(diǎn)主要進(jìn)行讀操作的模式將讀請求和寫請求分開,并通過負(fù)載均衡器將寫流量定向到主節(jié)點(diǎn),而讀流量分散到整個(gè)集群。而主從節(jié)點(diǎn)的數(shù)據(jù)同步是依靠圖數(shù)據(jù)庫的底層模塊(配置選項(xiàng))自動(dòng)完成并通過內(nèi)部的與或機(jī)制將數(shù)據(jù)延遲降低到最小的程度。通過高速緩存分片技術(shù)將每個(gè)請求路由到HA(高可用性)集群的特定實(shí)例上。如果應(yīng)用程序的大多數(shù)查詢都是局部圖查詢,即從圖的一個(gè)或多個(gè)特定點(diǎn)開始,然后遍歷周圍的子圖。那么這種一致地從一族節(jié)點(diǎn)開始查詢,隨后路由到同一數(shù)據(jù)庫實(shí)例繼續(xù)查詢的機(jī)制將增加每個(gè)查詢在熱高速緩存中的命中可能性。
如圖2所示,空管運(yùn)行數(shù)據(jù)的存儲(chǔ)采用主從節(jié)點(diǎn)的大數(shù)據(jù)存儲(chǔ)模式,通過網(wǎng)絡(luò)將主從節(jié)點(diǎn)互聯(lián),從節(jié)點(diǎn)之間相對(duì)隔絕;主節(jié)點(diǎn)存儲(chǔ)實(shí)時(shí)運(yùn)行的實(shí)際業(yè)務(wù)數(shù)據(jù),通過策略將數(shù)據(jù)分門別類的復(fù)制到從節(jié)點(diǎn)上進(jìn)行存儲(chǔ)。這就要求在主從節(jié)點(diǎn)上分別建立有差異的圖數(shù)據(jù)庫結(jié)構(gòu),主數(shù)據(jù)庫節(jié)點(diǎn)除了具備數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)寫入讀取功能外,還具備整個(gè)集群的主節(jié)點(diǎn)管理的功能;同樣從節(jié)點(diǎn)除了存儲(chǔ)數(shù)據(jù)外,還具備數(shù)據(jù)備份和提供查詢服務(wù)的功能。
集群中數(shù)據(jù)的同步要求一致性,即保證使得主節(jié)點(diǎn)的寫入是立即同步的,而整個(gè)集群的數(shù)據(jù)同步是最終一致的。要保證直接向主節(jié)點(diǎn)的寫入能反映到下一個(gè)經(jīng)過負(fù)載均衡的讀請求上,圖數(shù)據(jù)庫采用一致性路由技術(shù)將寫入操作定向到將用于響應(yīng)后續(xù)的讀取請求的從節(jié)點(diǎn)上。寫入和讀取基于請求中的一些領(lǐng)域條件被一致地路由。
3.3 空管大數(shù)據(jù)云計(jì)算
空管系統(tǒng)運(yùn)行過程中產(chǎn)生的數(shù)據(jù),比如航班計(jì)劃、實(shí)時(shí)航班運(yùn)行數(shù)據(jù)、雷達(dá)數(shù)據(jù)、電子進(jìn)程單數(shù)據(jù)等,通過客戶端生成后通過寫入負(fù)載均衡器寫入主節(jié)點(diǎn)數(shù)據(jù)庫服務(wù)器,主節(jié)點(diǎn)服務(wù)器通過計(jì)算采用一致性路由技術(shù)將數(shù)據(jù)分門別類地同步到集群中的從節(jié)點(diǎn)上;客戶端查詢數(shù)據(jù)時(shí),讀出負(fù)載均衡器根據(jù)客戶端的請求將請求分配到相應(yīng)的從節(jié)點(diǎn)或主節(jié)點(diǎn)上。要保證云計(jì)算的順利實(shí)施,底層數(shù)據(jù)同步策略的構(gòu)建是關(guān)鍵,主要包括合理的規(guī)劃主從數(shù)據(jù)庫節(jié)點(diǎn)上的數(shù)據(jù)庫結(jié)構(gòu),制定正確的一致性路由策略和同步機(jī)制,數(shù)據(jù)的區(qū)域分塊技術(shù),數(shù)據(jù)緩存和備份,以及存儲(chǔ)網(wǎng)絡(luò)的選擇、帶寬分配、硬件基礎(chǔ)設(shè)施的合理配置等。同時(shí),要盡量避免從節(jié)點(diǎn)的數(shù)據(jù)寫入,因?yàn)閺墓?jié)點(diǎn)的寫入比主節(jié)點(diǎn)慢一個(gè)數(shù)量級(jí),從節(jié)點(diǎn)寫入后,數(shù)據(jù)首先要路由到主節(jié)點(diǎn)上,然后再由主節(jié)點(diǎn)同步到各從節(jié)點(diǎn)上;同樣的,主節(jié)點(diǎn)盡量避免數(shù)據(jù)的讀取,以騰出資源讓主節(jié)點(diǎn)有效地管理集群保持?jǐn)?shù)據(jù)的即時(shí)同步。
在一個(gè)集群中主節(jié)點(diǎn)一般是唯一的,從節(jié)點(diǎn)可以有多個(gè),當(dāng)主節(jié)點(diǎn)失效時(shí),由從節(jié)點(diǎn)中的一個(gè)擔(dān)任主節(jié)點(diǎn)的角色繼續(xù)提供服務(wù)。集群中每個(gè)數(shù)據(jù)庫實(shí)例都包括了集群中的全部或部分?jǐn)?shù)據(jù),任何節(jié)點(diǎn)的失效都不會(huì)導(dǎo)致數(shù)據(jù)的丟失。從節(jié)點(diǎn)的加入可以很方便的進(jìn)行,保證了云的橫向易擴(kuò)展性。而且集群的讀吞吐量可以在理論上做到隨集群中實(shí)例的個(gè)數(shù)線性增長。例如如果一個(gè)擁有5個(gè)結(jié)點(diǎn)的集群可以每秒響應(yīng)500個(gè)讀請求,那么再添加一個(gè)結(jié)點(diǎn)就可以將其擴(kuò)容為每秒響應(yīng)600個(gè)讀請求。
4 數(shù)據(jù)分析概述
基于圖數(shù)據(jù)庫的大數(shù)據(jù)分析,是在數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)發(fā)展的基礎(chǔ)上逐漸發(fā)展的。概略的講,數(shù)據(jù)分析的目的是通過各種數(shù)學(xué)的方法,歸納統(tǒng)計(jì)出數(shù)據(jù)之間的內(nèi)在關(guān)系,為企業(yè)的后續(xù)規(guī)劃提供數(shù)字化依據(jù)。目前數(shù)據(jù)挖掘領(lǐng)域方興未艾,很多理論算法應(yīng)用在了企業(yè)的大數(shù)據(jù)分析和挖掘上,如:決策樹、貝葉斯算法,神經(jīng)網(wǎng)絡(luò)算法以及多種聚類分析算法。這些算法是對(duì)離散的數(shù)據(jù)進(jìn)行歸類,學(xué)習(xí)自學(xué)習(xí)以找出其內(nèi)在的聯(lián)系;但這些數(shù)學(xué)理論算法所計(jì)算的結(jié)果往往難以解釋,甚至有些結(jié)果是錯(cuò)誤的。主要是原始數(shù)據(jù)的基本聯(lián)系被人為打碎存入數(shù)據(jù)庫或者文件中,然后在用數(shù)學(xué)方法再建立該聯(lián)系。對(duì)于數(shù)據(jù)分析,其模型的選取和方法的運(yùn)用是決定能否建立該聯(lián)系的決定因素,所有數(shù)據(jù)挖掘方法的選擇是決定數(shù)據(jù)挖掘成敗的主要因素。而圖數(shù)據(jù)庫與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫、NoSQL數(shù)據(jù)庫不同,圖數(shù)據(jù)庫的模式就是不打碎數(shù)據(jù)之間的相互聯(lián)系而是將數(shù)據(jù)之間的關(guān)系有所增強(qiáng),這種建立在緊密聯(lián)系之上的數(shù)據(jù)分析不僅容易實(shí)施,而且更能揭示數(shù)據(jù)之間的近親和遠(yuǎn)親關(guān)系。
使用圖數(shù)據(jù)庫集群進(jìn)行空管數(shù)據(jù)的分析,更能在很短的時(shí)間內(nèi)揭示業(yè)務(wù)運(yùn)行數(shù)據(jù)的規(guī)律,因?yàn)閳D數(shù)據(jù)庫本身就是一張各數(shù)據(jù)節(jié)點(diǎn)之間相互聯(lián)系的大表,只需按照既定的路徑往下走,就可以找到需要的信息,而不用象關(guān)系型數(shù)據(jù)庫那樣經(jīng)過大量的計(jì)算。比如航班準(zhǔn)點(diǎn)率分析,只要按照航班運(yùn)行-日期-航班這條路徑就可以找到該日航班的所有運(yùn)行數(shù)據(jù),再和航班計(jì)劃數(shù)據(jù)相比較即可以得出準(zhǔn)點(diǎn)率。
空管大數(shù)據(jù)分析的目的除了統(tǒng)計(jì)出一定時(shí)間內(nèi)業(yè)務(wù)數(shù)據(jù)之間的相關(guān)性,還要通過分析數(shù)據(jù)來確定最佳的數(shù)據(jù)云存儲(chǔ)模式。所以數(shù)據(jù)分析不能僅限于航班、雷達(dá)等數(shù)據(jù)的聚類、分類等統(tǒng)計(jì)計(jì)算,還應(yīng)著眼于數(shù)據(jù)流量、流向及數(shù)據(jù)均衡性的分析,通過對(duì)云存儲(chǔ)數(shù)據(jù)量和數(shù)據(jù)流向、數(shù)據(jù)查詢量等數(shù)據(jù)的計(jì)算,可以得出數(shù)據(jù)和系統(tǒng)運(yùn)行之間的相關(guān)性,據(jù)此可以合理的分配帶寬、硬件以及現(xiàn)場維護(hù)人員。為了達(dá)到大數(shù)據(jù)分析的目的,首先要對(duì)數(shù)據(jù)流進(jìn)行歸約化整合;其次建立大數(shù)據(jù)分析模型;然后將流經(jīng)節(jié)點(diǎn)的數(shù)據(jù)在不影響業(yè)務(wù)正常運(yùn)行的情況下,分配一定的硬件和軟件資源對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將預(yù)處理后的結(jié)果存儲(chǔ)在單獨(dú)的一臺(tái)計(jì)算機(jī)上,等到數(shù)據(jù)達(dá)到一定的量后,將數(shù)據(jù)放入分析模型中進(jìn)行計(jì)算,按一定梯度分別計(jì)算疊加年限的數(shù)據(jù),再通過對(duì)比來驗(yàn)證分析模型的正確性。在數(shù)據(jù)分析領(lǐng)域,正確的數(shù)據(jù)分析模型至關(guān)重要,而模型的建立基于數(shù)據(jù)元素之間的相互聯(lián)系和正確的驗(yàn)證方法。圖數(shù)據(jù)庫本身提供的Cypher工具只提供了統(tǒng)計(jì)功能,要進(jìn)行大數(shù)據(jù)的分析,還應(yīng)該借助于數(shù)據(jù)挖掘技術(shù),運(yùn)用數(shù)學(xué)方法對(duì)預(yù)處理后的數(shù)據(jù)進(jìn)行計(jì)算,可以達(dá)到較好的分析效果。
5 結(jié)論
基于圖數(shù)據(jù)庫的空管大數(shù)據(jù)存儲(chǔ)與分析,采用類似面向?qū)ο蟮乃季S模式,在保持?jǐn)?shù)據(jù)之間相互關(guān)系的基礎(chǔ)上,重建數(shù)據(jù)的存儲(chǔ)模型;并運(yùn)用集群技術(shù)提供圖數(shù)據(jù)庫的云存儲(chǔ)部署,將大批量的空管數(shù)據(jù)分而置之于網(wǎng)絡(luò)中,采用一致性路由技術(shù)保持?jǐn)?shù)據(jù)的一致性。建立在圖數(shù)據(jù)庫存儲(chǔ)模式之上的大數(shù)據(jù)分析,做好數(shù)據(jù)的預(yù)處理,通過學(xué)習(xí)自學(xué)習(xí)確立好正確的分析模型是關(guān)鍵因素。通過本文的探討,圖數(shù)據(jù)對(duì)于空管大數(shù)據(jù)存儲(chǔ)和分析有其自然的優(yōu)越性,對(duì)提高數(shù)據(jù)的利用率和查詢效率以及數(shù)據(jù)的二次開發(fā)都有較好的作用。
參考文獻(xiàn)
[1]Ian Robinson,Jim Webber,Emil Eifrem著.圖數(shù)據(jù)庫[M].人民郵電出版社,2011.
作者單位
華東空管局設(shè)備維修中心研發(fā)部 上海市 201702