国产探花免费观看_亚洲丰满少妇自慰呻吟_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數據庫中的數據模型隱含在它存儲的數據中,而不是將數據模型定義為數據庫本身的一個部分。它是你想要存入數據的一個描述,而不是數據庫的一系列方法來限制將要存儲的內容。

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛扎县| 凤阳县| 瑞金市| 九龙坡区| 神木县| 黄平县| 门源| 迁安市| 会泽县| 南平市| 新邵县| 乌兰县| 南郑县| 教育| 龙南县| 社会| 云安县| 滦南县| 石城县| 平度市| 陆川县| 达孜县| 安平县| 土默特右旗| 邵阳市| 灯塔市| 桐庐县| 盖州市| 甘孜县| 都安| 临泽县| 新乐市| 汶川县| 且末县| 张家港市| 泗洪县| 卢龙县| 阳东县| 大厂| 洪雅县| 遂川县|