分类

image.png

关系型数据库

【数据库】:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
【数据表】: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格
【列】: 一列(数据元素) 包含了相同的数据
【行】:一行(= 元组,或记录)是一组相关的数据
【索引】:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。

发展

https://www.cnblogs.com/xrq730/p/11039384.html
image.png
阶段一:企业刚发展的阶段,最简单,一个应用服务器配一个关系型数据库,每次读写数据库。

阶段二:无论是使用MySQL还是Oracle还是别的关系型数据库,数据库通常不会先成为性能瓶颈,通常随着企业规模的扩大,一台应用服务器扛不住上游过来的流量且一台应用服务器会产生单点故障的问题,因此加应用服务器并且在流量入口使用Nginx做一层负载均衡,保证把流量均匀打到应用服务器上。

阶段三:随着企业规模的继续扩大,此时由于读写都在同一个数据库上,数据库性能出现一定的瓶颈,此时简单地做一层读写分离,每次写主库,读备库,主备库之间通过binlog同步数据,就能很大程度上解决这个阶段的数据库性能问题

阶段四:企业发展越来越好了,业务越来越大了,做了读写分离数据库压力还是越来越大,这时候怎么办呢,一台数据库扛不住,那我们就分几台吧,做分库分表,对表做垂直拆分,对库做水平拆分。以扩数据库为例,扩出两台数据库,以一定的单号(例如交易单号),以一定的规则(例如取模),交易单号对2取模为0的丢到数据库1去,交易单号对2取模为1的丢到数据库2去,通过这样的方式将写数据库的流量均分到两台数据库上。一般分库分表会使用Shard的方式,通过一个中间件,便于连接管理、数据监控且客户端无需感知数据库ip

====================

数据库管理系统(DBMS)

image.png
【相比储存在txt文件的优势】:
1.读取较快:我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢
2.安全性高,可设置用户、用户角色,以及对应权限

数据库( database,DB)

存储数据的“仓库”。它保存了一系列有组织的数据。
可以想象成一个excel的表格文件(工作簿)

数据表()

可以看成excel文件里面的一个工作表sheet1

SQL

结构化查询语言( Structure Query Language),专门用来与数据库通信的语言