Advertisement

数据库主流技术

阅读量:

文章目录

    • 1.分布式数据库

      • 1.1 基础知识
      • 1.2 体系结构
    • 2.Web数据库

    • 3.XML与数据库

    • 4.面向对象数据库

    • 5.大数据和数据仓库

1.分布式数据库

1.1 基础知识

分布式数据库系统是数据库系统和计算机网络相结合的产物。

  • 随着计算机性能的提升和价格的降低, 每个人都可以方便地拥有一台便携设备, 从而使得分散处理的数据量大幅上升。
  • 随着通信技术的飞速发展, 众多类型的计算机网络不断涌现, 并且降低了数据传输成本; 而局域网的广泛应用, 则为分布式数据库系统的出现提供了实施的可能性。

分布式数据库系统的广泛应用将覆盖:各类型组织的人力资源、财务管理以及存货控制相关的管理系统;零售业态中的经营销售数据处理支持平台;网络化服务支持下的电子银行运营数据分析平台;公共机构经济活动的数据支撑平台;涵盖人口普查统计、气象预测预警、环境质量监测及地震应急响应等多个领域的大型数据库集合;军事战略指挥系统的综合管理模块;企业级生产流程数据整合与分析支持平台;医疗机构患者医疗档案及诊疗设备远程监控与智能辅助诊断平台;工业自动化领域的分散式控制系统集成平台;工业生产过程自动化及办公协作系统的全方位集成管控平台

分布式数据库系统(Distributed Database System, DDBS)是一种发展出的数据管理解决方案,旨在应对数据分布于地理空间的情况的同时满足不同程度的集中化管理需求

分布式数据库系统组成

分布式数据库系统是由若干个设备或地点上的独立数据库系统通过网络实现互联组成的。每个设备都配备了本地数据库管理系统(Local Database Management System, LDBMS),此外还包含一个全球数据库管理系统(Global Database Management System, GDBMS)。

完全分布式数据库系统需要满足的条件:

  • 分布特性:数据以多节点形式存储。
  • 数据间关联性:数据库系统内各数据存在逻辑联系。
  • 位置透明度:无需指定数据具体存储位置即可访问。
  • 自主管理特性:每个节点独立处理本地应用请求。

分布式数据库的特点

  • 数据集中控制性主要体现在能够实现信息资源的高度集中管理。
  • 数据独立性其核心特征在于从应用程序层面看数据结构是透明的。
  • 数据冗余可控性不仅要求确保数据存储的一致性和完整性而且能有效减少冗余存储空间从而降低存储成本提高查询效率简化一致性维护过程。
  • 场地自治性这一特性不仅体现了局部应用与全局数据库之间具有高度自治能力而且具体表现为两种不同的数据类型一种是参与全局数据库的数据另一种则是不参与全局数据库的数据。
  • 存取有效性这一机制通过全局优化策略将查询计划分解为多个子计划分别在各场地上执行从而实现跨平台高效协同这种分层优化策略既提高了整体系统性能又保证了操作的一致性和可靠性。

1.2 体系结构

1)模式结构

分布式数据库抽象为四层的模式结构如下:

分布式数据库模式结构图

该四层次架构划分为四个层级:最外侧为全球层面架构、次外侧为全局概念框架、中间层次为局部概念模块以及最内层为具体组件。各层级之间存在对应的关联关系。该架构划分方案既适用于高度透明且可扩展性的分布式数据库架构设计,也能够满足多样化的透明度需求。无论是在同构化还是异构化的分布式数据库架构设计需求下都能实现有效的解决方案。

  1. 全局上层。全球视图由多个用户视图构成,其中每个用户视图都是专为分布式数据库设计的全球用户提供服务的虚拟层面,它是对分布式数据库架构进行高度抽象和定义的基础。
  2. 整体概念层面.它是整个分布式数据库体系的基本抽象框架,涵盖了整个系统中所有数据及其内在联系与组织方式,并具有以下三种模式描述信息:
  • 全局概念模型旨在阐述分布式数据库中全局数据的组织架构。
  • 分片视图用于展示基于特定条件对全球范围内的数据进行分类管理。
  • 物理分配方案则负责将各分片(或称分片)按照空间分布进行布局规划。

