一、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. DSAPI多功能组件编程应用-HTTP监听服务端与客户端

    本文中,演示了使用DSAPI.网络相关.HTTP监听,快速建立服务端和客户端. HTTP监听服务端的作用,是监听指定计算机端口,以实现与IIS相同的解析服务,提供客户端的网页请求,当然,这不仅仅是应用 ...

  2. linux 内核的优化

    修改下面的这些参数,如果没有的话.直接复制进去就可以了 vim /etc/sysctl.conf 参数修改 vm.swappiness = net.ipv4.neigh. net.ipv4.conf. ...

  3. windows server 2012/2016 设置多用户远程桌面(转载)

    方案一: 该方案只能满足两个人同时远程. 方案二: https://blog.csdn.net/flyingshuai/article/details/77869279

  4. Java开发笔记(八)五种算术运算符

    计算机科学起源于数学,早期的计算机也确实多用于数学运算,以至于后来的各路编程语言,仍然保留着古老的加减乘除四则运算.这四则运算在Java语言中有专门的运算符加以表示,像加法符号“+”对应Java的“+ ...

  5. TensorFlow与Flask结合识别手写体数字

    阅读本文约“2.2分钟” TensorFlow框架 ——TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统 ——可被用于语音识别或图像识别等多项机器学习和深度学习领域 ...

  6. CANVAS画布与SVG的区别

    CANVAS是html5提供的新元素<canvas>,而svg存在的历史要比canvas久远,svg并不是html5专有的标签,最初svg是用xml技术(超文本扩展语言,可以自定义标签或属 ...

  7. springmvc实现视频上传+进度条

    前台表单: <form id="uploadform" method="post" enctype="multipart/form-data&q ...

  8. Android 使用Glide加载网络图片等比例缩放

    在做android图片加载的时候,由于手机屏幕受限,很多大图加载过来的时候,我们要求等比例缩放,比如按照固定的宽度,等比例缩放高度,使得图片的尺寸比例得到相应的缩放,但图片没有变形.显然按照andro ...

  9. 关于使用阿里OSS服务搭建图床和使用PicGO上传图片到图床

    最近喜欢上了使用markdown来写博客,可是markdown的图片却是本地的,如果我要发博客,那么又要重复截图了.于是干脆弄了个图床,本地截图的时候上传到图床,markdown中的代码结果也是图床里 ...

  10. ASP.NET Zero--后端应用程序

    后端应用程序 这是用户名和密码输入的实际应用程序.您将主要在此应用程序上添加您的业务需求. 应用文件夹 后端应用程序默认内置在专用区域,名为“ App ”,但可以在创建解决方案时确定.因此,所有控制器 ...