国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Neo4j數據庫基礎

2019-11-09 13:37:48
字體:
來源:轉載
供稿:網友

1、Neo4j簡介

可能很多同學之前沒有接觸過圖數據庫,Neo4j就是一個圖數據庫,首先對Neo4j做一個初步的介紹: Neo4j是一個——面向網絡的數據庫——基于磁盤的、具備完全的事務特性的java持久化引擎,但是它將結構化數據存儲在網絡上而不是表中。網絡(從數學角度叫做圖)是一個靈活的數據結構,可以應用更加敏捷和快速的開發模式。

2、Neo4j基本特點

它有以下一些基本特點: 1)、Neo4j是一個開源的圖數據庫 2)、完全兼容ACID,即:原子性、一致性、隔離性、持久性 3)、支持數十億個節點 4)、用于存儲復雜的數據,可以減少建立中間表來維持關系 5)、兩種部署方式:嵌入式和服務器式

3、Neo4j數據庫中的一些基本概念

這里寫圖片描述 針對圖中的一些基本概念: node : 節點 relationships : 關系,也就是圖中的邊,注意是有向邊 PRoperties : 屬性,針對node/relationship都可以設置property Traversal : 圖遍歷工具 Indexes : 索引

4、Neo4j與MySQL

這里有列出了一些與關系型數據庫對應的概念方便理解: 這里寫圖片描述

5、Neo4j底層數據結構

這里寫圖片描述 其中: 節點:存儲自己的第一個屬性的指針和第一個關系指針 關系:存儲以這個節點為起始節點的其他關系。 保存:Node的Relationship使用一個雙向列表來保存的,可以方便的找到關系的from-to-Node。

6、圖的遍歷

Traversal(遍歷) Order : 對應的圖的遍歷算法 DEPTH_FIRST : 深度優先搜索,就是找到第一個節點,遞歸的一直往下找,直到找不到合適的節點后,才進行回溯 BREADTH_FIRST : 廣度優先搜索 舉個栗子: 這里寫圖片描述 圖中: 深度優先:A、B、D、E、I、C、F、G、H 廣度優先:A、B、C、D、E、F、G、H、I

7、Neo4j核心概念

Paths(路徑,從一個節點到另一個節點的所有的到達路徑) 路徑是一個或多個節點通過關系連接起來的產物,例如得到圖譜查詢或者遍歷的結果。

Schema(模式,類似存儲數據的結構) neo4j是一個無模式或者less模式的圖譜數據庫,像mongodb,solr,lucene或者es一樣,你可以使用它不需要定義任何schema

Indexes(索引) 遍歷圖通過需要大量的隨機讀寫,如果沒有索引,則可能意味著每次都是全圖掃描,這樣效率非常低下,為了獲得更好的性能,我們可以在字段屬性上構建索引,這樣任何查詢操作都會使用索引,從而大幅度提升seek性能, 構建索引是一個異步請求,并不會立刻生效,會再后臺創建直至成功后,才能最終生效。如果創建失敗,可以重建索引,先刪除索引,在創建即可,然后從log里面找出創建失敗的原因然后分析。

Constraints(約束) 約束可以定義在某個字段上,限制字段值唯一,創建約束會自動創建索引。

8、Neo4j中數據模型的類型

不同于傳統的關系數據庫管理系統,Neo4j是一個無架構的數據庫,在開始添加數據之前,你并不需要定義表和關系,一個節點可以具有你喜歡的任何屬性,任何節點都可以與任何其他節點建立關系。neo4j數據庫中的數據模型隱含在它存儲的數據中,而不是將數據模型定義為數據庫本身的一個部分。它是你想要存入數據的一個描述,而不是數據庫的一系列方法來限制將要存儲的內容。

總結: 之前就一直在看圖數據庫的相關知識,接下來可能要上手去使用了,在之前先把之前的知識鞏固一下,分享一下,請多多指正@_@


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镶黄旗| 和平县| 沅陵县| 子洲县| 平乡县| 武汉市| 永善县| 福州市| 呈贡县| 扎囊县| 浏阳市| 万载县| 广德县| 夏津县| 牙克石市| 开江县| 京山县| 通渭县| 林口县| 灵石县| 崇信县| 汾西县| 高陵县| 奉化市| 余江县| 新化县| 临朐县| 安陆市| 东乌珠穆沁旗| 海南省| 大安市| 交城县| 五峰| 湖口县| 武强县| 延津县| 易门县| 博罗县| 松江区| 壶关县| 繁峙县|