全局概念模式与分片模式之间的对应关系属于一对多类型(one-to-many),即每个全局概念模式对应多个分片模式;而每个分片模式仅能对应一个全局概念模式。在分片模式与分配方案之间的映射中,则可能存在一对多或者一对一的情况(one-to-one或one-to-many),这取决于数据存储策略中冗余度的设置:采用一对多时表明数据具有副本冗余性且禁止在同一个存储场域中存在相同副本;采用一对一则表示数据无冗余特性(即仅有一个副本)。

从整体概念层面审视分布式数据库系统时会发现其特点在于:该系统通过定义全局数据的逻辑架构、分布特征以及物理布局实现了对资源的有效管理与协调;而无需关注这些数据在各个局部存储环境的具体存储细节。

  1. 层次中的局部概念。由局部概念模式来描述,它是全局概念模式的子类别,在经过逻辑划分之后,在各个局部场地中进行分配。
  2. 局部内层。涉及分布式数据库中物理数据库的相关描述。

分布式数据库的四层架构及其模式定义间的对应关系, 反映了分布式数据库是由一组通过网络连接的本地数据库构成的逻辑集合, 其特点包括以下几点:

  • 将全球数据库与本地化数据库进行分离设计。
  • 虚拟化的全球数据库由基于全局概念层的虚拟视图定义,
  • 该虚拟视图完全独立于其他场地上的本地化数据库。
  • 数据库实现数据独立性的机制。
  • 分布式系统的透明特性体现在如何管理片上数据的一致性和可访问性。
  • 分片透明采用了一种较低级的数据一致性模型,
  • 在这种模型下用户仅需关注整体关系操作,
  • 而无需关心这些关系如何被分解成片段进行存储和管理。
  • 数据冗余控制主要关注分配层面的操作,
  • 通过分布式系统实现了复制透明性。

2)数据分布和数据分片

数据分布被定义为在分布式计算环境中合理分配数据以优化其操作的自然并行度,并追求最高的执行效率这一目标。在解决具体的数据分布问题时可采用集中型分割型复制型以及混合型等多种策略。

数据分片亦称数据分割,在全球范围内使用的全局数据库通常是由各局部数据库通过逻辑组合而成;这些各局部数据库则系由全球数据库的一种特定方式所划分而来。在实际应用中,数据分片主要采用以下三种方式:水平方向上的划分、垂直方向上的划分以及将两者结合使用的方式。

  • 横向分割:根据明确标准将整个全局关系的所有元组集合进行划分处理,使其被分割成彼此分离的若干个独立单元.
  • 纵向分割:通过将整个全局关系的属性空间分割为多个相互独立的部分来实现.
  • 综合性的分割方案:在实际操作中既可以先执行横向处理后再进行纵向优化.

采用何种数据分片,都要遵守如下规则:

  • 完备性要求:确保所有全局关系的数据都被分配到相应片段中,并不存在遗漏的情况。
    • 可重构要求:必须保证能够通过结合各个片段恢复出原始的全局关系结构。例如,在水平分片中使用并操作,在垂直分片中使用连接操作。
    • 不相交要求:确保分割后的各数据片段互不重叠或仅包含关键字重叠。

3)分布透明性

数据分布透明性也称为数据分布独立性。数据分布独立性指的是当用户或用户程序在使用分布式数据库时如同在集中式数据库中一样进行操作,并无需关注全局数据的具体存储分片情况以及各存储分片上的数据库逻辑模型等细节信息

  • 分片透明性是指应用程序只需处理全局关系而无需关心数据的逻辑分片。
  • 分配透明性分为两种情况:一是各片段复制的数量及副本数量;二是各副本及其位置的分配情况。
  • 局部数据模型的透明性。

4)分布式数据库管理系统

分布式数据库管理系统(Distributed Database Management System, DDBMS),主要分为两大类:

  • 综合型分布式体系结构:在分布式数据库尚未建立之前就已经存在的完整数据库管理系统类型。
  • 该体系结构基于用户的特定需求进行系统设计与构建。
  • 联合型体系结构:它是基于现有节点数据库管理系统的分布化发展而形成的。
  • 这种架构可进一步分为两种类型:同构联机与异构联机。
  • 同构联机的特点是各节点均采用相同的数据模式、命令语言及查询语言。
  • 异构联机则表现为各节点采用不同数据模式、命令语言以及查询语法。

分布式数据库系统的标准定义,12条准则如下:

  1. 本地自主权。
  2. 独立于中间节点。
  3. 连续可操作度。
  4. 位置透明度与自主权。
  5. 数据分片独立。
  6. 数据复制互不相干。
  7. 分散式查询管理。
  8. 分散式事务管理。
  9. 硬件互不相干。
  10. 操作系统互不相干。
  11. 网络互不相干。
  12. 数据库管理系统互不相干.

