OLTP与数据服务(随笔)
文章目录
一、数据服务(重点)
数据服务指的是面向各种操作型业务,提供数据的增加,删除,修改,以及简单的查询功能
二、数据服务于数据分析的主要区别
数据服务于数据分析的主要区别在于处理数据量的大小
-
数据服务: 一般是在一个事务中对少量数据进行增删改查等操作,目的是反映操作型业务对数据的修改
-
数据分析: 一般是在大量数据之上进行更深层次的分析,目的是从大量数据中获得隐藏的规律
三、 OLTP联机事务处理
联机事务处理的特点:
- 用户请求作为一个事务进行处理
- 响应时间短
- Ps: 事务是一个完整的工作单元,要么全部执行,要么全部都不执行,其响应时间一般按秒计。
四、RDBMS数据库技术
关系数据库管理系统:
- 基于表格,行列,属性等基本概念
- 可以施加若干完整性约束条件,以保证数据的正确性,一致性
其中的完整性包含:
- 实体完整性
- 参照完整性
- 用户自定义完整性
关系数据库管理系统的主要关系操作:
- 选择 :把符合条件的记录挑选出来
- 投影 :把各个记录的部分属性列提取出来
- 连接 :多表查询
其中实现连接操作的算法:
- 嵌套循环连接
- 排序合并连接
- 哈希连接
一般来讲,一个SQL查询语句,要经过词法分析、语法分析、语义检查、在内存中生成一棵语法树,经过优化器优化后生成一棵优化的语法树,再转换成物理执行计划,最后由执行器执行,获得结果集
关系数据库管理系统的查询优化器,根据用户的查询特点和数据的分布特征,选择合适的查询执行计划,通过过滤、投影、连接、聚集等操作,完成用户的查询,力图达到执行速度快、消耗资源少、尽快获得查询结果等目标。
查询优化
- 基于规则的优化
- 根据一定的规则,优化查询语法树。基于规则的优化,往往把选择操作和投影操作放在连接操作之前完成。
- 基于代价的查询优化
- 要优化器掌握数据的统计特征,适当选择合适的查询处理算法。
关系模型
关系模型是指用二维表的形式表示实体和实体间联系的数据模型。
关系模型中无论是实体还是实体间的联系均由单一的结构类型-----关系来表示
ACID事务特性
- 原子性
- 一致性
- 隔离性
- 持久性
数据库恢复技术
保证数据库系统在失败后能够恢复到最近一致的状态。为了达到这个目标,数据库的所有操作都必须记录下来,这就是数据库日志。
日志记录的基本原则,就是先写日志原则,然后再对数据进行操作。
在数据库恢复过程中,首先把检查点装载进来,把提交的事务再执行一遍,把为提交事务对数据的改变恢复回去,就可以把数据库恢复到最近的一致状态。
五、数据库完全
- 系统运行安全
- 系统信息安全
- 数据独立性
- 数据完全性
- 数据完整性
- 并发控制
- 故障恢复
数据库的安全性保证,主要技术手段包括用户认证和授权、审计、和数据加密等。
六、并行数据库与分布式数据库
并行数据库
并行数据库指的是通过高速网络把多个计算节点连接起来,把数据库数据和操作分解到这些节点上并行执行的一类数据库系统。
分布式数据库
运行在多台计算机上,这些计算机通过网络互联。每台计算机可以放在一个地方,每台计算机安装独立的RDBMS,拥有数据的完整拷贝或者部分拷贝。这些计算机系统共同组成一个完整的逻辑集中,但是物理上分散的大型数据库。
分布式数据库相对于传统数据库来说的优点:
- 分布式数据库把各场地自治管理和集中式数据查询及操作的要求巧妙结合起来
- 它具有更高的数据访问速度
- 更高的并发能力
- 更高的系统扩展能力
七、NoSQL数据库技术
Nosql数据库,其设计目标是具有极高的扩展能力,无法保障强一致性,但一般可支持最终一致性,关系数据库管理系统提供联机事务处理能力,操作型NoSQL数据库提供数据服务能力。
NoSQL的新原则
- 采用横向扩展
- 放弃严格的ACID
- 对数据的存储进行容错处理
四大类别
- Key-Value
- 代表:Redis
- Column Family
- 代表:HBase
- Document
- 代表:MongoDB
- Graph
- 代表:Neo4J
八、NewSQL数据库技术
- 通过全新的架构设计和产品实现,在保持ACID特性的基础上支持更高的扩展性
- 对现有的开源数据库系统进行深入的优化
- 通过中间件软件,支持数据的透明划分
九、CAP理论
- 一致性 C
- 系统可用性 A
- 网络分区容忍性 D
三个目标不可兼得,最多只能满足其中的两个特性。