CMU Advanced DB 课程笔记#2:数据库工作负载和数据库事务模型

CMU Advanced DB 课程笔记#2:数据库工作负载和数据库事务模型

数据库工作负载:

数据库工作负载有主要分为两种:
       在线事务处理(OLTP):每次只读取或更新数据库的一小部分,比如说用户去淘宝购物,用户只能对自己的购物车或者地址进行操作,这些操作只会涉及到很小的一部分数据。

       在线分析处理(OLAP):和OLTP不同的是,OLAP会对数据库的大量数据进行操作,例如进行连接或聚合运算,比如说淘宝会对大量的用户数据进行分析,来帮助淘宝进行商业决策,更好的为用户服务。

       近几年出现了混合事务+分析处理(HATP)的数据库,在HATP数据库中既可以进行OLTP操作,又可以进行OLAP操作,避免了资源的浪费。

       如下图所示是常见的企业配置数据库的方式,公司用前端的OLTP数据库来进行事务处理,一个公司可以有好几个OLTP数据库。当公司想要对这几个OLTP数据库内的数据进行分析的时候,公司需要把数据从OLTP数据库拿出来,进行提取转换加载(ETL)操作,该操作会对数据进行清洗以及转换,把数据格式统一起来加载到后端的OLAP数据库中。然后在OLAP数据库中进行分析操作,必要的时候OLAP数据库还会给OLTP数据库返回计算的结果。
bifurcated env
       以淘宝为例,淘宝在前端用OLTP收集用户的物品点击信息,在后端OLAP数据库中计算用户可能感兴趣的物品,将这个物品返回给前端OLTP数据库,以便用户下次访问的时候将这个物品呈现给用户。

       HTAP数据库允许了某些只能运行在后端OLAP数据库的操作运行在前端OLTP数据库中,减少了数据从

OLTP DB --> ETL --> OLAP DB --> OLTP DB

之间传输的时间,但是HTAP不能取代ETL。

数据库事务(Transaction简称为Txn) Model:

       Transaction是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。—维基百科
       数据库事务模型主要有六种,分别是:Flat Txns,Flat Txns+ Savepoints,Nested Txns,Chained Txns,Compensating Txns,Saga Txns,以下对这些模型进行具体介绍。

Flat Txns:

       我们现在所说的transaction大多指的是Flat Txns。Flat Txns以BEGIN开头,后面跟着一系列操作,最后以COMMIT或者ROLLBACK结束。

       如下图所示,Txn #1BEGIN开头,紧接着对A进行读取,对B进行写操作,最后COMMIT,表明B被永久写入数据库中了, Txn #2在对B进行写操作之后ROLLBACK,表明对B的写操作会回滚,B不会被写入数据库中。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值