当一个分布式数据库管理系统符合全部12项核心标准时,则被称为完全分布式管理系统。

分布式数据库管理系统由四部分组成:

LDBMS 是局部场地上的 数据库管理系统 ,其主要功能是建立和管理局部数据库 , 提供场地自治能力 , 执行局部应用及全球查询的子查询 。
GDBMS 是全局 数据库管理系统 ,其主要功能是提供分布透明性 , 协调全局事务的执行 , 协调各 局部数据库管理系统 以完成全局应用 , 保证数据库的全局一致性 , 执行并发控制 , 实现更新同步 , 提供全局恢复功能等 。
GDD 用于存储全局概念模式、分片模式分配模式的定义以及各模式之间映像的定义 , 同时存放用户存取权限的定义 , 以保证全部用户的合法权限和数据库的安全性 , 还存放数据完整性约束条件的定义 , 其功能与集中式 数据库的数据字典 类似 。
CM 负责通信管理功能 。

5)分布式查询处理和优化

核心目标是调节并加速涉及对查询执行过程以及数据传输环节的管理。这些措施一般会关注减少计算开销以及提升响应速度两个方面的改进。

  • 执行代价指的是查询所需的系统资源,并使总和尽可能减少以降低系统的运行负担。
  • 查询响应时间是指从提交到收到第一个结果所需的时间,在确保快速响应的同时不追求过多的资源消耗。
  • 可以用形象化的比喻来理解:执行代价优化的目标类似于"物美价廉"(最经济),而响应时间优化的目标则类似于"快速送达"(最快)。

6)分布式事务管理

一个事务是访问数据库的一个逻辑工作单位,它是一个操作序列

分布式事务和集中式数据库中的事务共同具有如下特性:

  • 不可分割的操作必须全部成功或全部失败
    • 多个并发进行的操作最终结果应等效于按特定顺序依次处理这些操作
    • 未完成的操作在提交前不得提供中间结果
    • 操作完成后若无异常,在提交后数据将被永久保存

一般认为,在数据库系统中将事务的数据原子性事务串行性(即事务可串行化)、数据一致性以及隔离机制这四类核心特性统称为事务的四个特性,并将其分别缩写为ASID或ACID形式表示

分布式事务与集中式数据库中的事务相比,区别如下:

  • 执行特性 :分布式事务在执行过程中会被划分为多个子事务来处理各自主体的数据操作,在这一过程中需要通过协调机制来统一管理各子事务之间的数据传输与同步工作,并最终建立一个协调进程来负责整个事务的统一调度与决策;而集中式事务则完全由并行调度算法来进行管理,在这种架构下无需设置专门的协调进程或进行操作分解。
    • 操作特性 : 在分布式数据库系统中除了传统的数据存取操作序列外还需要引入大量用于实现过程间通信的操作序列即通信机制;这些机制不仅包括代理进程与主控进程之间的数据传输还包括各代理进程之间的数据交互从而使得整个系统的并发能力得到显著提升。
    • 控制报文 : 分布式数据库系统中为了实现跨节点的操作一致性还需要引入大量用于发送和接收各种状态更新指令的控制报文;这些信息主要包括当前处理的状态以及需要提交或终止的具体事务类型等关键信息从而确保整个系统的稳定性和一致性。

7)分布式数据库故障

故障分类

其中,在集中式数据库系统中,并非只有这几种类型的故障。而是在这种架构下还存在其他特定问题。然而,在分布式数据库系统中,并非只有这几种类型的故障。它还可能包含其他不同的问题类型。

  • 介质故障:磁带或磁盘出现损坏的情况。
    • 系统故障:CPU发生错误或陷入死循环的状态;计算结果超出范围;导致数据完整性受到影响的操作;出现输入输出数据不正确的情况。
    • 事务故障:由于计算溢出导致的结果异常;操作过程中出现的数据完整性破坏;人为干预操作导致的问题;输入输出数据不正确的情况。
    • 通信故障:站点间通信中断称为通信故障。可进一步划分为报文传输问题和网络分割问题。其中报文传输问题又可分为报文格式错误、顺序混乱以及部分缺失或持续时间过长等情况。
    • 网络分割问题:系统中一部分节点与另一部分节点完全断开连接的状态称为网络分割问题。此时两个节点群之间完全无法实现信息交换。
    • 报文传输问题:接收到的报文格式存在偏差或者数据有误;接收的报文顺序颠倒或有遗漏;接收的数据存在缺失或者长时间未收到报文等情况。

