圖資料庫淺談
圖資料庫分為兩大類:native graph和non-native graph
native graph:
資料只能存放在一臺機器上。不支援分片。如果你的資料量非常大,Neo4j是扛不住的。
它的優點是讀寫速度都非常快,查關係也非常快。
典型代表是Neo4j。網上查了很久,Neo4j的團隊認為你應該只把最重要的資料存到圖裡。Neo4j不願意犧牲速度。因為目前圖資料庫分片是一個NP complete的問題。他們說與其實現一個naive(幼稚的)分片,不如把速度搞好。顯然這是衝著資料分析來的。速度上來了,配合spark,分析資料就更快了,這樣才有可能挖掘出更有價值的資料。
non-ative graph:
資料可以儲存在多臺機器上。支援分片(partition/sharding)。這個自然是衝著大資料來的。好處是不用擔心一臺機器硬碟的容量不夠了,壞處是犧牲了效能。
這一類的圖資料庫有titan,orly,cayley。
titan的backend可以配置成Hbase或者Cassandra,可以做到分片。
cayley如果backend配置的是分散式的mongo的話,也能做到分片。
orly不依賴第三方backend。直接做到分片,並且聲稱效能還很好。
雖然支援分片,但其實titan和cayley只是一個graph layer。因為他們底層依賴其他儲存系統。既然是graph layer,有人就質疑說titan和cayley能否稱得上真正的圖資料庫。titan和orly做的挺好,都被收購了,然後就死掉了。github上很久沒人更新了。目前也只能寄希望於cayley了。這個是go語言寫的。社群也很活躍。
插一段廢話:
我不懂大資料,更不懂資料探勘。只能談談自己的一點理解。
零散的資料沒什麼價值,但是一旦把資料關聯起來,即便是看起來是垃圾資料也可能會得出非常有價值的結論。怎麼關聯?抽取實體,建立關係,抽象出模型。據說行話叫構建知識圖譜。然後從關聯的資料量找出有價值的東西。這需要對資料極度敏感,智力還要好。這種活我們這些小程式設計師可幹不了,得數學家和科學家來。科學家是大朋友,我們只是小朋友。小朋友可以很容易培養,科學家卻不可多得。李開復說的,我覺得說的很有道理。我們能做什麼?做大資料採集。做爬蟲也好,做大資料儲存也好都是為資料探勘的人服務的。哦,對了,怎麼挖掘資料?我也不知道,大概是機器學習,深度學習吧。
相關文章
- 淺談圖資料庫資料庫
- 淺談資料庫事務資料庫
- 淺談資料庫連線資料庫
- 淺談資料庫備份方案資料庫
- 淺談資料庫生命週期資料庫
- 淺談資料庫設計技巧資料庫
- 淺談資料庫的攻擊(轉)資料庫
- 淺談JDBC和資料庫連線池JDBC資料庫
- 資料庫的日常管理經驗淺談資料庫
- 淺談資料庫設計技巧(下)(轉)資料庫
- 資料庫:淺談DML、DDL、DCL的區別資料庫
- 淺談資料庫中的儲存過程資料庫儲存過程
- 運維角度淺談MySQL資料庫優化運維MySql資料庫優化
- 資料庫連線池原理及作用淺談資料庫
- 運維角度淺談 MySQL 資料庫優化運維MySql資料庫優化
- [資料庫] 淺談mysql的serverId/serverUuid資料庫MySqlServerUI
- 淺談高效能資料庫叢集——分庫分表資料庫
- 人性化易操作國產資料庫達夢資料庫學習淺談資料庫
- 淺談雲端計算時代的資料庫執行資料庫
- 淺談資料庫防火牆技術及應用資料庫防火牆
- 從運維角度淺談 MySQL 資料庫優化運維MySql資料庫優化
- 淺談資料庫系統安全保護機制資料庫
- 按圖索驥,談談資料庫技術選型資料庫
- 淺談requests庫
- 淺談達夢資料庫的備份與恢復資料庫
- 從運維角度淺談MySQL資料庫最佳化運維MySql資料庫
- 淺談資料的表格化
- 淺談 Redis 資料結構Redis資料結構
- 淺談資料分析入門
- 淺談資料倉儲和大資料大資料
- 淺析圖資料庫 Nebula Graph 資料匯入工具——Spark Writer資料庫Spark
- 淺談分層圖
- 淺談資料庫發展史和 OceanBase 的誕生資料庫
- 淺談高效能資料庫叢集——讀寫分離資料庫
- 淺談Windows Phone 7本地資料庫的選擇Windows資料庫
- 淺談Linq To Sql整合資料庫語言的優劣SQL資料庫
- 【資料結構】淺談主席樹資料結構
- 淺談HBase的資料分佈