社交网络下的数据库应用neo4j

社交网络下的数据库应用neo4j

ID:9056751

大小:612.74 KB

页数:18页

时间:2018-04-16

社交网络下的数据库应用neo4j_第1页
社交网络下的数据库应用neo4j_第2页
社交网络下的数据库应用neo4j_第3页
社交网络下的数据库应用neo4j_第4页
社交网络下的数据库应用neo4j_第5页
资源描述:

《社交网络下的数据库应用neo4j》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、社交网络下的数据库应用--Neo4j社区架构,Java主题NoSQL,数据库设计,数据访问简介在众多不同的数据模型里,关系数据模型自80年代就处于统治地位,而且有不少实现,如Oracle、MySQL和MSSQL,它们也被称为关系数据库管理系统(RDBMS)。然而,最近随着关系数据库使用案例的不断增加,一些问题也暴露了出来,这主要是因为两个原因:数据建模中的一些缺陷和问题,以及在大数据量和多服务器之上进行水平伸缩的限制。两个趋势让这些问题引起了全球软件社区的重视:1.用户、系统和传感器产生的数据量呈指数增长,其增长速度因大部分数据量集中在象Amazon、Googl

2、e和其他云服务这样的分布式系统上而进一步加快。2.数据内部依赖和复杂度的增加,这一问题因互联网、Web2.0、社交网络,以及对大量不同系统的数据源开放和标准化的访问而加剧。在应对这些趋势时,关系数据库产生了更多的问题。这导致大量解决这些问题某些特定方面的不同技术的出现,它们可以与现有RDBMS相互配合或代替它们-亦被称为混合持久化(PolyglotPersistence)。数据库替代品并不是新鲜事物,它们已经以对象数据库(OODBMS)、层次数据库(如LDAP)等形式存在很长时间了。但是,过去几年间,出现了大量新项目,它们被统称为NOSQL数据库(NOSQL-d

3、atabases)本文旨在介绍图形数据库(GraphDatabase)在NOSQL运动里的地位,第二部分则是对Neo4j(一种基于Java的图形数据库)的简介。NOSQL环境NOSQL(NotOnlySQL,不限于SQL)是一类范围非常广泛的持久化解决方案,它们不遵循关系数据库模型,也不使用SQL作为查询语言。简单地讲,NOSQL数据库可以按照它们的数据模型分成4类:1.键-值存储库(Key-Value-stores)2.BigTable实现(BigTable-implementations)3.文档库(Document-stores)4.图形数据库(Graph

4、Database)就Voldemort或TokyoCabinet这类键/值系统而言,最小的建模单元是键-值对。对BigTable的克隆品来讲,最小建模单元则是包含不同个数属性的元组,至于象CouchDB和MongoDB这样的文档库,最小单元是文档。图形数据库则干脆把整个数据集建模成一个大型稠密的网络结构。在此,让我们深入检阅NOSQL数据库的两个有意思的方面:伸缩性和复杂度。1.伸缩性CAP:ACIDvs.BASE为了保证数据完整性,大多数经典数据库系统都是以事务为基础的。这全方位保证了数据管理中数据的一致性。这些事务特性也被称为ACID(A代表原子性、C表示一

5、致性、I是隔离性、D则为持久性)。然而,ACID兼容系统的向外扩展已经表现为一个问题。在分布式系统中,高可用性不同方面之间产生的冲突没有完全得到解决-亦称CAP法则:·强一致性(C):所有客户端看到的数据是同一个版本,即使是数据集发生了更新-如利用两阶段提交协议(XA事务),和ACID,·高可用性(A):所有客户端总能找到所请求数据的至少一个版本,即使集群中某些机器已经宕机,·分区容忍性(P):整个系统保持自己的特征,即使是被部署到不同服务器上的时候,这对客户端来讲是透明的。CAP法则假定向外扩展的3个不同方面中只有两个可以同时完全实现。为了能处理大型分布式系统

6、,让我们深入了解所采用的不同CAP特征。很多NOSQL数据库首先已经放宽了对于一致性(C)的要求,以期得到更好的可用性(A)和分区容忍性(P)。这产生了被称为BASE(基本(B)可用性(A)、软状态(S)、最终一致性(E))的系统。它们没有经典意义上的事务,并且在数据模型上引入了约束,以支持更好的分区模式(如Dynamo系统等)。关于CAP、ACID和BASE的更深入讨论可以在这篇介绍里找到。2.复杂度蛋白质同源网络(ProteinHomologyNetwork),感谢AlexAdai:细胞和分子生物学院-德州大学数据和系统的互联性增加产生了一种无法用简单明了或

7、领域无关(domain-independent)方式进行伸缩和自动分区的稠密数据集,甚至连ToddHoff也提到了这一问题。关于大型复杂数据集的可视化内容可以访问可视化复杂度(VisualComplexity)。关系模型在把关系数据模型扔进故纸堆之前,我们不应该忘记关系数据库系统成功的一个原因是遵照E.F.Codd的想法,关系数据模型通过规范化的手段原则上能够建模任何数据结构且没有信息冗余和丢失。建模完成之后,就可以使用SQL以一种非常强大的方式插入、修改和查询数据。甚至有些数据库,为了插入速度或针对不同使用情况(如OLTP、OLAP、Web应用或报表)的多维查

8、询(星形模式),对模式实

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。