数据库基础知识
数据库设计
规划 | 进行建立数据库的必要性及可行性分析,确定数据库系统在企业和信息 系统中的地位,以及各个数据库之间的联系。 |
---|---|
需求分析 | 通过调查研究,了解用户的数据和处理要求,并按一定格式整理形成需 求说明书。 |
概念设计 | 在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽 象为一个不依赖于任何数据库管理系统的数据模型,即概念模型。 |
逻辑设计 | 将概念模型转化为某个特定的数据库管理系统上的逻辑模型。设计逻辑 结构时,首先为概念模型选定一个合适的逻辑模型 (通常是关系模型) , 然后将其转化为由特定 DBMS 支持的逻辑模型,最后对逻辑模型进行优 化。 |
物理设计 | 对给定的逻辑模型选取一个最适合应用环境的物理结构,所谓数据库的 物理结构,主要是指数据库在物理设备上的存储结构和存取方法。 |
规范化
数据库安全性技术
措 施 | 说明 |
---|---|
用户标识和鉴别 | 最外层的安全保护措施,可以使用用户账户、 口令和随机数检验等 方式 |
存取控制 (数据授权) | 对用户进行授权,包括操作类型 (例如,査找、更新或删除等) 和 数据对象的权限 |
密码存储和传输 | 对远程终端信息用密码传输 |
视图的保护 | 通过视图的方式进行授权 |
审计 | 用一个专用文件或数据库, 自动将用户对数据库的所有操作记录下 来 |
视图是保存在数据库中的 SELECT 查询,其内容由查询定义,因此,视图不是真实存在 的基础表,而是从一个或者多个表中导出的虚拟的表。同真实的表一样,视图包含一系列带 有名称的列和行数据,但视图中的行和列数据来自由定义视图的查询所引用的表,并且在引
用视图时动态生成。
视图优点有:视点集中、简化操作、定制数据、合并分割数据、保证安全性
数据库完整性技术
(1) 存储过程
存储过程 (Stored Procedure) 是在大型数据库系统中,一组为了完成特定功能的 SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参 数 (如果该存储过程带有参数) 来执行它。
存储过程是数据库所提供的一种数据库对象,通过存储过程定 义一段代码,提供给应 用程序调用来执行。 从安全性的角度考虑,更新数据时,通过提供存储过程让第三方调用, 将需要更新的数据传入存储过程,而在存储过程内部用代码分别对需要的多个表进行更新, 从而避免了向第三方提供系统的表结构,保证了系统的数据安全。
(2) 触发器
一种特殊的存储过程,当数据发生变化时,触发器会产生某种动作。使用触发器有助于 保持数据库的数据完整性。
2 、数据库性能优化
集中式数据库性能优化
(1) 硬件升级:处理器、 内存、磁盘子系统和网络。
(2) 数据库设计:反规范化技术 (逻辑) 、数据库分区 (物理) 。
(3) 索引优化策略:选择经常查询不常更新的属性、数据量小的不设置索引等。
(4) 查询优化:建立物化视图或尽可能减少多表查询等。
反规范化技术
数据库分区技术
(1) 主从复制、读写分离
(2) 数据库分片 (分表) 、分库
(3) 分布式缓存技术
主从复制,读写分离
读写分离设置物理上不同的主/从服务器,让主服务器负责数据的写操作,从服务器负责数 据的读操作,从而有效减少数据并发操作的延迟。 引入主从复制机制所带来的好处有:(1) 避免数据库单点故障:主服务器实时、异步复制数据到从服务器,当主数据库宕机时, 可在从数据库中选择一个升级为主服务器,从而防止数据库单点故障。
(2) 提高查询效率:根据系统数据库访问特点,可以使用主数据库进行数据的插入、删除 及更新等写操作,而从数据库则专门用来进行数据查询操作,从而将查询操作分担到不同的 从服务器以提高数据库访问效率。
Mysql 的主从复制方式:
分布式缓存技术
为了减轻数据库服务器的压力,可以采用分布式缓存系统,将应用系统经常使用的数据放置 在内存,降低对数据库服务器的查询请求,提高系统性能。
使用缓存后读写数据的基本步骤:
(1) 读数据
根据 key 读缓存;
读取成功则直接返回;
若 key 不在缓存中时,根据 key 读数据库 ;
读取成功后,写缓存 ;
成功返回。
(2) 写数据
根据 key 值写数据库;
成功后更新缓存 key 值 ;
成功返回。
3 、分布式数据库
分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的 每个节点具有独立处理的能力 (称为场地自治) ,它可以执行局部应用,同时,每个节点也
能通过网络通信子系统执行全局应用。
为了提高分布式数据库的性能采用的常见技术有:数据分片、读写分离技术、负载均衡技术、 分布式缓存技术等。
4、nosql 数据库
5、数据库备份
备份方式 | 优点 | 缺点 |
---|---|---|
冷备份 | 非常快速的备份方法(只需复 制文件);容易归档 (简单复 制即可);容易恢复到某个时 间点上(只需将文件再复制回 去) :能与归档方法相结合, 做数据库“最佳状态” 的恢 复;低度维护,高度安全 | 单独使用时,只能提供到某一 时间点上的恢复;在实施备份 的全过程中, 数据库必须要 作备份而不能做其他工作;若 磁盘空间有限,只能复制到 磁带等其他外部存储设备上, 速度会很慢;不能按表或按用 户恢复 |
热备份 | 可在表空间或数据库文件级 备份,备份的时间短;备份时 数据库仍可使用;可达到秒级 恢复 (恢复到某一时间点上) ;可对几乎所有数据库实体做 恢复;恢复是快速的 | 不能出错,否则后果严重;若 热备份不成功,所得结果不可 用于时间点的恢复;因难于维 护,所以要特别小心不能以失 败告终 |