8)故障恢复原则

  • 独立分阶段退出事务的原则。对于不影响其他事务的可排除性局部故障(如事务操作的删除、超时、违反完整性规则、资源限制、死锁等),应令某个事务独立地、分阶段地退出系统,并将所做过的修改复原为初始状态(UNDO)。
    • 成功完成交易的原则。成功完成交易后所做过的修改应超越各种可能发生的故障(REDO)。当故障发生时,则应重做该交易的所有操作。
    • 潜在问题处理原则。如果发生的是非局部性的不可排除故障(例如系统崩溃),则必须将所有事务均需被撤销,并恢复到系统的初态(即取消所有修改记录)。这可以通过以下两种方式实现:一种是利用数据库的备份机制;另一种是按反向操作序列进行处理。

9)两阶段提交协议(2PC)

两阶段提交协议(Two Phase Commitment Protocol, 2PC)简洁而优雅地解决了问题,并将其解决方案巧妙地应用于另一个领域。通过将本地原子性提交行为扩展至分布式事务场景中,并在不影响日志记录的前提下实现了高效的故障恢复机制,在不降低系统可靠性的前提下显著提升了系统的可靠性和容错能力。

2PC把事务的提交过程分为两个阶段:

  • 第一阶段属于投票阶段(即第一部分),其主要目标是达成所有参与方的一致决定。
    • 第二阶段为执行环节(即第二部分),通过按照该协调者指示的操作程序来完成。
      • 在这一过程中:
        • 参与者将提交事务请求至协调者。
        • 或者将撤销事务请求发送给协调者。
        • 同时接收协调者的确认消息。
        • 协调者将在日志中记录事务完成信息,并终止该事务的处理流程。

在协调者的安排下采取了事务全球终止的做法;这种做法由两条规定共同规范;这两项规定被称为全球提交标准。

  • 如果一个参与者撤销事务,则协调者必须执行全局撤销。
  • 当所有参与者一致同意提交事务时,协调者才会进行全局提交。

10)三阶段提交协议(3PC)

3PC协议的提交过程:

  • 第一阶段中, 协调者通过发送"准备提交"报文至全体参与者, 由每位参与者根据自身情况投下赞成票, 只有当全体参与者均投下赞成票时才 proceed to 第二阶段.
  • 第二阶段中, 协调者再次向全体参与者发送"全局预提交"报文. 若某参与方已做好提交准备, 应回复"准备就绪"; 若未做准备, 则需作出撤销其当前提交请求的行为.
  • 第三阶段中, 协调者待收到全体参与者的"准备就绪"确认后, 就会发送"全局提交"报文至每位参与者. 此时每位参与者皆 aware others 已经同意其进行提交操作, 因此可在此收到"全局提交"指令后顺利作出提交行为.

2.Web数据库

网络数据库也被普遍称为Web数据库。供用户通过浏览器作为数据输入入口。用户通过浏览器获取所需的数据内容。网络服务器接收并处理来自浏览器的数据。

三层体系结构:

  • 客户端。客户端接收用户接口和请求的入口点(如JDBC)、动态HTML(DHTML)技术和Applet技术。其典型应用场景包括网页浏览(如Java应用程序)等。
  • 服务端。Web服务 server实现典型的Web服务架构(CGI/PHP/SAP/AOI/ASP/JSP/EJB/Servet/Servlet)。支持业务逻辑的核心功能的应用程序 server实现企业级解决方案(CGI/PHP/SAP/AOI/ASP/JSP/EJB/Servet/Servlet)。
  • 数据库层面。基于关系型数据库的数据存储与管理方案采用标准化的数据访问接口(如Oracle, SQL Server等)。

脚本连接数据库的常见方法包括ODBC(Open Database Connectivity),这是一种开发式数据库连接方式;以及Data Access Objects(DAO),它代表了基于服务器访问的对象化数据访问方式;此外还有Remote Data Objects(RDO),用于远程化的数据访问;最后是ADO(Activtex DataObjects),它是一种基于ActiveX的数据对象访问方式。

客户机/服务器模式(C/S)。运行性能较高。
浏览器/服务器模式(B/S)。维护简单。

3.XML与数据库

