【软件系统架构】系列三:数据库系统之三

打印 上一主题 下一主题

主题 987|帖子 987|积分 2961

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.数据故障与备份

1.1 安全措施

措施阐明
用户标识和鉴定最外层的安全保护措施,可以使用用户帐户、口令及随机数检验等方式
存取控制对用户进行授权,包括操纵类型(如查找、插入、删除、修改等动作)和数据对象(重要是数据范围)的权限。
密码存储和传输对长途终端信息用密码传输
视图的保护对视图进行授权
审计使用一个专用文件或数据库,主动将用户对数据库的全部操纵记录下来
1.2 数据故障

故障关系故障原因解决方法
事件本身的可预期故障本身逻辑在步伐中预先设置Rollback语句
事件本身的不可预期故障算术溢出、违反存储保护由DBMS的恢复子系统通过日志,打消事件对数据库的修改,回退到事件初始状态
系统故障系统制止运转通常使用检查点法
介质故障外存被破坏一般使用日志重做业务
1.3 数据备份

1.3.1 静态转储(冷备份)



  • 界说: 在转储期间不答应对数据库进行任何存取、修改操纵。
  • 优点:非常快速的备份方法。

    • 轻易归档(直接物理复制操纵)。

  • 缺点:

    • 只能提供到某一时间点上的恢复。
    • 不能做其他工作。
    • 不能按表或按用户恢复。

1.3.2 转储(热备份)



  • 界说: 在转储期间答应对数据库进行存取、修改操纵,因此,转储和用户事件可并发执行。
  • 优点:

    • 可在表空间或数据库文件级备份。
    • 数据库仍可使用。
    • 可达到秒级恢复。

  • 缺点:

    • 不能出错,否则后果严重。
    • 若热备份不乐成,所得效果几乎全部无效。

1.3.3 完全备份



  • 界说: 备份全部数据。
1.3.4 差量备份



  • 界说: 仅备份上一次完全备份之后变化的数据。
1.3.5 增量备份



  • 界说: 备份上一次备份之后变化的数据。
1.3.6 日志文件



  • 界说: 在事件处理惩罚过程中,DBMS把事件开始、事件结束以及对数据库的插入、删除和修改的每一次操纵写入日志文件。
  • 作用: 一旦发生故障,DBMS的恢复子系统利用日志文件打消事件对数据库的改变,回退到事件的初始状态。
  • 重要性: 备份毕竟是偶然间节点的,不是实时的。例如:上一次备份到这次备份之间数据库出现了故障,则这期间的数据无法恢复。因此,引入日志文件,可以实时记录针对数据库的任何操纵,保证数据库可以实时恢复。
2.分布式数据库

   分布式数据库是一个由多个物理上分散的数据库组成的逻辑统一的数据库系统。这些物理上分散的数据库通过网络连接,协同工作,为用户提供统一的数据访问接口。
   
     分布式数据库    分布式数据库的特点:


  • 物理分布性: 数据存储在不同的物理位置。
  • 逻辑团体性: 固然数据分散存储,但用户感觉像是在操纵一个单一的数据库。
  • 站点自治性: 每个局部数据库都有一定的自治本事。
  • 数据分布透明性: 用户无需关心数据的具体分布情况。
分布式数据库的优势:


  • 高可用性: 部门节点故障不影响团体服务。
  • 高扩展性: 可以通过增长节点来扩展存储和处理惩罚本事。
  • 性能提拔: 可以将数据分布在离用户更近的位置,减少网络延迟。
分片模式


  • 水平分片: 将表中水平的记录分别存放在不同的地方。
  • 垂直分片: 将表中的垂直的列值分别存放在不同的地方。
分布式数据库的透明性:


  • 分片透明性: 用户无需知道数据是如何分片存储的。
  • 位置透明性: 用户无需知道数据存储在哪个物理位置。
  • 逻辑透明性: 用户无需知道局部数据库使用的数据模型。
  • 复制透明性: 用户无需知道数据的复制情况。
3.数据仓库与数据发掘

3.1 数据仓库



  • 界说: 数据仓库是一种特殊的数据库,也是按数据库形式存储数据的,但是目的不同。数据库经过长时间的运行,里面的数据会保存的越来越多,就会影响系统运行服从。对于某些步伐而言,好久之前的数据并非必要的,因此,可以删撤除以减少数据,增长服从,思量到删除这些数据比力可惜,因此,一般都将这些数据从数据库中提取出来保存到另外一个数据库中,称为数据仓库。
