云数据库服务(参考自腾讯云计算工程师认证课程)更新中......

数据库基础介绍

面临的挑战:

数据库系统架构:

数据库DB、数据库管理系统DBMS(负责数据库的搭建、使用和维护的系统软件,通过组织、索引、查询、修改数据库文件、实现数据定义、组织、存储、管理以及数据库操作、运行和维护等主要功能)、数据库应用程序DBAP、数据库管理员DBA。

存储管理(负责数据的物理存储和管理)、数据库管理(负责数据的逻辑管理和操作)、应用管理(负责应用程序与数据库的交互)、用户管理(负责用户的权限管理的数据访问控制)

数据库发展史:人工管理------文件系统------数据库系统。

NoSQL数据库通过非关系模型来管理数据,适用于管理大规模、非结构化数据,具有高扩展性和高性能的特点;NewSQL数据库则结合了关系型数据库和NoSQL数据库的优点,提供高性能和高扩展性的同时,仍然支持SQL查询。

面临的挑战:

数据类型多样性和异构处理能力;高度的可扩展性和可伸缩性;时效性;大数据时代;

5V特性:Volume数量、Variety多样性、Value价值、Velocity速度、Veracity真实性

数据库类型:

结构化数据:指可以使用关系型数据库表进行存储的数据。数据格式固定、利于存储和管理。

非结构化数据:数据格式不固定、内容多样化,难以进行标准化处理。适用于大数据存储和处理技术

半结构化数据:数据格式不固定、但包含标签或标记,用于描述数据的层次和关系。适用于需要部分结构化信息的场景。

关系型数据库和非关系型数据库的区别:

关系型数据库是垂直扩展,即通过增加单个服务器的性能来提升数据库的处理能力;非关系数据库则更适合水平扩展,即通过增加更多的服务器节点来提升整体的处理能力,适用于大规模数据处理和分布式存储。
关系型数据库的数据一致性高,支持复杂的查询和事务处理,适用于结构化数据和严格数据一致性的应用场景;非关系型数据库扩展性强,读写性能高,适用于海量数据和高并发访问的应用场景。

关系型数据库简介:

数据库:物理操作系统文件或磁盘数据块的集合

数据库实例:操作系统中一系列的进程以及为这些进程分配的内存。实例是数据库管理系统的运行环境,负责管理数据库的存储、管理和更新操作。

分布式集群:通过网络将多个服务器连接起来,形成一个逻辑上集中、物理上分布的大型数据库系统。

关系型数据库结构:

查询管理器:将用户的查询语句转化成内部命令;

存储管理器:负责执行这些命令,并管理数据库的物理存储结构;

数据存储和查询流程:

查询管理器接收用户查询,由DML和DDL解释器进行解释翻译------解析后的命令传给存储管理器------存储管理器根据命令对数据库文件、数据字典和索引进行操作------操作结果返回用户

模式Schema:包含表及其他数据库对象、数据类型、函数、操作符等,是对象的集合

允许多个用户使用一个数据库而不干扰其他用户;把数据库对象组织成逻辑组,让他们更便于管理;形成命名空间,避免对象的名字冲突。
可以更好地组织和管理数据库中的各种对象,确保用户可以高效地共享和使用同一个数据库而不会互相干扰。

表空间Tablespace:由一个或多个数据文件组成

通过表空间定义数据库对象文件的存放位置------频繁使用的索引放置在性能稳定且运算速度快的磁盘上;归档数据,使用频率低,对访问性能要求低的表存放在速度慢的磁盘上。

数据库中所有对象在逻辑上都存放在表空间中,在物理上储存在表空间所属的数据文件中------通过表空间限制物理空间使用上限,避免磁盘空间被耗尽。

帮助我们更好地管理数据库对象地存放位置,还能优化数据库的性能和资源利用。

数据库对象------表Table

行------记录、元组;列------字段(包含列名和数据类型)、域

其他数据库对象:视图view、index索引、sequence序列、store procedure存储过程、function函数

事务Transaction:一组原子性地SQL执行单元,具有ACID特性:原子性、一致性、隔离性、持久性

事务结束的标记:COMMIT(提交事务)正常结束;ROLLBACK(回滚事务)异常结束

MySQL 关系型数据库

物理存储结构和内存结构:

内存结构(主要用于存储临时数据和日志的缓冲)

缓冲池Buffer Pool:用于缓存数据页和索引页。通过缓冲池,MySQL可以减少对磁盘的访问,提高数据读取和写入的性能;

更改缓冲区Change Buffer:用于缓存对非唯一索引的更改操作。通过将这些更改操作缓存在内存中,可以减少对磁盘的写入次数,从而提高写入性能;

日志缓冲区Log Buffer:在事务提交之前,事务日志会先写入日志缓冲区,然后再批量写入磁盘,可以提高事务处理的效率;

物理架构:

系统表空间System Tablespace:存储引擎的核心部分

文件表空间File-Per-Table Tablespace:每个表都有自己独立的表空间文件,ibd文件,这种结构使得表的数据和索引存储在独立的文件中,便于管理和备份

重做日志Redo Log:用于记录事务的更改操作,以便在系统崩溃时进行数据恢复,包括Ib_logfile0和Ib_logfile1

撤销日志Undo Log:记录日志的撤销操作,在回滚时恢复数据

MySQL主从复制原理:

主从复制是MySQL常用的一种数据同步机制,能够实现数据的高可用性和负载均衡

从库生成两个线程,一个I/O线程和一个SQL线程

相关推荐
川石课堂软件测试5 小时前
Oracle 数据库:视图与索引
数据库·网络协议·nginx·http·oracle·grafana·prometheus
理智的煎蛋9 小时前
MySQL高可用架构:MHA
linux·数据库·mysql·架构·可用性测试
罗光记9 小时前
苹果内部 AI聊天机器人“Asa”曝光,为零售员工打造专属A
数据库·经验分享·百度·微信公众平台·新浪微博
li357411 小时前
从“内存操作”到“原子更新”:一次代码思维的跃迁
数据库·oracle
瀚高PG实验室11 小时前
执行select * from a where rownum<1;,数据库子进程崩溃,业务中断。
数据库·sql·瀚高数据库
小白考证进阶中11 小时前
终于赶在考试券过期前把Oracle OCP证书考下来了!
运维·数据库·oracle·dba·开闭原则·数据库管理员
DCTANT12 小时前
【报错记录】OpenGauss/磐维数据库连接报:org.postgresql.util.PSQLException: 致命错误: 账户被锁定
数据库·postgresql
keep__go12 小时前
postgresql9.2.4 跨版本升级14.6
linux·运维·数据库·postgresql
Doris_LMS12 小时前
Git的强软硬回退(三)
运维·服务器·数据库·git·idea