一、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#多线程编程的同步也线程安全

    前一篇文章记录了简单的多线程编程的几种方式,但是在实际的项目中,也需要等待多线程执行完成之后再执行的方法,这个就叫做多线程的同步,或者,由于多个线程对同一对象的同时操作造成数据错乱,需要线程安全.这篇 ...

  2. JSON 数据转换

    JSON概述      JSON(Java Script Object Notation)JS对象符号,通常JSON和XML是二选一的,JSON的数据格式很类似于JavaScript的对象 { &qu ...

  3. 【转】Android 之最新最全的Intent传递数据方法

    原文地址:https://www.jianshu.com/p/1169dba99261 intent传递数据 为什么要和intent单独拿出来讲,因为Intent传递数据也是非常重要的 一.简单的传递 ...

  4. php 关于经纬度距离计算方法

    1.PHP实现通过经纬度计算距离 单位为公里 function getdistance($lng1,$lat1,$lng2,$lat2)//根据经纬度计算距离 { //将角度转为狐度  $radLat ...

  5. (二)阿里云ECS Linux服务器外网无法连接MySQL解决方法(报错2003- Can't connect MySQL Server on 'x.x.x.x'(10038))(自己亲身遇到的问题是防火墙的问题已经解决)

    我的服务器买的是阿里云ECS linux系统.为了更好的操作数据库,我希望可以用navicat for mysql管理我的数据库. 当我按照正常的模式去链接mysql的时候, 报错提示: - Can' ...

  6. 第六课 Html5常用标签 html5学习1

    HTML标签的认识一.标签的分类1.双标签 如<html> </html>2.单标签 如<br \> 换行标签 二.标签的关系1.嵌套关系 如<head> ...

  7. Nginx基础知识

    1.nginx正向代理.反向代理 正向代理: 在如今的网络环境下,如果由于技术需要要去访问国外的某些网站,此时会发现位于国外的某网站通过浏览器是没有办法访问的,此时大家可能都会用一个操作FQ进行访问, ...

  8. alfs学习笔记-自动化构建lfs系统

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一名linux爱好者,记录构建Linux From Scratch的过程 经博客园-骏马金龙前辈介绍,开始接触学习lfs,用博客 ...

  9. android找不到aar包

    转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/9939663.html  在做项目的时候引入aar包,编译的时候却提示错误(这个错误大概说的是...... ...

  10. 什么是基于风险的测试(RBT)?

    基于风险的测试(Risk-based testing) 文/杨学明 一.基于风险的测试起源 基于风险的测试起源,在软件测试领域,基于风险测试最早的是测试大师Boris Beizer<软件测试技术 ...