前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[每天五分钟,备战架构师-10]数据库系统

[每天五分钟,备战架构师-10]数据库系统

作者头像
大江小浪
发布2018-09-19 17:59:08
1.5K0
发布2018-09-19 17:59:08
举报
文章被收录于专栏:小狼的世界小狼的世界

事务管理

事务是数据库系统运行的基本工作单位,相当于操作系统中的进程,事务具有ACID特性。从用户的角度来看,事务中的操作要么都做,要么都不做。

  • 原子性 Atomicity
  • 一致性 Consistency
  • 隔离性 Isolation,表示不能被其他事务干扰
  • 持久性 Durability,一旦提交改变就是永久性的

处理并发控制 Concurrency

多个用户对同一数据进行并发操作时,如果没有控制,可能会产生丢失更新、读到过时的数据(不一致分析问题)、读到脏数据(依赖于未提交更新的问题)的情况。并发控制的主要方法是采用封锁技术,有两种类型:排他型封锁、共享型封锁。

  • 排他型封锁(简称X封锁)。如果事务T对数据A实现了X封锁,那么只允许T读取修改数据A,其他事务需等T解除X封锁后,才能进行后续动作。
  • 共享型封锁(简称S封锁)。X封锁要求太严,于是产生S封锁。如果事务T对数据A实现了S封锁,那么允许事务T读取数据A,但不能修改数据A,在所有S封锁解前不允许任何事务

处理并行控制 Parallelism

并行控制主要通过封锁协议来进行处理。

  • 一级封锁协议。事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。
  • 二级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。
  • 三级封锁协议。一级封锁协议加上事务T在读取R之前先对其加S锁,直到事务结束才释放。
  • 两段锁协议。所有事务必须分两个阶段对数据项加锁和解锁。

死锁问题

采用封锁方法可以防止数据不一致,但是会带来死锁问题。死锁的避免一般有预防法和解除法。

故障与恢复

数据库的故障主要分为4类:

  • 事务故障。事务未能正常终止被撤销的情况。
  • 系统故障。事务以非正常方式终止的情况,此时内存信息丢失。
  • 介质故障。物理存储介质的故障,可能性虽低,但破坏性大。
  • 计算机病毒。

针对不同的故障,可以采用不同的恢复策略:

  • 事务故障恢复。应对未完成事务进行撤销,系统自动完成恢复。
  • 系统故障恢复。数据库根据日志,在重新启动时对事务进行撤销,对重做队列事务进行重做。
  • 介质故障恢复需要依赖备份的副本,将数据库恢复到最近一次备份时的状态,会丢失数据。
  • 具有检查点的恢复技术。 大型数据库系统,例如Oracle提供了安全机制保证,但是小型的数据库并非都有相应的功能,有时需要人工辅助,保证数据库的安全和恢复。

备份与恢复

为应对数据库损坏的可能性,需要指定合适的备份和恢复计划。备份计划制定的原则包括:

  • 保证数据丢失得尽量少或完全不丢失
  • 备份和恢复时间尽量短,保证系统最大得可用性

根据备份内容,分为物理备份和逻辑备份。根据效率,分为完全、增量、累积三种备份方式。

分布式数据库

概念

分布式数据库系统是相对于集中系统而言的,确切的含义是通过数据库技术与网络技术相结合,由一组数据组成,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力,成为场地自治,它可以执行局部应用,同时,每个节点也能通过网络通信子系统执行全局应用。

负责分布式数据库的建立、查询、更新、复制、管理和维护的软件,称为分布式数据库管理系统(Distributed Database Management System,DDBMS)。

分布式数据库系统具有以下几个特点:

  1. 数据的分布性
  2. 统一性。表现在数据逻辑上的统一性和数据管理上的统一性。
  3. 透明性,用户无须关心数据存放的位置。

体系机构

分布式数据库系统的模式有6个层次:

  1. 全局外模式,是全局应用的用户视图
  2. 全局概念模式,定义分布式数据库中数据的整体逻辑结构
  3. 分片模式
  4. 分布模式
  5. 局部概念模式
  6. 局部内模式,类似于集中式数据库系统中的内模式

并行数据库系统

对比互联网领域的技术发展路径来看,目前基本上看不到并行数据库系统使用的场景。教材中提到的Sequent系统在网上也是资料寥寥,建议可以直接略过这一节了。但是后面提到的并行处理技术,可能和目前的大数据处理、人工智能平台有结合点,感兴趣的可以自己研究下。

数据仓库

数据仓库的概念:Data Warehouse 是一个面向主题的、集成的、相对稳定的、且随时间变化的数据集合,用于支持管理决策。

数据仓库的结构包括:

  • 数据源
  • 数据的存储与管理
  • OLAP服务器
  • 前端工具,主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具等

参考资料

  1. 并发与并行的区别
  2. Sequence database
  3. Sequent Computer Systems
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-09-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 事务管理
    • 处理并发控制 Concurrency
      • 处理并行控制 Parallelism
        • 死锁问题
          • 故障与恢复
          • 备份与恢复
          • 分布式数据库
            • 概念
              • 体系机构
              • 并行数据库系统
              • 数据仓库
              • 参考资料
              相关产品与服务
              分布式数据库 TDSQL
              分布式数据库(Tencent Distributed SQL,以下简称 TDSQL)是腾讯打造的一款企业级数据库产品,具备强一致高可用、全球部署架构、高 SQL 兼容度、分布式水平扩展、高性能、完整的分布式事务支持、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档