Extensible Markup Language(XML)是一种可扩展标记语言。除了用于标识文档内容与元素之间的关系外,并且还支持使用嵌套标签来表示复杂的层次结构关系。另外提供了一种元标签机制来定义其他领域特定标记语言的语义规则。

XML语法规则:

  • XML声明语句必有一处
  • 声明语句应紧跟在XML声明句之后
  • 注意文本中的大小写字母区分情况
  • 为所有属性值部分加上引号以明确其性质
  • 每一标识都应对应其闭合标记以确保文档完整性
  • 所有的空标签也必须包含其闭合标记以避免无效结构

通过XML与数据库之间的数据传输过程,必须建立文档结构与数据库结构之间的对应关系

  • 模版驱动。查询。
  • 模型驱动。分为表格模型和特定数据对象模型。

4.面向对象数据库

通过融合传统数据库技术和面向对象程序设计理念,在理论上构建了一种新型的计算机信息处理体系——面向对象数据库系统(Object Oriented Database System, OODBMS)。该系统旨在通过将数据视为独立实体来进行存储、检索及管理操作,并最终实现整个系统的智能化控制功能

面向对象数据库的特征:

  • 必须能够描述和调控对象的能力。
    • 具备复杂对象结构的能力。
    • 应具备面向对象编程语言的接口。
    • 能够描述并管理和控制数据库的变化。

面向对象数据模型:

  • 对象结构:包括属性集、操作集以及消息集。
  • 对象类。
  • 继承关系及其多重性处理。
  • 每个对象都有一个独特的系统生成的ObjectIdentifier(OID)作为标识符。
  • 嵌套结构中存在一个父级到子级的关系,在这种情况下,默认情况下不允许字段重名。

对象关系数据库系统是一种将对象数据模型的核心特征和专用语言成功整合到传统的关系数据模型中的重要技术架构。该系统通过整合对象数据模型中的核心特征和专用语言到传统的关系数据模型中,实现了两者的有机融合,形成了新的数据库设计模式。在迁移过程中,主要采用嵌套结构、复杂属性类型、继承引用机制以及函数式操作等多种方式实现不同体系间的无缝对接。

复杂类型有关的查询:

  • 路径表达式
复制代码
    select head->name;head->address from departments;
  • 以集合为值的属性
复制代码
    select title from books where 'databases' in (unnest(keyword-set));
  • 嵌套与解除嵌套
复制代码
    select name, a as author,date.day,k as keyword 
    from doc as b,b.author-list as a,b.keyword-list as k;

5.大数据和数据仓库

大数据领域由大量数据构成,在数据采集、存储、处理以及分析管理方面均显著超越传统数据库的能力,并且其规模远超常规数据库。

数据仓库中的数据具有四个核心属性:主题导向型、整体性和静态性与动态性的结合。

数据仓库采用的模型:

  • 概念纽带是主观认知与客观 reality之间的联系中心,它是一个理论工具用于构建系统框架、整理信息资源。最常用的方式是采用E-R图来表示这一概念结构。
  • 逻辑架构即关系模式。RDM(关系数据模式)具有操作简单直观的特点,在用户层面上易于理解和操作;它建立在坚实的理论支撑之上,并且为数据库设计提供了严格的理论指导;该架构显著简化了程序员的工作流程以及数据仓库的设计开发过程,在商业智能领域得到了广泛应用。
  • 物理实现是指将逻辑架构转化为实际存储方案的过程。具体涉及存储介质选择、存储结构设计、存储位置规划等方面的技术考量。主要考虑因素包括IO访问速度、存储利用率和维护成本;基于数据仓库规模大而操作单一的特点,在物理架构设计中可综合运用多种优化技术:如数据合并技术、数据序列化处理、冗余数据管理方法等;通过进一步细化数据粒度和引入导出数据机制等手段来提升整体性能。

核心观点指出,在从业务系统或其他来源获取数据时,在将其加载至数据库之前应执行预处理步骤以确保其质量与可靠性。将这些信息转移到数据库中的主要目的是两个方面:首要目标是提升数据库内信息的质量;次要目标则是提高其可用性。

基于数据分析与决策支持的整合平台

OLTP是一种基于计算机网络的操作人员与管理层进行的数据库数据管理活动体系,其核心功能在于通过一系列操作包括查询、插入、删除以及更新等基本功能,实现对事务处理工作的有效支持,并以其快速事务响应和频繁的数据修改能力著称,从而帮助用户高效地完成具体业务流程的操作

全部评论 (0)

还没有任何评论哟~