3.2 数据仓库四大特点



  • 面向主题: 按照一定的主题域进行构造的。
  • 集成的: 数据仓库中的数据是在对原有分散的数据库数据抽取、清算的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不同等性,以保证数据仓库内的信息是关于整个企业的同等的全局信息。
  • 相对稳定的: 数据仓库的数据重要供企业决议分析之用,所涉及的数据操纵重要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操纵,但修改和删除操纵很少,通常只必要定期的加载、刷新。
  • 反映历史变化: 数据仓库中的数据通常包含历史信息,系统记录了企业从已往某一时间点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
3.3 数据仓库的结构通常包含四个条理

如下图所示:
   
     数据仓库体系架构    (1)数据源: 是数据仓库系统的基础,是整个系统的数据源泉。
(2)数据的存储与管理: 是整个数据仓库系统的核心。
(3)OLAP(联机分析处理惩罚)服务器: 对分析必要的数据进行有效集成,按多维模型构造,以便进行多角度、多条理的分析,并发现趋势。
(4)前端工具: 重要包括各种报表工具、查询工具、数据分析工具、数据发掘工具以及各种基于数据仓库或数据集市的应用开发工具。
3.4 数据发掘的分析方法



  • 关联分析: 重要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。
  • 序列分析: 重要用于发现一定时间间隔内接连发生的事件,这些事件构成一个序列,发现的序列应该具有广泛意义。
  • 分类分析: 通过分析具有类别的样本特点,得到决定样本属于各种类别的规则或方法。

    • 分类分析时起首为每个记录赋予一个标记(一组具有不同特性的类别),即按标记分类记录,然后检查这些标定的记录,形貌出这些记录的特性。

  • 聚类分析: 是根据“物以类聚”的原理,将本身没有类别的样本聚集成不同的组,并且对每个如许的组进行形貌的过程。
3.5 商业智能 BI



  • BI系统重要包括数据预处理惩罚、建立数据仓库、数据分析和数据展现四个重要阶段。
  • 数据预处理惩罚: 是整合企业原始数据的第一步,它包括数据的抽取(Extraction)、转换(Transformation)和加载(Load)三个过程(ETL过程);
  • 建立数据仓库: 则是处理惩罚海量数据的基础;
  • 数据分析: 是体现系统智能的关键,一般采用联机分析处理惩罚(OLAP)和数据发掘两大技能。

    • 联机分析处理惩罚: 不但进行数据汇总/聚集,同时还提供切片、切块、下钻、上卷和旋转等数据分析功能,用户可以方便地对海量数据进行多维分析。
    • 数据发掘: 的目标则是发掘数据背后隐藏的知识,通过关联分析、聚类和分类等方法建立分析模型,预测企业未来发展趋势和将要面对的问题;

  • 数据展现: 在海量数据和分析本事增多的情况下,数据展现则重要保障系统分析效果的可视化。
4.反规划化技能

配景:


  • 规范化操纵可以防止插入异常、更新、删除异常和数据冗余,一般是通过模式分解,将表拆分,来达到这个目的。
  • 但是表拆分后,解决了上述异常,却不利于查询,每次查询时,可能都要关联很多表,严重降低了查询服从。
目的:


  • 进步查询服从。
技能本事:


  • 增长派生性冗余列
  • 增长冗余列
  • 重新组表
  • 分割表
本质:


  • 重要就是增长冗余,进步查询服从,为规范化操纵的逆操纵。
5.SQL语言

5.1 SQL 语言中的语法关键字



  • 创建表: create table
  • 指定主键: primary key()
  • 指定外键: foreign key()
  • 修改表: alter table
  • 删除表: drop table
  • 索引: index
  • 视图: view
  • 数据库查询: select...from...where
  • 分组查询: group by

    • 分组时要留意 select 后的列名要顺应分组
    • having 为分组查询附加条件

  • 更名运算: as
  • 字符串匹配: like

    • % 匹配多个字符串
    • _ 匹配任意一个字符串

  • 数据库插入: insert into...values()
  • 数据库删除: delete from...where
  • 数据库修改: update...set...where
  • 排序: order by

    • 默以为升序
    • 降序要加关键字 DESC

  • 授权: grant...on...to

    • with grant option:答应其将权限再赋给另一用户

  • 收回权限: revoke...on...from
  • with check option 体现要检查 where 后的谓词条件
  • DISTINCT 过滤重复的选项,只保留一条记录
  • UNION 出如今两个 SQL 语句之间,将两个 SQL 语句的查询效果取或运算,即值存在于第一句或第二句都会被选出
  • INTERSECT 对两个 SQL 语句的查询效果做与运算,即值同时存在于两个语句才被选出
