mysql基础之mariadb概念
一、数据库介绍
什么是数据库(Database)?
简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据
更简单的理解形象,数据库和我们生活追踪存放杂物的储物间仓库性质一样,区别只是存放的东西不通,杂物间存放实体的物件,而数据库里存储的是数据,这样我们就对数据库有一个初步了解了。
数据库诞生于1950年,随着信息技术的发展和人类社会的不断进步,特别是2000年后,数据库不在仅仅是存储和管理数据了,而转变成用户所需要的各种数据管理的方式,数据库有很多种类和功能,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
主流的数据库有:sqlserver,mysql,Oracle、SQLite、Access、MS SQL Server等
二、MySQL简介
MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。SQL(结构化查询语言(Structured Query Language))是世界上最流行的和标准化的数据库语言,它使得存储、更新和存取信息更加容易。
MySQL是一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和许多不同的客户程序以及库组成的。
分为关系数据库(mysql、sqlserver、oracle、db2、mariadb)和非关系型数据库(redis、mongodb)。


三、关系型数据库
(1)介绍
关系型数据库模型是把复杂的数据结构归结为简单的二元关系(既二维格式表)
(2)概念
关系:存储数据的表的表名
元组:就是表中的一条记录(一行就是一条记录)
属性:就是表中的一个字段(一列就是一个字段)
域:字段的取值范围
关键字:可以唯一标识一条记录的字段(这也是一个或多个字段)
关系模型:表和表之间的关系
(3)优点
1)易于维护:都是使用表结构,格式一致;(主要用于保证数据完整、数据一致)
2)使用方便:SQL语言通用,可用于复杂查询;
3)复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
(4)缺点
1)事务一致性(数据一致性):为了保证数据的完整,会带来额外的开销,导致性能降低
2)关系型数据库在高并发的读写I/O请求下,会是程序系统的性能瓶颈
3)固定的表结构,灵活度稍欠,可扩展性差(拆分,分库,分表)
4)读写的时效性差,读写性能差
5)需要写复杂的SQL,甚至需要用多表联合查询
四、非关系型数据库(nosql)
(1)概念
非关系型数据库也称之为nosql数据库,请注意,nosql的本意是“not only SQL”,指的是非关系型数据库,而不是“no SQL”的意思,因此nosql的产生并不是要彻底否定关系型数据库,而是作为传统关系型数据库的一个有效补充,NoSQL数据库在特定的场景下可以发挥出难以想象的高效率和高性能。
通常是作为关系型数据库的一个补充,而且不遵循ACID;通常NoSQL是以key-value的方式存储
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
随着互联网的兴起,超大规模和高并发量的微博,微信,SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:传统的关系型数据库IO瓶颈,性能瓶颈都难以有效突破,于是开始出现了大批针对特定场景,以高性能和使用便利为目的的功能特异化的数据库产品,NoSQL类的数据库就是在这样的情景中诞生并得到了非常迅速的发展
NoSQL是非关系型数据库的广义定义。它打破了长久以来关系型数据库与ACID理论大一统的局面,NoSQL数据存储不需要固定的表结构,通常也不存在连接操作,在大数据存取上具备关系型数据库无法比拟的性能优势,该术语(NoSQL)在2009年初得到了广泛的认同
google的BigTable与Amazon的Dynamo是非常成功的商业NoSQL,一些开源的NoSQL体系,如
Redis, mongodb也逐渐的越来越受到各大中小型企业的欢迎和追捧
(2)优点
1)格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2)速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3)高扩展性;
4)成本低:nosql数据库部署简单,基本都是开源软件。
(3)缺点
1)不提供sql支持,学习和使用成本较高;
2)无事务处理;
3)数据结构相对复杂,复杂查询方面稍欠。
(4)分类
类型1:key-value
借助于hash表实现快速读写
特点:简单、容易部署、高并发状态下性能好
产品: redis:内存+磁盘
emcached:纯内存的数据库
类型2:列式存储数据库
Column Family(列簇)
通常场景:用来实现分布式海量数据存储
产品: HBbase
Cassandra
类型3:面向文档的数据库
数据库中所存放的是文档
产品: MongoDB
类型4:图形数据库
graph
五、选择MySQL的理由
1. BAT都在用mysql,而且往往都是从oracle切换到了mysql
2. 性能好,而且稳定
3. 开源
4. 社区活跃
5. 轻量级
6. 维护简单
7. 支持跨平台
8. 支持多种语言(编码)
9. 执行用sql进行数据的读写
六、MySQL的版本
1、版本
社区版:社区人员自行维护的版本,没有售后
商业版:各种功能都是经过官方测试稳定,而且有完善的售后服务
2、MySQL发行版本
Alpha版
beta版
RC版
GA版
3、MySQL的产品线
第一条:5.0-5.1,5.1稳定版
第二条:5.4-5.7,5.5 5.7稳定
第三条:6.0 7.0 8.0 ,最新8.0
4、生产环境中如何选择版本
1) 选择社区版
2) 选择稳定版
3) 建议选择发布时间在6个月以上的稳定
4) 关注版本最近是否有修复补丁
5) 注意是否和开发人员使用的数据兼容
6) 注意是否和现有数据库兼容
7) 现版本的数据库就建议在内部测试运行3-6个月以上
8) 在从原有数据库转移数据的过程中,建议先转移非核心数据,测试是否正常
七、RDBMS
Relational Database Management System关系数据库管理系统

