Day 3 - HTAP

上一篇提到了TiDB的特色之一,便是实践了HTAP。那HTAP又是什麽东西?

HTAP全名Hybrid Transaction and Analytical Processing,混合事务与分析。
能将OLTP(On-Line Transactional Processing)和OLAP(On-Line Analytical Processing)的需求统一在一套Database中完成,省去两者之间透过ETL(Extract-Transform-Load)处理资料所消耗的时间。

OLTP类型的资料库主要用於处理事务,透过资料库产生数据,对於资料的异动行为较为频繁,且相当重视数据的即时性。一般牵扯到金钱纪录的系统都会使用这种类型的资料库,以保证资料的一致性。

OLAP类型的资料库则用於数据分析上,使用者会透过自己检视资料的角度去储存资料,往往是需要读取上百万甚至千万以上的资料,使用的查询语法也较为复杂。这类型的资料库对於资料的异动较不频繁。

这两类资料库通常会透过ETL做资料转换,将资料从OLTP汇总到OLAP类型的资料库。

但是随着大环境业务型态的转变,越来愈多的使用场景对於分析数据的需求,即时性愈趋重要。ETL资料转换需要的时间不一,也造成了OLTP与OLAP两边资料会有不一致的情形,也就形成了总是慢一拍的情况。另外,两套系统的维护成本考量也是让人头痛的部分。

HTAP的出现解决了上面的问题,就像食神把濑尿虾跟牛丸混在一起做成撒尿牛丸一样。用了HTAP以後头脑就灵光了很多,每次考试都考一百分。TiDB同时拥有Column base & Row base两种类型的资料储存引擎,让同一份数据在一套资料库上同时支持OLTP与OLAP的事务。

接下来会继续描述TiDB是用怎样的架构来做到这件事情。


<<:  Ruby on Rails 继承(Inheritance)与开放类别

>>:  [Day-2] 探索Dev C++

D19 第九周 後端基础 PHP 与 MySQL

这周新接触到 PHP 和 MySQL,然後是第一次使用到 session 机制实作登入功能 我自己的...

二元树之 IF 下策 - DAY 18

前言 昨天可以看到在知道数量的状况,去调动顺序,就可以减少 IF 触发数,接下来会建立霍夫曼树,达到...

请学着打造点零件吧!

莱特兄弟第一台飞机第一次试飞使用的引擎是他们自己打造的。 Day 5的文章完。 ……… ……… ……...

设定个别帐号的环境变数

在 Linux 执行指令时,如果只输入指令名称而没有输入完整指令路径,系统会在 $PATH 变数设定...

DAY03 - 前端与後端的沟通起点 - API

前端除了要切版与设计师的沟通之外,在资料串接的部分,就是与後端工程师沟通的时候了! 後端要怎麽把资料...