色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

物聯網時代的數據庫如何選型?

黃文隆2年前14瀏覽0評論

物聯網時代,大量的數據從不同的設備傳感器產生,單機數據庫系統肯定無法存儲這么大量的數據,在選擇數據庫方面,肯定要選擇具有分布式能力存儲的數據庫。

在物聯網時代,數據之間還有一個非常重要的特性,那就是數據之間的關聯性。不同的數據從相互連接的互聯網設備傳感器中產生,由于不同的傳感器相互連接,協同工作和采集數據,如何將大量具有相互關聯的數據保存在數據庫,這里我推薦使用圖數據庫來進行存儲。

圖數據庫相對于其他數據庫來說,最大的優勢就是查詢數據之間的關聯性會更加快速,消耗的時間會更短。打個比方,在社交網絡中,我們想要查詢在用戶A的粉絲中,粉絲關注了B的用戶。如果使用傳統關系型數據庫來存儲用戶的關注關系,在上面的數據統計中,要使用兩層Join才能算出結果,而關系型數據庫Join操作會很慢。使用圖型數據庫存儲數據的話,圖中的點為用戶,邊為用戶的關注關系,在查詢A的粉絲,同時粉絲也關注B的用戶,只需要遍歷兩層關注關系就能很快查詢到結果。

圖數據庫也屬于NoSql數據庫的一種,常用的圖形數據庫有,JanusGraph、Neo4j、Cayley、dgraph。不同的圖數據庫,底層實現也不盡相同。

JanusGraph是一種分布式圖數據庫,由Java語言開發,可以使用Hadoop生態存儲系統作為數據源,構建出數據大圖。是TiTan圖數據庫的開源版本,支持事務的ACID。

Neo4j是一種單機的圖數據庫,其優勢就是能夠快速安裝并且使用,便于新同學上手。你的數據量一般不大的話,我推薦使用Neo4j,直接使用Neo4j相關的API就可以將數據模型圖構建而出,然后使用Neo4jCypher查詢語言,就可以分析數據,Cypher是一種類SQL的語言。

Cayley和Dgraph都是使用Go語言實現的圖數據庫,Go語言的最大特性就是其編譯速度和開發便捷性,Cayley和Dgraph都支持分布式存儲,不過都不支持SQL語言查詢數據,Dgraph不支持事務,而Cayley支持事務,不過在開源社區,Dgraph比Cayley更加活躍,這里優先建議使用Dgraph作為物聯網的存儲數據庫。

總體來說,在物聯網時代,一定要學會使用圖數據庫,在分析大量數據之間的關聯性時,圖數據庫就能夠派上用場,圖數據庫最大的優勢就是分析不同數據之間的關聯性。

我是Lake,專注大數據技術、互聯網科技見解、程序員個人經驗分享,如果我的問答對你有幫助的話,希望你能夠點贊轉發或者關注我,就是我持續分享在大數據方面的知識,非常感謝。