1、sql语句主要分为:
DQL:数据查询语言,用于对数据进行查询,如select
DML:数据库操作语言,对数据库进行增删改查,如:insert,update,delete
TPL:事物处理语言,对事物进行处理,包括begin,transaction,commit,rollback
DCL:数据控制语言,如grant,revoke
DDL:数据定义语言:进行数据库,表的管理等,如create,drop
CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
2、sql是一门特殊的语言,专门用来操作关系型数据库
3、不区分大小写

mysql基础之mariadb概念的更多相关文章
- mysql基础之mariadb galera集群(多主)
一.概念 galera集群多用于关键性业务,因为galera集群为了数据的一致性,采用的是同步的机制,这就使galera牺牲了一部分性能来换取数据一致性. galera集群是基于wsrep协议(端口4 ...
- mysql基础之mariadb库管理和表管理语句
一.数据库管理语句 1.Syntax: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... cr ...
- mysql基础之mariadb的安装,连接,用户,密码,权限设置语句详解
一.mariadb安装 1.配置mariadb源: [root@ren7 ~]# vim /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB ...
- mysql基础之mariadb对表中数据的增删改查
复习: 查看表:show tables; 创建表:create table 表名(字符类型); 删除表:drop table 表名; 对表的结构进行增删改查: 查看表结构:desc 表名; 修改表-添 ...
- Mysql 基础 1
MySQL基础 1.概念 数据库,为我们提供高效.便捷的方式对数据进行增删改查的工具 优势 程序稳定.数据一致性.并发.效率 2.数据库管理系统 (DataBase Management System ...
- MySQL基础概念知多少
MySQL基础概念相关的名词还是挺多的,比如3大范式.4种隔离界别.ACID.DQL.DML.DDL,还有redo.undo.binlog等,本文就统一整理下MySQL常见的基础概念,方便小伙伴们翻阅 ...
- MySQL基础、MySQL安装和MariaDB安装
MySQL基础 目录 MySQL基础 关系型数据库介绍 数据结构模型 RDBMS专业名词 关系型数据库的常见组件 SQL语句 MySQL安装与配置 MySQL安装 MariaDB安装 关系型数据库介绍 ...
- Linux系统——MySQL基础(一)
# 数据库 ## 数据库简单的分类:(1)关系型数据库:MySQL和Oracle.Postgresql(2)非关系型数据库:Memcached和Redis(3)消息队列中间件(4)搜索引擎数据库:El ...
- MySQL基础----py全栈
目录 MySQL基础----py全栈 一.引言 1.什么是数据? 2.什么是数据库(DB)? 3.什么是数据库管理系统(DBMS)? 4.什么是数据库系统? 5.数据库管理系统由来 6.什么是数据模型 ...
随机推荐
- Visual Studio 2015 无法加载.Net FrameWork4.6.2
默认的VS2015是没有.Net Framework4.6.2的 需要我们去到微软官网下载对应的.NET Framework 4.6.2的安装包 安装包分两种,一种是应用级别的还一种是开发级别的,如果 ...
- Azure Digital Twins(2)- 在本地使用ADT Explorer 管理数字孪生
本文介绍: 在本地运行ADT Explorer 并连接Azure Digital Twins 实例: 使用 VS CODE DTDL插件开发第一个 模型文件: ADT Explorer的几个基本功能: ...
- 如何保证Redis的高并发和高可用?
就是如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了,redis高可用 redis高并发:主从 ...
- Java 8 Optional
这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. package com.polaris; import java.util.A ...
- Go-27-import导包
import 导入包 包的搜索顺序: import ( "fmt" "net/http" "mypkg" ) 编译器会根据上面指定的相对路径 ...
- HUAWEI AppGallery Connect获得SOC国际权威认证,多举措保护信息和隐私安全
近日,华为应用市场AppGallery Connect(简称AGC)一次性成功通过国际权威标准组织"美国注册会计师协会(AICPA)"认定的SOC1 Type2.SOC2 Type ...
- Java文档注释全攻略
注释:注释起到对代码标注和解释的作用,如果你去看看JDK源码,会发现他们有许多的注释,而且注释是比代码还要多的,可见为代码添加注释是非常重要的,写好注释能让别人更加容易看懂你的代码,注释可以分为以下三 ...
- 数据分析处理之PCA OLSR PCR PLSR(NIPALS)及其Matlab代码实现
传统的OLS(普通最小二乘)方法无法解决样本数据的共线性(multicollinearity)问题,如果你的数据样本中每个特征变量具有共线性,那么使用基于PCA的PCR和PLSR方法对数据样本进行回归 ...
- vue-cli 各文件夹的用途
- javascript取url的参数的方法
<script type="text/javascript"> function request(paras) { var url = location.href; v ...