学习自华为iLearnX官网
数据库技术
数据 Data
数据库 DB database
数据库系统 DBS database system
数据库管理系统 DBMS database manager system
数据库系统
数据库技术发展
数据库的优势
整体数据的结构化
- 数据面向整个系统而不是单个应用,被多个应用共享。
数据的共享性高,冗余度低且易扩充。
数据独立性高
- 物理独立性:应用程序与数据库中数据的物理存储是相互独立的。
- 逻辑独立性:应用程序与数据库的逻辑结构是相互独立的。
统一管理和控制
- 数据的安全性保护;
- 数据的完整性检查
- 并发控制;
- 数据库恢复。
数据模型
结构化查询语言 Structured Query Language
关系型数据库ACID特性
原子性( Atomicity )
- 事务是数据库的逻辑工作单位,事务中的操作,要么都做,要么都不做。
一致性( Consistency )
- 事务的执行结果必须是使数据库从一个一致性状态转到另一个一致性状态。
隔离性( Isolation )
- 数据库中一个事务的执行不能被其他事务干扰。即一个事务的內部操作及使用的数据对其他事务是隔离的,并发执行的各个事务不能相互干扰。
持久性( Durability )
- 事务一旦提交,对数据库中数据的改变是永久的。提交后的操作或者故障不会对事务的操作结果产生任何影响
其他数据模型
面向对象数据模型( Object Oriented Data Model,OO模型)
- 将语义数据模型和面向对象程序设计方法结合起来,用一系列面向对象核心概念构成模型基础。
- 由于面向对象数据库操作语言过于复杂,没有得到开发人员认可。
XML数据模型
- 随着互联网迅速发展,出现了大量的半结构化和非结构化数据源,XML成为网上交换数据的标准之一以及研究热点,相应地出现了半结构化数据的XML数据模型。
- 纯XML数据库基于XML节点树模型,可以支持XML数据管理,但是同样要解決传统关系型数据库所面临的各种问题
RDF数据模型
- 互联网的信息没有统一表达方式,W3C提出资源描述框架( Resource Description Framework,RDF)来描述和注解互联网资源;
- RDF是描述互联网资源的标记语言,结构为(主语,谓词,宾语)主要用于语义网、知识库的基础数据模型,是当前知识图谱技术的基石。
NoSQL数据库
关系型数据库主流应用场景
联机事务处理(OnLine Transaction Processing)
- OLTP是传统关系数据库的主要应用
- 面向基本的,日常的事务处理,例如银行储蓄业务的存取交易,转账交易等
- 特点
- 大吞吐量:大量的短在线事务(插入、更新、删除),非常快速的査询处理。
- 高并发,(准)实时响应。
- 典型OLTP场景
- 零售系统
- 金融交易系统
- 火车机票销售系统
- 秒杀活动
联机分析处理(OnLine Analytical Processing)
- OLAP
- 联机分析处理的概念最早是E.F.Codd于1993年相对于OLTP系统而提出的。
- 是指对数据的查询和分析操作,通常对大量的历史数据査询和分析。涉及到的历史周期比较长,数据量大,在不同层级上的汇总,聚合操作使得事务处理操作比较复杂。
- 特点
- 主要面向侧重于复杂查询,回答一些“战略性”的问题。
- 数据处理方面聚焦于数据的聚合,汇总,分组计算,窗口计算等“分析型”数据加工和操作。
- 从多维度去使用和分析数据。
- 典型的OLAP场景
- 报表系统,CRM系统
- 金融风险预测预警系统、反洗钱系统
- 数据集市,数据仓库。
数据库性能衡量指标
- TPC( Transaction Processing Performance Council,事务处理性能委员会)
- 职责是制定商务应用基准测试标准( Benchmark)的规范、性能和价格度量,并管理测试结果的发布。
- 制定的是标准规范而不是代码,任何厂家依据规范最优地构造自己系统进行评测。
- 推出了很多基准测试标准,其中针对OLTP和OLAP分别有两个规范。
- TPC-C规范
- 面向OLTP系统,主要包括两个指标
- 流量指标:tpmc(tpm- transactions per minuet,即每分钟测试系统处理的事务数量)。
- 性价比指标: Price(测试系统价格)/tmpC.
- 面向OLTP系统,主要包括两个指标
- TPC-H规范
- 面向OLAP类系统
- 流量指标:qphH- Query per hour,即每小时处理的复杂査询数量。
- 需要考虑测试数据集合大小,分为不同的测试数据集,指定了22个查询语句,可以根据产品微调
- 测试场景:数据加载, Powera能力测试和 Througputi则试。
- 面向OLAP类系统