1. 键值数据库
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了罗山免费建站欢迎大家使用!
相关产品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached
应用:内容缓存
优点:扩展性好、灵活性好、大量写操作时性能高
缺点:无法存储结构化信息、条件查询效率较低
使用者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)
2. 列族数据库
相关产品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS
应用:分布式数据存储与管理
优点:查找速度快、可扩展性强、容易进行分布式扩展、复杂性低
使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)
3. 文档数据库
相关产品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit
应用:存储、索引并管理面向文档的数据或者类似的半结构化数据
优点:性能好、灵活性高、复杂性低、数据结构灵活
缺点:缺乏统一的查询语言
使用者:百度云数据库(MongoDB)、SAP(MongoDB)
4. 图形数据库
图形数据库-使用图作为数据模型来存储数据。
相关产品:Neo4J、OrientDB、InfoGrid、GraphDB
应用:大量复杂、互连接、低结构化的图结构场合,如社交网络、推荐系统等
优点:灵活性高、支持复杂的图形算法、可用于构建复杂的关系图谱
缺点:复杂性高、只能支持一定的数据规模
使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)
nosql数据库的四种类型如下:
1.key-value键值存储数据库:
相关产品: Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached.
主要应用: 内容缓存,处理大量数据的高负载访问,也用于系统日志。
优点:查找速度快,大量操作时性能高。
2.列存储数据库:
相关产品: BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS.
主要应用: 分布式数据的储存与管理。
优点:查找速度快,可扩展性强,容易进行分布式扩展。
缺点:功能相对局限。
3.文档型数据库
相关产品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit.
主要应用: web应用,管理面向文档的数据或者类似的半结构化数据。
优点:数据结构灵活,表结构可变,复杂性低。
缺点:查询效率低,且缺乏统一的查询语言。
4.Graph图形数据库
相关产品: Neo4J、OrientDB、InfoGrid、GraphDB.
主要应用: 复杂,互连接,低结构化的图结构场合, 专注构建关系图谱。
优点: 利用图结构相关算法, 可用于构建复杂的关系图谱。
缺点: 复杂度高。
No SQL DB是一种和关系型数据库相对应的对象数据库。按照数据模型保存性质将当前NoSQL分为四种:
1.Key-value stores键值存储, 保存keys+BLOBs
2.Table-oriented 面向表, 主要有Google的BigTable和Cassandra.
3.Document-oriented面向文本, 文本是一种类似XML文档,MongoDB 和 CouchDB
4.Graph-oriented 面向图论. 如Neo4J.
关系型数据库的弊端:
关系型数据库的历史已经有30余年了,因此,在某些情况下,关系型数据库的弱点就会暴露出来:
1. “对象-关系 阻抗不匹配”。关系模型和面向对象模型在概念上存在天然的不匹配的地方,比如对象模型当中特有的“继承”,“组合”,“聚合”,“依赖”的概念在关系模型当中是不存在的。
2. “模式演进”。即随着时间的推移,需要对数据库模式进行调整以便适应新的需求,然而,对数据库模式的调整是的成本很高的动作,因此很多设计师在系统设计之初会设计一个兼容性很强的数据库模式,以应对将来可能出现的需求,然而在现在的web系统开发过程中,系统的变更更加频繁,几乎无法预先设计出一种“万能”的数据库模式以满足所有的需求,因此 模式演进的弊端就愈发凸显。
3. 关系型数据库处理 稀疏表时的性能非常差。
4. networkoriented data 很适合处理 人工智能、社交网络中的一些需求。
所以,各种各样的No SQL DB 出现了,这里只简单介绍下Neo4J 的基本知识。
Neo 数据模型
Neo4J 是一个基于图实现的No SQL DB, 其基本的数据类型有如下几种:
Node, Relationship, Property.
Node 对应于图中的 节点,Relationship 对应图中的边,Node 和 Relationship 都可以拥有Property,
Property 的数据结构为。
数据遍历
Neo 提供了Traverser对数据中的数据进行遍历。
nosql四大分类:1、KV键值对。
2、文档型数据库。
3、列存储数据库。
4、图关系数据库。nosql是非关系型数据库,NoSQL(NotOnlySQL),意思是"不仅仅是SQL",指的是非关系型数据库,是对不同于传统的关系型数据库的数据库管理系统的统称。