【云驻共创】一篇了解数据库-数据库基础知识

网友投稿 615 2022-05-29

前言

不同的数据库产品各有特点,但是在主要的数据库概念上大家都具有一定的共同基础,都实现了各种数据库对象,实现了不同层级的安全保护措施,都强调对数据库性能管理和日常运维管理。

本章主要讲述数据库管理的主要职责和内容,并对一些常见的,重要的数据库概念进行了介绍,作为下一阶段学习的基础。

目标

描述数据库管理工作的主要内容。区分不同的备份方式,列举安全管理的措施,描述性能管理的工作。

描述数据库的重要概念,以及各数据库对象的使用方法。

目录

1.数据库管理简介

2.数据库重要概念

3.总结

展望

关系型数据库,图数据库,关系图谱数据库。

1.数据库管理简介

不同的数据库产品有各自的特点,但是在主要的数据库概念上都具有一定的共同基础,都实现了各种数据库对象,实现了不同层级的安全保护措施,都强调对数据库管理和日常运维管理。

你将能够:描述数据库管理工作的主要内容,区分不同的备份方式,列举安全管理的措施,描述性能管理的工作。描述数据库的重要概念,以级各数据库对象的使用方法。

1.1数据库管理

数据库管理工作就是对数据库管理系统进行管理和维护的工作、数据库管理员(Database Administrator)是从事管理和维护数据库管理系统的相关人员的统称、数据库管理工作范围(数据库对象管理、数据库安全管理、备份恢复管理、数据库性能管理、数据库环境管理),讲到数据库对象是数据库里用来存储和指向数据的各种概念和结构的总称。

【云驻共创】一篇了解数据库-数据库基础知识

1.2数据库对象

对象管理就是使用对象定义语言或者工具创建,修改或删除各种数据库对象的管理过程,包括制定数据库对象命名规范,备份恢复管理根据备份的数据集合的范围分为全量备份、差异备份、增量备份,根据是否停用数据库分为热备、温备、冷备,根据备份内容物理备份、逻辑备份等。

良好的设计是良好的开端。命名规范的几点建议:统一名称的大小写。利用前缀标识对象类型,如表名前缀t_。

1.3备份和恢复

备份和恢复。备份数据库就是将数据库中的数据,以级保证数据库系统正常允许的有关信息保存起来,以备系统出现故障后恢复数据库时使用。恢复数据库是将数据库系统从故障或者瘫痪状态恢复到可正常运行,并能够将数据恢复到可接受状态的活动。

数据库管理及其工作范围(数据库管理、数据库管理员、数据库管理工作范围); 对象管理(数据库对象、命名前规范);备份恢复管理(RTO、RPO、全量、差异、增量备份、热、温、冷备、物理和逻辑备份)。

1.3.1热备,温备和冷备

1.3.2灾难恢复

对于企业和单位来说,数据库系统和其他应用系统构成更大的信息系统平台,所以数据库本非恢复并不是鼓励的功能点,要和其他应用系统一并考虑整个信息系统平台的容灾性能。

1.3.3灾难恢复等级

1.3.4差异备份和增量备份

1.4数据库系统安全

数据库系统安全框架三个层次,网络层次安全(从技术角度讲,网络系统层次安全方法技术主要有加密技术,数字签名技术,防火墙技术和入侵检测技术等)、操作系统层次安全(核心是要保证服务器的安全,主要体现在服务器的用户账户,口令,访问权限等方面)、数据管理系统层次安全(数据库加密、数据存取访问控制、安全审计、数据备份), 安全控制、身份验证、访问控制、开启审计、数据库加密,性能管理方面(资源、性能管理的意义、性能管理的目标)、运维管理方面(数据库安装、卸载、迁移、扩容)等。

安全管理(数据库系统安全框架、安全控制、身份验证、访问控制、开启审计、数据库加密);性能管理(资源、性能管理的意义、性能管理的目标、建立性能报表);运维管理(数据库安装、卸载、迁移、扩容、维护等)。

1.4.1数据库加密

数据库加密的不同层次:DBMS内核层和外层加密。

1.4.2安全控制模型

1.4.3访问控制

访问控制是数据库安全中最有效的办法也是最容易出问题的地方。

1.4.4开启审计

审计可以帮助数据库管理员发现县村架构和使用者的漏洞。

1.5性能管理

性能管理。包括资源的高效使用,侦测系统问题,容量规划。

1.5.1性能挂你需要采集的数据

CPU使用数据,空间使用率,使用数据库系统的用户和角色,心跳查询的响应时间,提交到数据库的SQL为基本单元的性能数据,数据库工作提交的作业相关的性能数据。

1.6运维管理

例行维护工作。数据库故障处理。数据库健康巡检。

1.6.1数据库迁移

需要依据不同的迁移场景需求设计迁移方案。

1.6.2数据库扩容

任何一个数据库系统的容量都是在某个时间点的基础上对未来一段时间内的数据进行估算后确定的。

1.6.3烈性维护工作

数据库故障处理和数据库健康巡检。

2.数据库重要概念

数据库和数据库实例,数据库的联结和会话,数据库的连接池。

2.1数据库和数据库实例

数据库是物理操作系统文件或磁盘数据块的集合。数据库实例是操作系统中一系列的进程以及为这些进程所分配的内存块。

2.2数据库连接和会话

数据库连接是一个通过网络建立的客户端和转悠服务器或调度器的一个网络连接。数据库会话是客户端和数据库之间通信的逻辑概念。

2.3数据库连接池

