圖資料庫基礎簡介 -KDnuggets

banq發表於2021-02-27

圖graph資料庫因其在處理來自各種來源的大量非結構化資料中的應用而廣受讚賞。讓我們談談圖資料庫如何工作以及它們的實際用途是什麼。
圖資料庫是一種不可思議的工具,可用於快速解析人類可以輕鬆使用的資訊。透過以一種允許我們輕鬆地在圖上表示資訊的方式儲存資料,我們可以更快地瞭解資料並獲得原本可能沒有的見解。它還可以很好地用作高效能執行緒資料結構(如Twitter)的資料庫。
 

圖資料庫如何工作?
具有諷刺意味的是,作為非關聯式資料庫,圖主要用於多關係資料“路徑”的概念。

主要由兩個部分組成:

  • 節點:這是實際的資料本身。它可以是youtube影片的觀看者人數,閱讀過推文的人數,甚至可以是諸如人們的姓名,地址等基本資訊。
  • 邊緣:這說明了兩個節點之間的實際關係。有趣的是,邊緣還可以擁有自己的資訊,例如兩個節點之間關係的性質。類似地,邊緣也可能具有描述所述資料流的方向。

圖資料庫基礎簡介 -KDnuggets
圖資料庫中使用的資訊基本上可以是任何東西,並且如您從上面的結構中可以看到的那樣,在基本層次上繪製和理解非常簡單。
看一個更具體的示例,如您在下圖中所看到的,圖資料庫不僅可以描述一群人之間的複雜關係,而且可以描述他們的興趣,喜好,他們的友誼和生意。當然,這裡的天空(和硬體)是極限,構建圖資料庫時您會變得非常複雜。

圖資料庫基礎簡介 -KDnuggets
 

圖資料庫的示例
雖然圖資料庫沒有像其他NoSQL資料庫那麼受歡迎,但是在談論NoSQL時,有一些已經成為相當標準的:

  • Neo4j:世界上頂級的圖資料庫之一,它是開源的,並且有趣地基於Java構建。它也有自己的語言,稱為Cypher,與宣告性SQL語言類似,但適合圖。除了Java,它還支援流行的語言,例如Python,.NET,JavaScript等。
  • Neo4j非常適合諸如資料中心管理和欺詐檢測之類的事情。
  • RedisGraph:RedisGraph實際上是Redis內建的圖模組,本身就是鍵值NoSQL資料庫。由於Redis本身是基於記憶體中的資料結構構建的,因此RedisGraph可以將資料儲存在Ram中。這將導致具有快速查詢和索引的高效能圖資料庫。
  • RedisGraph還使用Cypher,如果您想以程式設計師或資料科學家的身份獲得更大的資料庫靈活性,那麼該功能非常有用。主要用途是需要真正快速的效能的任何應用程式。
  • OrientDB:有趣的是,OrientDB混合了不同型別的資料模型,並支援圖,文件儲存,鍵值儲存和基於物件。話雖如此,所有關係都使用圖模型儲存,該圖模型使用資料庫之間的直接連線。
    與前兩個圖資料庫非常相似,OrientDB也是開源的,並且與Neo4j一樣,它是用Java編寫的(儘管不幸的是,它不使用Cypher)。OrientDB背後的想法是用於需要多個資料模型的地方,因此針對資料一致性進行了最佳化,並降低了資料複雜性。


 

相關文章