HTAP技术

传统业务采取隔天隔天将数据抽取到OLAP的方式,带来了两个问题

1, 报表往往需要隔天才能出来,无法满足业务需要;

2,带来了多副本的问题; OLTP里面至少三个副本; OLAP里面又至少3个副本; OLAP分析后转存数据集市又有多个副本;造成资源大量的浪费;

 HTAP要求:

可扩展性

  • 分布式事物
  • 分布式存储

实时性

  • 行存和列存实时同步

同时支持OLTP和OLAP

  • 同时支持行存和列存
  • OLAP和OLTP业务隔离

 

 TiDB的HTAP特性

  • 行列混合
    • 列存TiFlash支持基于主键的实时更新
    • TiFlash作为列存副本
    • OLAP和OLTP业务隔离
  • 智能选择
  • MPP架构

TiDB的MPP (Massively Parallel Processing) 

  • 大量数据的JOIN+聚合查询
  • 所有MPP计算都在TiFlash节点的内存中完成
  • 目前只支持等值连接
  • enforce_mpp帮助验证是否可以使用MPP

MPP过程
例如执行下面的OLAP查询:

select count(*) from order,product 
where order.pid = product.pid
and sub_str(order.dic,3) = '7c0'
and product.pic_date > '2022-01-31'
group by order.state;

1, 根据where条件,将order.dic前3个字符等于'7c0'的, product.pic_date > '2022-01-31'的数据放入内存;

2, 进行数据交换,将order.pid和product.pid相等的数据放入同一个节点;

3, 进行数据连接,此时连接会发生在节点内部,从而减少了巨大的网络开销;连接可以并行执行;

4,聚合提速: 对State进行HASH,将HASH相等的数据放入同一个节点;

5, 对数据进行聚合,聚合查询在节点内部即可完成,得到结果,且并行执行;

6, 将各个tiflash结果返回到TiDB Server进行汇总返回给用户;

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值