GBASE觀察:擴充套件分析型資料庫
一、多模態資料庫
隨著大資料應用的發展,企業需要處理的資料量爆炸式增長,同時面臨資料的結構也越來越靈活多樣。傳統基於關係型理論構建起來的資料庫管理系統遭遇到了巨大挑戰。為了滿足企業發展需求,企業不同業務 IT 系統需要用不同型別資料庫來支撐。以下示意了不同型別資料庫及其適用場景。
不同應用型別採用不同資料庫可以有針對性提供資料支援,但資料庫維護的難度較大且資料交換的複雜。為此,多模態資料庫 (multi-model database) 受到了高度關注,所謂多模態資料庫就是能夠管理具有不同模型(如關係模型、樹模型、圖形模型和物件模型)的資料庫系統。多模態資料庫具有多個資料庫引擎,可以同時滿足應用程式對於結構化、半結構化、非結構化資料的統一管理需求。多模態式資料管理使得資料庫能夠進行跨部門、跨業務的資料統一管理,實現多業務資料融合,支撐多樣化的應用服務。
目前,國內外已經有多模態資料庫產品,其中, ArangoDB ,是比較有名的多模態資料庫。在 ArangoDB 資料庫中,資料可以儲存為文件、鍵 / 值對或圖形。使用單一的宣告性查詢語言,可以訪問任何或所有資料。此外,可以在單個查詢中組合不同的模型。而且,由於其多模態型風格,人們可以製作精益應用程式,可以使用多種資料模型中的任何一種或全部進行水平擴充套件。
雖然多模態資料塊庫能夠統一支撐多型別業務應用,但是,多模態資料庫面對的難點很多,由於不同資料庫引擎在響應延時、計算儲存、操作語言的語義語法等都差異很大,不同引擎整合後,原資料庫的效能都難以充分發揮,整體效能受到較大約束。俗話說的好,讓專業的人做專業的事,同樣,讓專業的資料庫支援專業的業務應用是有其合理性的。通用的資料庫雖然有能力支撐全面業務,但在具體細分業務領域,通用的資料庫的支援能力並不能夠達到專業資料庫的支援能力,資料庫整體效能不佳。
二、 HTAP 混合事務與分析資料庫
相對多模態資料庫,混合事務與分析資料庫考慮的是關係型事務型資料庫與關係型分析型兩種型別混合的資料庫。 HTAP 可以解決大型實時應用的同時支援對大資料的分析挖掘。 HTAP 通常可以用兩套系統來組合來支援 OLTP 和 OLAP ,也可以用一套系統同時支援 OLTP 和 OLAP 。前者需要使用者的應用程式自己來協調 AP 和 TP 系統的使用,資料在兩個系統之間是通過 ETL 方式同步。後者基於一站式架構同時處理事務請求與查詢分析請求的技術,不僅消除了從關係型事務資料庫到分析型資料庫的資料抽取、轉換、和載入過程 , 還支援實時地分析最新事務資料。合理的 HTAP 資料庫不僅能夠同時支撐事務執行和資料分析,避免在傳統架構中,線上與離線資料庫之間大量的資料互動。
以下是一種 HTAP 系統架構示意圖:
HTAP 雖然同時具備 OLTP 和 OLAP 的重要特點,但目前 HTAP 還面臨一些問題,有待進一步發展。
其主要問題有:
1. 大多數 HTAP 已經分別支援了 AP 請求和 TP 請求的處理,但沒有系統支援在 TP 中執行 AP 的場景;
2. 大多數系統需要組合各種解決方案來達到 HTAP 場景的需求;
3. 為了加速 TP 的更新和點查, HTAP 將索引全部放在了記憶體中,但是對於更大規模資料的場景,索引全部在記憶體中會導致 TP 系統變慢;
4. 為 AP 場景設計的儲存引擎,通常使用物件儲存或者共享檔案系統來儲存資料。這些儲存格式主要是為 scan 場景進行優化,無法提供高效的點查和更新能力。
雖然 HTAP 並不能分別達到 OLTP 與 OLAP 各自的效能,但通常 HTAP 面對的 OLTP 與 OLAP 具有很多共性, OLTP 和 OLAP 兩者都是關聯式資料庫,都支援標準 SQL 語言,而且資料庫表結構沒有什麼區別。所以,資料庫整體效能可以得到有效優化,從而 HTAP 在相當程度上可以發揮 OLTP 和 OLAP 的各自優點,並簡化系統維護成本。
三、擴充套件分析型資料庫
HTAP 資料庫的 OLTP 與 OLAP 面對的資料庫有很大共性,從而,相對多模態資料庫, HTAP 不僅滿足特定應用需求,同時 OLTP 和 OLAP 的效能損失較少。 HTAP 是從關聯式資料庫的維度整合兩種資料庫型別,同樣,從資料分析維度上,分析型資料庫( OLAP )與圖資料庫( RDF )也是一種互補的組合,可以滿足更高的資料分析業務需求。 OLAP 與 RDF 資料庫也有很多共性,比如,兩者都是面向資料分析,面對的資料量都很大,而且各自的分析能力可以互補,兩者結合,可以提供更加豐富、高效的資料探勘。在此,我們把 OLAP 分析資料庫分析處理與 RDF 圖資料庫的分析處理的整合稱為擴充套件分析型資料庫。
我們知道,大資料分析挖掘要依靠 OLAP 關聯式資料庫來支撐,多年來,基於 OLAP 資料庫的資料倉儲技術為各行各業資料分析挖掘提供了極其重要的支撐。然而,由於 OLAP 關聯式資料庫是擅長行與列資料的計算與儲存,但在遍歷關係網路並抽取資訊的能力比較弱,關係型資料庫在資料規模龐大時很難做多層關聯關係分析,其關聯操作往往因為消耗過長時間而失敗,而圖資料庫正好在關係庫正好彌補了關聯式資料庫這個弱點,圖資料庫可以很自然的表達現實世界中的實體及其關聯關係,無需耗時耗記憶體的關聯操作,可以保持常數級時間複雜度,圖資料庫在多級關聯上查詢上相對關聯式資料庫具有顯著優勢。
為了實現更強大的資料分析處理,可以採用兩種架構實現如下:
分立架構,通過業務種類判斷,分別由兩個不同型別資料庫根據各自優勢進行分析,兩個系統需要進行同步。一體化架構採用適應關係表分析和關聯分析的引擎,對應用進行統一解釋、統一排程、統一優化,提供一體化資料分析服務。一體化的擴充套件分析型資料庫的具體結構示意如下:
由於 OLAP 和 RDF 引擎都可以進行大規模海量資料處理,如此整合的分析型資料庫同時發揮了 OLAP 和 RDF 資料分析的優勢,進一步提升資料分析能力。
四、 GBASE 南大通用擴充套件分析型資料庫
GBASE 南大通用圖資料庫通過研發融合平臺 UP 及分析型資料庫 GBase8a 的技術,結合國產化圖資料庫技術,充分利用三種技術優勢,打造擴充套件型資料分析資料庫平臺,不僅實現了超大規模資料分析的需求,同時在關聯分析上效能取得突破,可以進一步滿足大資料探勘分析,實現複雜多級關聯的知識圖譜分析。擴充套件分析型資料庫將在以下應用場景取得更好應用:
金融風控及審計
金融風控分析涉及指標多、資料量大,同時實體關聯層級多且複雜。比如,在審計分析中,客戶對公、對私、對員工及相關的管理,緯度特別多,數量大。傳統資料庫難以支撐,採用擴充套件分析型資料庫,可以高效地分析出重點客戶上或者員工頻繁會跟他的親屬進行轉賬關係或者有一些深度資金往來資料,這樣可以顯示出非常大的價值。
石油勘探認知計算平臺
石油勘探的“測井”環節,涉及資料量巨大,同時,地球物理學家需通過對電阻率、自然電位、聲波等綜合資訊的研究進行油氣層識別 , 在油氣生產領域,採用物聯網技術和機器學習方法,實現了油井工況的定量診斷和遠端實時線上管理。
通過擴充套件型資料分析,可以通過海量資料機器學習挖掘發現油氣層規律,同時可以通過知識圖譜,進一步挖掘各種複雜關聯關係,為科學勘探提供依據。
電網潮流計算
電網潮流計算分別用來描述發電機、負荷、線路和變壓器資料,通過擴充套件分析型資料庫,不僅可以計算儲存電網潮流涉及的海量資料,同時可以通過知識圖譜,迅速更新複雜電網拓撲,發現電網故障路徑,為智慧電網故障快速恢復提供技術支撐。
五、結論
大資料技術與應用的發展,對分析型資料庫提出更高要求,傳統分析型資料庫已經在資料倉儲能力上大顯身手,但在多層次資料關聯上,傳統分析型資料庫能力欠缺,而圖資料庫是為資料關聯分析而生,非常擅長多級資料關聯分析。所以一種擴充套件分析型資料庫就是整合了傳統分析型資料庫與圖資料庫的優點,極大增強了分析型資料庫的能力,可以更好滿足大資料業務的發展需要。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979120/viewspace-2902220/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java資料型別擴充套件Java資料型別套件
- System Design 關係型資料庫的擴充套件 - 學習筆記資料庫套件筆記
- ES6各大資料型別的擴充套件大資料資料型別套件
- 大資料——Scala擴充套件大資料套件
- PHP的SPL擴充套件庫(一)資料結構PHP套件資料結構
- ASP.NET Core擴充套件庫之Http通用擴充套件ASP.NET套件HTTP
- SpringCloudGateway資料庫儲存路由資訊的擴充套件方案SpringGCCloudGateway資料庫路由套件
- 資料檢索擴充套件包套件
- 使用nub恢復資料庫的知識擴充套件資料庫套件
- 資料庫擴充套件表設計過程記錄資料庫套件
- 數值的擴充套件方法以及新增資料型別BigInt套件資料型別
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- C 擴充套件庫 – mysql API套件MySqlAPI
- 使用cython擴充套件python庫套件Python
- DLR 的擴充套件庫 Dynamitey套件MIT
- 讓前端也能填充資料庫的 Reach Seeder 擴充套件前端資料庫套件
- 可擴充套件的資料庫系統,請求批評套件資料庫
- 讀構建可擴充套件分散式系統:方法與實踐09可擴充套件資料庫基礎套件分散式資料庫
- Spring Cloud Gateway 資料庫儲存路由資訊的擴充套件方案SpringCloudGateway資料庫路由套件
- PostgreSQL在雲端:部署、管理和擴充套件你的資料庫SQL套件資料庫
- 微服務架構中資料庫擴充套件和最佳化微服務架構資料庫套件
- PHP擴充套件資料庫連線引數說明詳解PHP套件資料庫
- 分析型資料庫:分散式分析型資料庫資料庫分散式
- .Net core Worker Service 擴充套件庫套件
- [譯] 論資料流的擴充套件性套件
- ehcarts擴充套件優秀的資料表套件
- 資料分析系列 之python中擴充庫SciPy的使用Python
- 【Kotlin】擴充套件屬性、擴充套件函式Kotlin套件函式
- 記錄一些有關資料庫操作的擴充套件包資料庫套件
- 一個根據資料庫自動生成model類的擴充套件資料庫套件
- 在 Homestead 環境下為 PHP 新增 Oracle 資料庫擴充套件(OCI)PHPOracle資料庫套件
- 使用 Visual Studio Code SQLite 擴充套件來瀏覽 SAP CAP 資料庫SQLite套件資料庫
- gbase 資料庫資料庫
- PHP 資料庫擴充之 PDOPHP資料庫
- 【SpringBoot】分析 SpringBoot 中的擴充套件點Spring Boot套件
- 前端進階(11) – js 資料結構型別擴充套件:immutable-js前端JS資料結構型別套件
- 練習安裝Python擴充套件庫Python套件
- 快速入門pandas擴充套件庫(上)套件