5.2 SQL 语法原理



  • SELECT 之后的为要查询显示的属性列名
  • FROM 后面是要查询的表名
  • WHERE 后面是查询条件
  • 涉及到平均数、最大值、求和等运算,必须要分组,group by 后面是分组的属性列名,分组的条件使用 Having 关键字,后面跟条件
  • 在 SQL 语句中,条件判断时数字无需打引号,字符串要打单引号
6.NoSQL数据库

6.1 界说:



  • NoSQL 最常见的解释是 Non-Relational(非关系型),Not Only SQL 也被很多人继承。
  • NoSQL 仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库。
  • 它们不保证关系数据的 ACID 特性。
6.2 数据模型分类:



  • 按照所使用的数据结构的类型,一般可以将 NoSQL 数据库分为以下 4 种类型:
        列式存储数据库:

    • 行式数据库即传统的关系型数据库,数据按记录存储,每一条记录的全部属性存储在一行。
    • 列式数据库是按数据库记录的列来构造和存储数据的,数据库中每个表由一组页链的聚集组成,每条页链对应表中的一个存储列。
        键值对存储数据库:   

    • 键值存储的典范数据结构一般为数组链表:先通过 Hash 算法得出 Hashcode,找到数组的某一个位置,然后插入链表。
        文档型数据库:   

    • 文档型数据库同键值对存储数据库类似。
    • 该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如 JSON。
        图数据库:   

    • 图形结构的数据库同其他采用行列以及刚性结构的 SQL 数据库不同,它使用灵活的图形模型,并且可以或许扩展到多个服务器上。
    • NoSQL 数据库没有标准的查询语言 (SQL),因此进行数据库查询必要指定命据模型。
       
6.3 NoSQL 数据库的共同特性:



  • 目前业界对于 NoSQL 并没有一个明确的范围和界说,但是它们广泛存在下面一些共同特性:

    • 易扩展: 去掉了关系数据库的关系型特性。数据之间无关系,如许就非常轻易扩展。
    • 大数据量,高性能: NoSQL 数据库都具有非常高的读写性能,尤其在大数据量下。这得益于它的无关系性,数据库的结构简单。
    • 灵活的数据模型: NoSQL 无须事先为要存储的数据建立字段,随时可以存储自界说的数据格式。
    • 高可用: NoSQL 在不太影响性能的情况下,就可以方便地实现高可用的架构,有些产物通过复制模型也能实现高可用。

6.4 NoSQL 团体框架:



  • NoSQL 团体框架分为 4 层,由下至上分为数据长期层、数据分布层、数据逻辑模型层和接口层。

    • (1) 数据长期层:

      • 界说了数据的存储形式,重要包括基于内存、硬盘、内存和硬盘接口、订制可插拔 4 种形式。

    • (2) 数据分布层:

      • 界说了数据是如何分布的,相对于关系型数据库,NoSQL 可选的机制比力多,重要有 3 种形式:

        • 一是 CAP 支持,可用于水平扩展;
        • 二是多数据中央支持,可以保证在横跨多数据中央时也可以或许平稳运行;
        • 三是动态部署支持,可以在运行着的集群中动态地添加或删除结点。


    • (3) 数据逻辑层:

      • 表述了数据的逻辑体现形式。

    • (4) 接口层:

      • 为上层应用提供了方便的数据调用接口,提供的选择远多于关系型数据库。


6.4 NoSQL 分层架构:



  • NoSQL 分层架构并不代表每个产物在每一层只有一种选择。
  • 相反,这种分层计划提供了很大的灵活性和兼容性,每种数据库在不同层面可以支持多种特性。
6.5 NoSQL 数据库实用情况:



  • NoSQL 数据库在以下这几种情况比力实用:

    • 数据模型比力简单;
    • 必要灵活性更强的 IT 系统;
    • 对数据库性能要求较高;
    • 不必要高度的数据同等性;
    • 对于给定 key,比力轻易映射复杂值的情况。

【软件系统架构】系列
系统架构计划教程简介【软件系统架构】系列简介-CSDN博客
【软件系统架构】系列三:数据库系统之一【软件系统架构】系列三:数据库系统之一_内模式映像-CSDN博客
【软件系统架构】系列三:数据库系统之二【软件系统架构】系列三:数据库系统之二-CSDN博客
【软件系统架构】系列三:数据库系统之三【软件系统架构】系列三:数据库系统之三-CSDN博客
【软件系统架构】系列三:数据库系统之四-Redis数据库(1)https://blog.csdn.net/moton2017/article/details/145990776

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表