连接池是数据库连接的复用,负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。

2.4表空间

表空间是由一个或者多个数据文件组成的。根据数据库对象使用模式安排数据物理存放位置,提高性能。

2.5表

在关系数据库中,数据库表就是一系列二位数据的集合。

2.6临时表

GaussDB(for MySQL)支持创建临时表

2.7表的储存方式

按照数据的储存方式,表分为两种:行存储表和列存储表。

2.8数据分布

分布式数据库的数据表是分散在所有数据节点上的,所以创建表的时候需要指定分布列。

2.9数据策略选择

复制,适合于记录集较小的表,表中数据在各节点上完全复制,各DN都拥有全量数据。

2.10分布列选择原则

一般遵循下面三个原则:尽量选择离散值比较多的列,保证数据均匀分布。在满足第一条原则的情况下,不要选择存在常理过滤的列。满足前两条原则的情况下,尽量选择关联字段或聚合字段做分布列。

2.11数据类型

基本数据类型:数值类型,字符类型,二进制类型,日期/时间类型,布尔类型,枚举类型等。

2.12分区

分区。分区表是降大表的数据分成许多小的数据子集,成为分区。有范围分区表,列表分区表,哈希分区表,间隔分区表。

2.13视图

视图与基本表不同,不是物理上实际存在的,是一个虚表。索引提供指向存储在表的指定列中的数据值的指针,如同图书的目录,能够加快表的查询速度,但同时也增加了插入、更新和删除操作的处理时间。数据的完整性是指数据的正确性和一致性,可以通过定义表时定义完整性约束,完整性约束是一种规则,本身不占用数据库空间,完整性约束和表结构定义一起保存在数据字典中。

2.14索引

索引提供指向存储在表的指定列中的数据值的指针,如同图书的目录,能够加快表的查询速度,但是同时也增加了插入,更新和删除操作的吹时间。

2.15实例

物理操作系统文件或磁盘数据块的集合,数据库实例(Database Instance)指的就是操作系统中一系列的进程以及为这些进程所分配的内存块、数据库连接(Connection)

2.16Schema

物理层面的通信连接指的是一个通过网络建立的客户端和专有服务器(Dedicated Server)或调度器(Shared Server)的一个网络连接,数据库会话(Session)客户端和数据库之间通信的逻辑概念Schema是数据库形式语言描述的一种结构,是对象的集合,表空间是由一个或者多个数据文件组成的,在关系数据库中,数据库表就是一系列二维数组的集合,表中的每一行称为一个记录,由若干个字段组成,也称为域,表中的每一列称为一个字段,GaussDB(for MySQL)目前只支持行存,GaussDB(DWS)支持行存和列存,行存是默认存储方式,分区表是将大表的数据分成许多小的数据子集,称为分区,GaussDB(DWS)只支持范围分区表,分区剪枝对分区对象的查询可以仅搜索自己关心的分区,提高检索效率,GaussDB(DWS)分布式数据库的数据表是分散在所有数据节点(DataNode, DN)上的,所以创建表的时候需要指定分布列,数据类型分基本数据类型(数值类型、字符类型、二进制类型、日期/时间类型、布尔类型、枚举类型等)、序列号类型、几何类型,尽量使用高效数据类型(尽量使用执行效率比较高的数据类型、尽量使用短字段的数据类型、使用一致的数据类型)等。

2.17事务

事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元执行,事务ACID四大特性,原子性(Atomicity):事务是数据库的逻辑工作单位,事务中的操作,要么都做,要么都不做。一致性(Consistency):事务的执行结果必须是使数据库从一个一致性状态转到另一个一致性状态。隔离性(Isolation):数据库中一个事务的执行不能被其他事务干扰。即一个事务的内部操作及使用的数据对其他事务是隔离的,并发执行的各个事务不能相互干扰。持久性(Durability):事务一旦提交,对数据库中数据的改变是永久的。提交后的操作或者故障不会对事务的操作结果产生任何影响。

Serializable(序列化)系统中所有的事务以串行地方式逐个执行,所以能避免所有数据不一致情况。Repeatable read(可重复读)一个事务一旦开始,事务过程中所读取的所有数据不允许被其他事务修改。Read Committed(已提交读)一个事务能读取到其他事务提交过(Committed)的数据。一个事务在处理过程中如果重复读取某一个数据,而且这个数据恰好被其他事务修改并提交了,那么当前重复读取数据的事务就会出现同一个数据前后不同的情况。在这个隔离级别会发生“不可重复读”的场景。Read Uncommitted(未提交读)一个事务能读取到其他事务修改过,但是还没有提交的(Uncommitted)的数据。

数据被其他事务修改过,但还没有提交,就存在着回滚的可能性,这时候读取这些“未提交”数据的情况就是“脏读”。在这个隔离级别会发生“脏读”场景。

2.18约束

完整性是指数据的正确性和一致性,可以通过定义表时定义完整性约束。常见的约束类型有:唯一性和主键约束,外键约束,检查约束,非空约束,默认约束。

3.总结

说明了数据库管理的核心目标,并介绍了数据库的工作范围,对数据库主要的概念惊醒了介绍和说明。

本文整理自华为云社区【内容共创系列】活动。

查看活动详情:

https://bbs.huaweicloud.com/blogs/314887

相关任务详情:任务18

数据库基础知识

应用性能管理 APM 数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【云驻共创】从相识到相惜:Redis与计算存储分离四部曲
下一篇:参加第十届的队员给智能车竞赛的建议:抄能力+钞能力使得一届不如一届
相关文章