一、SQL VS NoSQL

SQL:关系型数据库,用SQL语句来操作数据

NOSQL:非关系型数据库,NoSQL的含义是不仅仅有SQL,而实际上大多数NoSQL不用SQL来操作数据

常见的关系型数据库:MySQL、Oracle、SQLServer、PostGreSQL

常见的非关系型数据库:HBase、MongoDB、Redies

关系型数据库的特点:

1.按照一定结构进行存储,如数据都存储在二维的表结构中,每一行数据具有相同的列属性

关系型数据库的改进:Json属性的列可以存储非结构化的数据

2.支持事务的原子性、一致性、隔离性、持久性

3.支持用SQL语言对存储在其中的数据进行操作

关系型数据库的使用场景:

1.数据之间存在着一定的关系,需要关联查询数据的场景

2.需要事务支持的业务场景

3.需要使用SQL语言灵活操作数据的场景

非关系型数据库的特点:

1.存储结构灵活,不需要固定的结构,如在MongoDB中每一行的数据以Json的形式存在,每一行的数据的列属性可以不同,但是这样的存储方式也有坏处,在不考虑压缩的情况下每一行都有自己的列属性,会占用许多存储空间,对于同样大小的数据非关系型数据库耗费的存储空间更多。

2.对事务的支持比较弱,查询或写入数据时,不需要检查数据的结构完整性,节约了很多时间,因此对数据的并发处理性能高。

3.大多数不用SQL语言来操作,如MongoDB采用js来操作数据

非关系型数据库的适用场景:

数据结构没法确定的场景,以及不同的行有不同的属性的场景,如有的数据的列属性是质量、长、宽、而有的数据的列属性是颜色、厚度

对事务要求不高对数据的完整性要求不高而对并发量要求高的场景

对数据的处理操作比较简单的场景

二、如何选择关系型数据库

1.数据库的广泛性,使用得多的数据库更稳定,而且可以查找的资料更多

2.数据库的可拓展性

3.数据库的安全性和稳定性

4.数据库所支持的系统,如有的数据库在linux系统上是免费的

5.数据库的使用成本,在主流的关系型数据库中MySQL是免费的而且性能好

三、MySQL的优势

1.开源免费且性能仅次与Oracle数据库

2.可扩展性好:支持基于二进制日志的逻辑复制,配置灵活

3.市场上存在多种第三方数据库中间层,支持读写分离及分库分表,如myCat

4.安全性和稳定性:MySQL主从复制集群可到99%的可用性,配合主从复制高可用架构可以达到99.99%的可用性,支持对存储在MySQL的数据进行分级安全控制。

5.支持linux和windows系统

6.社区版本免费,使用人群多方便获取技术支持。

MySQL8.0-NoSQL和SQL的对比及MySQL的优势的更多相关文章

  1. MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法

    MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法 事情的起因     今天课堂上要展示小组项目,需要用一个软件叫W ...

  2. Centos7安装MySQL8.0 - 操作手册

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) ...

  3. Mysql8.0.11安装以及注意事项

    一.环境配置 首先在官网下载最新的mysql8.0.11数据库,解压到你需要放置的盘符最好不要有中文,然后新建MYSQL_HOME,参数为mysql解压后安装文件的bin文件路径如我的:变量名:MYS ...

  4. MySQL8.0初体验

    MySQL8.0的官方社区开源版出来有段时间了,而percona的8.0版本还没有正式对外发布(已发布测试版),一直以来也没安装体验下这个号称质的飞跃的版本,今天正好有些时间就下了安装体验体验. 一. ...

  5. win10下安装配置mysql-8.0.13--实战可用

    1.下载mysql-8.0.13安装包 1 https://dev.mysql.com/downloads/mysql/ 选择zip安装包下载就好. 2.解压到你要安装的目录 3.创建my.ini配置 ...

  6. mysql8.0授权远程登录

    之前一直用mysql5.6 远程授权登录,后来换mysql8.0原来的授权方式报错 mysql> grant all privileges on *.* to 'root'@'%' identi ...

  7. CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin,mysql8.0.1/mysql5.7.22+centos7,windows mysql安装、配置

    介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...

  8. MySQL8.0.28安装教程全程参考MySQL官方文档

    前言 为了MySQL8.0.28安装教程我竟然在MySQL官方文档逛了一天,至此献给想入门MySQL8.0的初学者.以目前最新版本的MySQL8.0.28为示例进行安装与初步使用的详细讲解,面向初学者 ...

  9. 实践:Linux下安装mysql8.0

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.下载mysql8.0安装包 1.在local创建mysql文件夹 cd /usr/local mkdir mysql cd mysql 2.使 ...

随机推荐

  1. 【转载】 C#检测输入的内容中是否含有中文

    在C#开发中,可以结合正则表达式,来检测输入的内容中是否包含中文,Regex类是C#中有关正则表达式处理的相关类,功能强大,我们只需要设置好规则,即可很快检测出输入的字符串内容中是否含有中文信息. R ...

  2. JavaScript 基础结构

    注释      代码注释可以使用//或者/* */ // 这是一个单行注释 /* * 这是 * 一个 * 多行 * 注释 */ 变量      变量用于存储数据,在同一作用域内变量不得重名,定义语法: ...

  3. RabbitMQ如何工作和RabbitMQ核心概念

    RabbitMQ是一个开源的消息代理软件.它接受来自生产者的消息并将其传递给消费者.它就像一个中间人,可以用来减少Web应用程序服务器的负载和交付时间. RabbitMQ如何工作 让我们简要介绍一下R ...

  4. mathjs,math.js解决js运算精度问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 华为有AI,这场转型战有点大

    华为有AI,这场转型战有点大 https://mp.weixin.qq.com/s/qnUP5cgbNxXcAT82NQARtA 李根 发自 凹非寺 量子位 报道 | 公众号 QbitAI 华为有AI ...

  6. iOS-----------进阶书籍收藏

    1.编写高质量iOS与OS X代码的52个有效方法 (Effective Objective-C 2.0) 这本书介绍了一些OC的语法技巧,runtime,内存管理等方面的知识.书已买,准备入手. 2 ...

  7. 算法: 整数中1出现的次数(从1到n整数中1出现的次数)

    问题: 整数中1出现的次数(从1到n整数中1出现的次数) 问题:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数? 为此他特别数了一下1~13中包含1的数字有1.10.11 ...

  8. 【原】Java学习笔记008 - 方法(函数)

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 方法/函数 Met ...

  9. GMM算法的matlab程序

    GMM算法的matlab程序 在“GMM算法的matlab程序(初步)”这篇文章中已经用matlab程序对iris数据库进行简单的实现,下面的程序最终的目的是求准确度. 作者:凯鲁嘎吉 - 博客园 h ...

  10. 爬虫系列二(数据清洗--->正则表达式)

    一 正则常识 模式 描述 \w 匹配字母数字及下划线 \W 匹配非字母数字及下划线 \s 匹配任意空白字符,等价于 [\t\n\r\f]. \S 匹配任意非空字符 \d 匹配任意数字,等价于 [0-9 ...