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.什么是数据模型 ...
随机推荐
- SwiftUI 简明教程之文本与图片
本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容. Eul 是一款 SwiftUI & Combine 教程类 App(iOS.macOS),以文章(文字.图片 ...
- C语言-内存函数的实现(一)之memcpy
C语言中的内存函数有如下这些 memcpy memmove memcmp memset 下面看看memcpy函数 memcpy 我们想想,之前有那个字符串拷贝的函数,即strcpy函数.都有拷贝的函数 ...
- BLUENRG-LP 学习笔记
在学习 BLUENRG-LP 的过程中,及时地把碰到的问题记录下来,并作解答,形成本文档. 该文档会时时更新,并且当某些章节内容过多时,会独立出来,形成新的文章. BLUENRG-LP 的特性 芯片内 ...
- POJ 1961 KMP(当前重复次数)
题意: 前缀重复次数,举个例子,aaa 2的位置2个a,3的位置3个a abcabcabc 6的位置两个abcabc,9的位置三个abcabc.... 思路: KMP基础题目之一 ...
- Linux中的防火墙(Netfilter、Iptables、Firewalld)
目录 Netfilter Iptables iptables做本地端口转发 Firewalld Netfilter Netfilter是Linux 2.4内核引入的全新的包过滤引擎,位于Linux内核 ...
- CVE-2013-2551:Internet Explore VML COALineDashStyleArray 整数溢出漏洞简单调试分析
0x01 2013 Pwn2Own 黑客大赛 在 Pwn2Own 的黑客大赛上,来自法国的 VUPEN 安全团队再一次利用 0day 漏洞攻破 Windows8 环境下的 IE10 浏览器,这一次问题 ...
- C#-Socket(TCP)
//提示,线程里面不要给控件赋值 LinkSocket.Send(result, length, 0); 自己挂起 private void button1_Click(object sender, ...
- windows-CODE注入(远程线程注入)
远程线程注入(先简单说,下面会详细说)今天整理下代码注入(远程线程注入),所谓代码注入,可以简单的理解为是在指定内进程里申请一块内存,然后把我们自己的执行代码和一些变量拷贝进去(通常是以启线程的方式) ...
- PowerDesigner16安装和使用
安装 安装参考链接:PowerDesigner安装教程 因为这个博主已经操作的很详细了,这边就不做过多的赘述. 使用 新建模型 选择物理模型 调出面板Palette 建表 最终的效果(一般不在数据库层 ...
- Linux(CentOS-8)安装MySQL8.0.11
CentOS安装MySQL8.0.11 总的思路就是:安装MySQL,编写配置文件,配置环境变量,成功开启服务,登陆并修改ROOT密码 开启远程访问的思路就是:授权用户所有IP都可以访问,系统的数据库 ...