文章目录

  • 一、关系型数据库和非关系型
      • 1、数据存储方式不同。
      • 2、扩展方式不同。
      • 3、对事务性的支持不同。
  • 二、常见的数据库管理系统
  • 三、oracle和mysql的区别
  • 四、NoSQL数据库四大家族
      • 1、键值(Key-Value)存储
      • 2、文档(Document-Oriented)存储
      • 3、列(Wide Column Store/Column-Family)存储
      • 4、图形(Graph-Oriented)存储

一、关系型数据库和非关系型

1、数据存储方式不同。

关系型数据天然就是表格式的,因此存储在数据表的行和列中,结构化存储。
非关系型数据通常存储在数据集中,就像文档键值对列存储结构。

2、扩展方式不同。

在基于web的结构中,关系型数据库是最难以横向拓展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库没有办法像web Server那样简单的通过添加更多的硬件和服务节点来拓展性能和负载能力。通常要优化机器性能。
而非关系型数据存储天然就是分布式的,NoSQL数据库是横向扩展的,可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。

3、对事务性的支持不同。

如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。
NoSQL数据库是最终一致性,一般不保证ACID的数据存储系统,具有极高的并发读写性能,真正闪亮的价值是在操作的扩展性和大数据量处理方面。

二、常见的数据库管理系统

常见的数据库管理系统:https://db-engines/en/ranking,统计中364款数据库引擎排名靠前的,结合类型,你就知道关系型还是非关系型,以及它的重要性和地位了,你可以去学习研究啦~~

三、oracle和mysql的区别

两款最常用的关系型数据库oracle和mysql区别:

  • Oracle是大型数据库,市场占有率高,而MySQL是中小型数据库,市场占有率小;
  • MySQL是开源的,而Oracle是收费的;
  • Oracle的安装使用内存占有量非常大,而mysql非常小
  • MySQL默认自动提交,Oracle需要用户手动提交;
  • MySQL支持主键自增长,指定主键为auto increment,插入时会自动增长。Oracle主键一般使用序列;
  • MySQL分页用limit关键字,而Oracle使用rownum字段表明位置,而且只能使用小于,不能使用大于;
  • MySQL字符串可以使用双引号包起来,而Oracle只可以单引号;
  • Oracle默认事务隔离是读已提交,mysql默认可重复读;
  • Oracle多种成熟的性能诊断和调优工具,mysql表较少,主要依赖慢查询;
  • MySQL在windows环境下大小写不敏感 在unix,linux环境下区分大小写,Oracle不区分;
  • Oracle逻辑备份时不需要锁定数据,mysql需要锁定数据才能保持一致;

四、NoSQL数据库四大家族

1、键值(Key-Value)存储

优点:查询快
缺点:数据无结构化,通常只被当做字符串和二进制数据存储
应用场景:内容缓存、用户信息(会话、配置信息、购物车等),主要处理大量数据的高访问负载
代表Redis、Memcached

2、文档(Document-Oriented)存储

特点:将数据以文档形式存储,类似json,是一系列数据项的集合,值既可以是简单的数据类型,也可以是复杂的类型,如有序列表和关联对象
优点:数据结构要求不严格,表结构可变
缺点:查询性能不高,缺乏统一的查询语法
应用场景:日志、Web应用
代表Mongdb、CouchDB

3、列(Wide Column Store/Column-Family)存储

特点:将数据存储在列族中,,将多个列聚合成一个列族,键仍然存在,但是他们的特点是指向了多个列。一般用于大数据开发场景比较多。
优点:列存储查找速度快,可扩展行强,更容易进行分布式扩展,适用于分布式的文件系统,应对分布式存储的海量数据
缺点:查询性能不高,缺乏统一的查询语法
应用场景:日志、分布式文件系统(对象存储)、时空数据、推荐画像、消息/订单等。
代表:Cassandra、Hbase

4、图形(Graph-Oriented)存储

特点:图形数据库允许我们将数据以图的方式存储
优点:图形相关算法。比如最短路径寻址,N度关系查找等
缺点:有时需要对整个图计算才能得出需要信息,分布式的集群方案不好做,处理超级节点乏力,没有分片存储
应用场景:社交网络、推荐系统等。专注于构建关系图谱。
代表:Neo4j、Infinite Graph

更多推荐

关系型数据库和非关系型区别