一、什么是非关系型数据库?
1、非关系型数据库就是区别于关系型数据库的数据库。
2、虽然说起来有点绕嘴,但是非关系型数据库就是因为,关系型数据库处理不了的一些读写问题而产生的数据库
3、我们常用的非关系型数据库有:Redis,HBase,Mongodb;关系型数据库有:mysql,oracle,DB2
二、非关系型数据库相对于关系型数据库的比较
1、成本低,nosql数据库相对于关系型数据库来说,简单易部署,基本都是开源的软件,不用花钱去购买
2、查询速度快,nosql数据库将数据存储到缓存中,关系型数据库将数据存储到磁盘上
3、存储类型多样,nosql数据库可以存储key-value形式的数据,文档,图片等基础数据类型或者集合等多种形式,而关系型数据库只能存储基本数据类型
4、扩展性好,关系型数据库中有类似于join这种查询机制的限制,而nosql没有
5、虽然nosql有很多优点,但是他毕竟相对于sql来说还很年轻,属于新技术,所以nosql的维护工具和资料不多,而且不提供关系型数据库对事物的处理技术。
三、非关系型数据库与关系型数据库各自的优势
1、nosql的优势
1)nosql是基于键值对存储的,不需要经过sql层的解析,所以性能很高
2)用键值对形式存储的数据之间没有耦合性,容易进行水平扩展
2、关系型数据库的优势
1)可以用sql语句进行多表的联查
2)提供事务支持,从而可以访问一些安全性能高的数据。

四、sql与nosql区别总结
1、基于的模型:
由于sql是有事务的,所以他是基于ACID模型(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))的;而nosql是基于CAP模型(分区容错性Partition tolerance,一致性Consistency,可用性Availability )的。
2,、数据存储结构:
关系型数据库一般都有固定的表结构需要通过DDL(创建表需要用的SQL语句Create,Drop等)来改变表结构,不容易进行扩展
非关系型数据库的存储机制很多,比如k-v键值对,文档,图片等,对存数的数据格式要求很少,表结构也很灵活,方便扩展
3、可扩展性
sql型数据库横向扩展很难,不好对数据进行分片等,而nosql性能数据库天生就支持数据的水平扩展
4、数据一致性
由于他们基于的模式不同,对数据的一致性要求也就不尽相同,sql基于ACID模型,要求数据的强一致性,数据在存储过程中要求一直相同,而nosql基于的模型是CAP,要求的是数据最终一致性,不要求中间也要相同。

关系型数据库sql与非关系型数据库nosql相关推荐

  1. 数据库SQL Server 如何将数据库表名等前缀转换成dbo

    数据库SQL Server 如何将数据库表名前缀,框架名前缀,视图前缀,存储过程前缀转换成dbo exec sp_msforeachtable 'sp_changeobjectowner ''?'', ...

  2. mysql 在不同的数据库间查询语句_有关数据库SQL递归查询在不同数据库中的实现方法...

    本文给大家介绍有关数据库SQL递归查询在不同数据库中的实现方法,具体内容请看下文. 比如表结构数据如下: Table:Tree ID Name ParentId 1 一级  0 2  二级 1 3  ...

  3. 关系型数据库MySql与非关系型数据库NoSql

    云计算背后的秘密:NoSQL诞生的原因和优缺点 我本来一直觉得NoSQL其实很容易理解的,我本身也已经对NoSQL有了非常深入的研究,但是在最近准备YunTable的Chart的时候,发现NoSQL不 ...

  4. 【数据库学习】非关系数据库(NoSQL:“non-relational”)

    1,概念 NoSQL,泛指非关系型的数据库. NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题. 关系数据库和非关系数据库区别: 数据库类型 定义 优点 缺 ...

  5. mysql数据库sql语法参考_MySQL数据库SQL语法参考

    一.资料定义 ddl(data definition language) 资料定语言是指对资料的格式和形态下定义的语言,他是每个资料库要建立时候时首先要面对的,举凡资料分哪些表格关系.表格内的有什麽栏 ...

  6. python 如何操作数据库 sql sqlite3 怎样操作数据库

    sqlite3模块不同于PyMySQL模块,PyMySQL是一个python与mysql的沟通管道,需要你在本地安装配置好mysql才能使用,而SQLite是python自带的数据库,不需要任何配置, ...

  7. 数据库SQL语句 创建一个数据库,创建表,并添加约束

    USE master Go 进入master模式 创建数据库 USE master GOCREATE DATABASE TestData ON PRIMARY (Name = 'TestData',F ...

  8. 如何将数据库SQL同步转成数据库设计文档

    写在前面 这里记录下,从数据库表结构,同步到数据库文档设计Word文档 我们需要的文档信息,大致如下 一.基本环境 Navicate + Java 环境(从Excel转Word) 二.准备数据 SEL ...

  9. oracle数据库sql基础知识,Oracle数据库基础知识为内部培训资料.doc

    PAGE 1 课程 IL001100 ORACLE数据库基础知识 ISSUE1.0 开心Java整理 IL001100 ORACLE数据库基础知识 ISSUE1.0 目录 PAGE 1 PAGE 45 ...

最新文章

  1. 完整显示动态时间的功能HTML,JS实现HTML页面中动态显示当前时间完整示例_气质_前端开发者...
  2. C#中运行命令行截取输出流的例子
  3. SQL Cookbook:一、检索记录(1)从表中检索所有行和列
  4. matlab-画个拱桥和倒影?
  5. java,UDP协议简单实现
  6. 计算机科学与技术专业 翻译,计算机科学与技术专业外文翻译--网络.doc
  7. 8张图告诉你如何运营微信公众号
  8. win7 CapsLooks键 转换成Ctrl键
  9. java redis缓存实例_spring项目整合ehcache和redis缓存实例
  10. mysql common是什么_MySQL common_schema简介
  11. 苹果AirPods 2新爆料:无线充电盒重量增加 支持快速充电
  12. python 生成exe 并 执行程序
  13. 高清电视开播:大多用户仍难跨入
  14. python类方法和实例方法的区别_python中的类方法,实例方法和静态方法的区别
  15. 【牛腩】牛腩新闻发布系统总结
  16. meta分析的基本步骤是什么-附实例讲解,meta分析七步快速见刊策略
  17. 进销存excel_Excel做管理实在不好用,有没有免费的进销存软件?
  18. 服务器PHPWAMP_IN2安装redis
  19. DP动态规划思想讲解
  20. There are 1 missing blocks. The following files may be corrupted:

热门文章

  1. excel怎么把竖排变成横排_excel录入技巧:如何进行日期格式的转换
  2. 慧通教育——python进阶习题第二关(二)
  3. selenium2library 如何定位伪元素,比如::before
  4. 跟老齐学python轻松入门_跟别人聊天没有话题怎么办?
  5. java 获取区间随机数_Java获取随机数的3种方法
  6. java与python多态的区别_什么是多态,Python多态及用法详解
  7. VIM安装YCM插件的详细步骤
  8. 什么是先验概率?什么是后验概率?
  9. 英特尔重启超级计算机技术
  10. Android的app inventor下载地址