Neo4J粗谈专题培训课件_第1页
Neo4J粗谈专题培训课件_第2页
Neo4J粗谈专题培训课件_第3页
Neo4J粗谈专题培训课件_第4页
Neo4J粗谈专题培训课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Neo4J粗谈粗谈数据库历史1923年,CTR发明了首款电动打孔机数据库历史1 9 5 0 年雷明顿兰德公司推出的 Univac I 一秒钟可以输入数百条记录的磁带驱动器数据库历史汞延迟线汞延迟线数据库历史1956 年IBM生产出第一个磁盘驱动器Model 305 RAMAC数据库历史60 年代数据库系统的萌芽。1961:通用电气 开发了第一个数据库管理系统IDS1969: E.F. Codd发明了关系数据库。1973:Cullinane公司开发了 IDMS一个针对IBM主机的基于网络模型的数据库。1976:Honeywell公司推出了Multics Relational Data Store

2、第一个商用关系数据库产品。1979:Oracle公司引入了第一个商用SQL关系数据库管理系统。1983:IBM推出了DB2数据库产品。1985:为Procter & Gamble系统设计的第一个商务智能系统产生。1991:W.H.“Bill” Inmon发表了”构建数据仓库”。数据库历史数据库历史NoSQL数据库数据库总排名http:/db- Number of mentions of the system on websites. General interest in the system. Frequency of technical discussions about the

3、system. Number of job offers, in which the system is mentioned. Number of profiles in professional networks, in which the system is mentioned. Method of calculating the scores of the DB-Engines Ranking引言 1999 我们十位工程师花去了他们大部分的时间与关系型数据库抗衡。 起因,我们意识到我们的软件不是管理一堆个体的、孤立的、离散的数据项,而是管理他们之间的关系关系。 虽然能够很容易的将离散数据

4、存入关系表中,但是对于其关系数据的存储是具有很大挑战的,并且查询速度也是慢的惊人 现在版本2.0.1缘起“Neo4j”NeoInvestorsNeo Technology is a privately held company funded by Fidelity Growth Partners Europe, Sunstone Capital and Conor Venture PartnersRod JohnsonMagnus ChristersenJohan SvenssonNikolaj NyholmNeo Technology, Inc.founder of the Spring F

5、rameworkVice President of Intentional Software CorpCEO of Polar RoseCTO of Neo TechnologyEmil EifremCEO of Neo Technologyheadquartered in San Mateo, CAFeatured CustomersHow much faster is a graph database在一个社交网络,需要找到用户所有的朋友的朋友。甚至是朋友的朋友的朋友。于是,用同样为100万用户的MySQL和Neo4j执行这个查询,并且结果是非常惊人的。friends of friends

6、 friends of friends of friends .一个非常有意思的实验一个非常有意思的实验Neo4j Developer Productivity IncreaseWhat is a Graph Database?图论1736年哥尼斯堡七桥哥尼斯堡七桥开创了数学的一个新的分支开创了数学的一个新的分支 图论与几何拓扑图论与几何拓扑欧拉欧拉A Graph contains Nodes and RelationshipsA Graph records data in Nodes which have PropertiesRelationships organize the GraphN

7、odes are organized by Relationships which also have PropertiesLabels group the NodesNodes are grouped by Labels into Sets Query a Graph with a TraversalA Traversal navigates a Graph; it identifies Paths which order NodesIndexes look-up Nodes or RelationshipsAn Index maps from Properties to either No

8、des or Relationships A Graph Database manages a Graph and also manages related IndexesNeo4j is a Graph DatabaseComparing Database ModelsA Graph Database transforms a RDBMSA Graph Database elaborates a Key-Value Store Column Family (BigTable-style) databases are an evolution of key-value, using famil

9、ies to allow grouping of rows. Stored in a graph, the families could become hierarchical, and the relationships among data becomes explicit.A Graph Database relates Column-FamilyA Graph Database navigates a Document StoreNeo4j HighlightsLanguage DriversFriends of Neo4j speak many languages, and work

10、 in many frameworks. /download下载启动启动WebadminBrowserThe Neo4j Graph DatabaseNodesRelationshipsRelationships一个关系包含两个节点,而且开始和结束节点是有效的。关系总是有方向的,关系可以被看做相关节点的进和出,这对于图的遍历是很有用的注意,一个节点可以对自己产生关系Properties节点和关系都可以有属性。属性是一个键值对,KEY是一个String。属性值可以是原始类型或者一个原始类型的数组。举例,String,int和int都是设立的属性值。Prope

11、rtiesLabelsLabel是一个图结构,用来将节点组成集合,所有用同一个label被标记的节点属于一个集合。许多数据库查询可以运行在这些集合中而不是整个图,这样使得查询更易编写和更有效率。一个节点可以被多个label标记,也可以没有label,label是图的可选项。Label 用于定义约束和为属性增加属性。PathsPath是一个或者多个节点和他们之间的关系,代表一个查询或遍历的结果。Paths最短的path长度为0:长度为1的path其他长度为1的path Traversal 一个图就是根据一些规则访问他的节点和一个图就是根据一些规则访问他的节点和关系。大多数情况下只有子图被访问,就

12、像你已经关系。大多数情况下只有子图被访问,就像你已经知道从图的哪里可以找到感兴趣的节点和关系。知道从图的哪里可以找到感兴趣的节点和关系。TraversalSchemaIndexes创建索引可以提升性能,可以提升在数据库中查找节点的速度。ConstraintsNeo4j可以帮助你的数据整洁。用一些特殊的规则来定制约束。任何破坏这些规则的改变将被拒绝。Neo4j是一个schema可选的图数据库。Cypher Query LanguageCypher相当于关系型数据库中的SQL。Cypher书写直观可以不用编写复杂的查询代码即可实现对图数据库的操作。-百度百科Cypher是一种声明式图查询语言,且对

13、于图存储的查询及更新操作具有高可读性和高效性。 Cypher 是一种非常简单而且强大的语言。通过Cypher 可以表达非常复杂的数据库查询。因此让你可以更关注你的领域,而不是迷失在数据库存储里面。IntroductionMATCH: 图模式匹配。这是最常用的从图里面获取数据的途径。WHERE: 理论上不算一个从句, 应该算是 MATCH、OPTIONAL MATCH 和 WITH的一部分。为一个模式添加约束,或者通过WITH过滤中间结果。RETURN: 返回Structure例子1找出John和John的朋友们(间接的朋友关系)并返回John和所有找到的间接朋友。MATCH (john nam

14、e: John)-:friend-()-:friend-(fof)RETURN john, fof例子2找出朋友名字以S开头的组合MATCH (user)-:friend-(follower)WHERE IN Joe, John, Sara, Maria, Steve AND = S.*RETURN user, CREATE (and DELETE): 创建(删除)节点和关系。 SET (and REMOVE):在节点上用SET设置属性的值或者添加Label,并用REMOVE 删除他们。 MERGE: 匹配现有的或者创

15、建新的节点和模式。这对于连接独特的约束条件是非常有用的。Structure嵌入式的数据库图的创建图的查询实例根本原因分析CREATE (A1:Device name: A1, status: normal),(A2:Device name: A2, status: normal),(B1:Device name: B1, status: normal),(B2:Device name: B2, status: normal),(B3:Device name: B3, status: unavailable),(B4:Device name: B4, status: normal),(C1:Device name: C1, status: unavailable),(C2:Device name: C2, status: normal),(C3:Device name: C3, status: normal),(C4:Device name: C4, status: unavailable),创建图MATCH (n) RETURN n;返回全图MATCH p=(d10:Devicename:D10)-conn:co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论