探索圖數據庫在數據資產可視化中的應用
Apache Atlas為組織提供了開放的元數據管理和治理功能,以建立其數據資產的目錄,對這些資產進行分類和治理,并為數據科學家,分析師和數據治理團隊提供圍繞這些數據資產的協作功能。
此圖為Atlas的架構圖,主要包含的組件如圖所示,我們主要關注于在Core組件中使用JanusGraph圖數據庫來存儲元數據對象。Atlas采用了分布式圖數據庫JanusGraph作為數據存儲,目的在于用有向圖靈活的存儲、查詢數據血緣關系。默認情況下元數據存儲配置為 HBase ,索引存儲配置為 Solr。也可以通過構建相應的配置文件使用BerkeleyDB存儲元數據存儲 和使用ElasticSearch存儲 Index。元數據存儲用于存儲元數據對象本身,索引存儲用于存儲元數據屬性的索引,其允許高效搜索。
Atlas定義了一套atlas-graphdb-api,允許采用不同的圖數據庫引擎來實現api,便于切換底層存儲。所以Atlas讀寫數據的過程可以看作就是將圖數據庫對象映射成Java類的過程,基本流程如下:

在Atlas中查詢某一個元數據對象時往往需要遍歷圖數據庫中的多個頂點與邊,相比關系型數據庫直接查詢一行數據要復雜的多,當然使用圖數據庫作為底層存儲也存在它的優勢,比如可以支持復雜的數據類型和更好的支持血緣數據的讀寫。
JanusGraph與應用的集成,有如下兩種方式:
第一種:可以把JanusGraph嵌入到應用程序中去,JanusGraph和應用程序處在同一個JVM中。應用程序中的客戶代碼(相對JanusGraph來說是客戶)直接調用Gremlin去查詢JanusGraph中存儲的圖,這種情況下外部存儲系統可以是本地的,也可以處在遠程。
第二種:應用程序和Janus Graph處在兩個不同JVM中,應用通過給JanusGraph提交Gremlin查詢給GremlinServer,來使用JanusGraph,因為JanusGraph原生是支持Gremlin Server的。(Gremlin Server是Apache Tinkerpop中的一個組件)。
下面就展示實際基于JanusGraph圖數據庫的可視化展現情況:

基于以JanusGraph圖數據庫為例,結合Atlas獲取hadoop生態系統的元數據思路,未來數據資產可視化擴展對大數據的采集能力,以kafka作為消息系統,解耦生產者和消費者,圖數據庫作為數據處理核心,以Hbase、solr,es,zookeper等技術作為輔助手段。為數據存儲,關系建立,數據血緣建立,數據快速查詢提供便利。
寫在最后
基于對圖數據庫知識的探索,圖數據庫在未來數據資產可視化中的應用將會是促進數據價值提升,提高企業數據資產配置效率的有效手段,企業可以通過圖數據庫建立企業數據資產全景圖,快速搜索定位,形成有效的數據交匯,以個性化展現企業的數據資產,方便使用者獲取關鍵信息,更好的了解數據資產的各個方面。
以上是我分享的內容以及一些不成熟的思考,希望跟大家一起探討。
精選提問:
問1:圖數據庫增刪改查有特定語法嗎?
答:根據不同類型的圖數據,所支持的語法也是不一樣的。
問2:看到上面列舉了四種圖數據庫的比較,在實際使用中,傾向于用哪個產品?為什么?
答:每個圖數據庫都有不同的優點和缺點,需要看產品的需求,注重哪方面的,比如說更關注于性能,更專注于擴展性等。
問3:有些公司字段依賴是自己解析sql實現的,但是我還沒具體思路。。。老師能提示下嗎?
答:目前是通過sql解析器對sql腳本做解析,例如sqlparser,比如說解析存儲過程,perl腳本什么的。
問4:mongodb支持圖數據庫嗎?圖數據庫的應用場景在哪里?
答:mongodb屬于nosql數據庫的一種,和圖數據是不一樣的。圖數據庫的應用場景有很多,比如最典型的知識圖譜,在數據資產管理中,我認為更多的應用數據資產可視化展現,以及數據地圖,數據影響/血緣分析等。
問5:生產者和消費者解耦,有啥優勢?
答:生產者和消費者更多的應用在并發的過程中,可以并行的執行。把生產者和消費者當做兩個獨立的并發主體,不互相依賴,也就是說生產者生產完直接把數據丟到緩存中,并不需要關系消費者是否使用,而消費者也并不需要等待生產者,可以加快處理速度。
問6:不過現在市面上,還有一個產品是百度Hugegraph,您覺得這個與Neo4j和JanusGraph有什么區別和優缺點?
答:HugeGraph是基于TinkerPop,很大程度上借鑒了JanusGraph,只是再次基礎上做了二次開發和封裝,更加的易用。而JanusGraph可能更多的需要自己做配置。
問7:如何做傳統關系型數據庫數據和圖數據庫的數據遷移呢?
答:大部分的圖數據庫都會給出接口或者導出腳本,把數據庫從關系型數據庫遷移到圖數據庫上,但是導出的性能會有很大差異。現在并沒有統一的標準,更多的依賴開源。
問8:如果是中小型企業做基于工商數據的圖數據庫,在學習成本及硬件,軟件成本上。市面上這幾種圖數據庫有優先級么?
答:個人認為,在關注于學習成本、軟件成本、易用性等方面考慮的話,推薦使用收費的軟件,不推薦使用開源的軟件,目前企業版收費的有Neo4j,ArangoDB等,項目成熟,社區活躍,文檔也很成熟。企業學習部署更方便。
請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
- 1 AI狂歡遇上油價破百,全球股市還能漲多久? | 產聯看全球
- 2 OpenAI深夜王炸!ChatGPT Images 2.0實測:中文穩、細節炸,設計師慌了
- 3 6000億美元估值錨定:字節跳動的“去單一化”突圍與估值重構
- 4 Tesla AI5芯片最新進展總結
- 5 連夜測了一波DeepSeek-V4,我發現它可能只剩“審美”這個短板了
- 6 熱點丨AI“瑜亮之爭”:既生OpenClaw,何生Hermes?
- 7 AI界的殺豬盤:9秒刪庫跑路,全員被封號,還繼續扣錢!
- 8 2026,人形機器人只贏了面子
- 9 DeepSeek降價90%:價格屠夫不是身份,是戰略
- 10 AI Infra產業鏈卡在哪里了?


分享













