一、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. BootStrap之 提示工具(Tooltip)插件

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. linux yum配置代理

    yum里面可以单独设置代理就是yum源的参数加proxy=“http://ip:PORT”即在/etc/yum.conf中加入下面几句.proxy=http://210.45.72.XX:808pro ...

  3. JSON字符串反序列化成对象_部分属性值反序列化失败

    简介:本人在开发webapi接口时遇到了:一个复杂的Json字符串在反序列化为对象时报,无法发序列化其中的一个属性对象? 使用方法: InternalRecommendRequestFormModel ...

  4. PHP 中的CURL 模拟表单的post提交

    废话不多说啦,直接上代码: <?php $data = ['username'=>'乔峰','skill'=>'擒龙手']; $headers = array('Content-Ty ...

  5. Android网络图片转换成bitmap保存到本地指定文件夹

    下列代码,请求网络图片转换为bitmap,然后保存到指定文件夹,微信,QQ分享,要求缩略图不大于32kb 压缩图片代码,使用了Glide来进行图片压缩处理 Glide.get(ShopDetailsA ...

  6. [Android][Recovery] Recovery下找不到sdcard路径

    做升级的时候,把更新包拷贝到sd卡中,然后调用接口进行重启升级 wossoneri.github.io File update_file = new File("/sdcard/update ...

  7. net view 提示6118错误 解决方法。

    1.win+R ,输入services.msc 开启服务:Server ,WorkStation,computer Browser 2.如果你的电脑没有computer Browser服务,win+R ...

  8. asp.net --> 初识WCF

    对于刚开始接触wcf的同志,可以有效的理解wcf的使用场景. 引用该文章(点击查看),简单的介绍wcf的使用.另一篇文章(点击查看),和上述文章内容差不多.

  9. crosstool-ng-1.22.0搭建开发环境

        Ubuntu16.04无法安装libtool,只能在Ubuntu14.04以下版本安装. cp 下载/crosstool-ng-1.22.0.tar.bz2 /home/hou/ tar -x ...

  10. spark-2.4.0-hadoop2.7-安装部署

    1. 主机规划 主机名称 IP地址 操作系统 部署软件 运行进程 备注 mini01 172.16.1.11[内网] 10.0.0.11  [外网] CentOS 7.5 Jdk-8.zookeepe ...