作者:何朝洋

原文来源: https://tidb.net/blog/da6fe78a

TiDB是一种典型的HTAP数据库,即交易分析混合负载型DB,目前已经成为一种流行的新型数据库代表,具有隔离性、实时性、一致性“三性合一”的优秀特性,同时随着版本的迭代,AP的能力在逐渐增强。HTAP不仅概念很火,并且也在逐渐成为除OLTP、OLAP之外,越来越多数据库用户新的选型规范。然而,现阶段,又存在一些现象:一是一夜之间,所有的数据库都变成了HTAP数据库;二是除了“能同时承载交易与分析SQL”这一极易模糊的理解之外,基本没有清晰明确的界定;自然而然,对HTAP的应用场景,也是八仙过海,各式各样,并不清晰的。这些,都导致HTAP有成为一种噱头的趋势。

1. HTAP的界定

这里认为,HTAP既然要成为一种新的标准与规范,就必须有尽量明确界定。而达此目的的最基本原则,就是它在技术上 必须有不同于过去经典数据库的能力(不应该只是分布式),并且必须对客户的数字化进程带来创新与升级,这同时包括业务架构、应用架构、数据架构与技术架构等层面 。面向这一原则,其定义与界定可以持续探讨,而本文仅提出如下几点以供参考:

(1)HTAP在技术架构与设计目标上不应该等同于经典Oracle与MySQL,或分布式后的类Oracle与MySQL,因为如果经典Oracle与MySQL也算是HTAP的话(用“能同时承载交易与分析SQL”来衡量,那肯定是),HTAP的定义,就毫无意义;

(2)HTAP数据库的交易与分析任务的执行,应该能做到用户透明使用且有互不影响的基础,而不应该是AP多了大幅影响TP,TP多了大幅影响AP,经典Oracle与MySQL正是如此;

(3)HTAP不应该面向数仓类纯OLAP的需求。也就是说,其对企业数据架构的提升,现阶段不应该以摒弃数据仓库体系为目标;

(4)现在的HTAP数据库,应该是分布式数据库。

如果用以上标准来界定的话,就可以很明确的判定:除TiDB之外,很多其它号称HTAP的数据库,其实并不是真正的HTAP。

2. TiDB HTAP应用场景

前面说过,TiDB这种真正的HTAP特性给客户带来的,应该是业务与架构的创新与提升,而不仅仅是替换或者性能的提高。由此出发,本文认为TiDB HTAP的应用场景主要集中如下两个方面:

(1)分析能力内嵌的业务系统(Analytic-Embeded OLTP)

有了HTAP的能力,未来的交易型业务系统,都应该在业务交易侧,就天生拥有分析的能力,并且不影响交易的性能与数据的一致性。如风控、营销或者其它原来需要在后台数据平台端通过数据迁移与同步才能完成的能力,相当一部分,可以迁移到业务系统侧实时完成,成为业务系统内在的功能,使其本身就能完成一定程度的业务闭环,这必然是技术驱动现代业务发展的重要方向。

未来的业务系统应该以此标准来设计,这对现代交易系统的业务能力改造与升级有很大的意义。

(2) 以“用”为核的数据服务超市(Data SuperStore)

大多数的数据仓库(Data Warehouse)体系,都是为“管”而生的,应用很难享受到数据的红利。绝大多数的企业,在花大量精力建立了数据仓库(Data Warehouse)体系后,业务系统与人员大多只能通过“请求技术人员协助完成”及“把数据导到业务系统来”两种方式来使用数据,这种应用与数据分隔的现象是大多数企业过去很长一段时间及至今都极为关注的痛点。

面向数据消费,在现有数据平台之上,建立以“用”为核,以“管”为基的数据服务平台,即数据中台这一概念的正确解释,已经成为很多企业规划与实施的重点创新与升级应用之一。它不同于Data WareHouse是为了存与管,而是为了让全企业的用户能将数据(准确讲是面向业务整理后的数据资产,因不是本文重点,这里不作赘述)当作超市的商品一样自由选择与消费,从而让全企业享受到数据的红利,因此,这里认为称之为数据服务超市(Data SuperStore)更为恰当。然而,抛开数据资产体系建立等架构与模型层面的内容不说,应该用什么样的数据库来承载这个SuperStore呢?

面向数据消费的 SuperStore,即要承载来自全企业的大量、高并发的服务型查询需求(QPS的TP型),也要承载大量探索型的统计分析需求(AP型),这种要求显然不是纯OLAP数据库,也不是纯OLTP数据库能满足的,显然又必须是弹性分布式的。因此,过去相当多的数据服务平台,都是采用多种类型数据库,组合满足不同需求来设计的。那么,以TiDB为典型代表的HTAP数据库,就应该是该场景的最佳选择。

TiDB HTAP特性的应用场景简析相关推荐

  1. HTAP数据库及应用场景简析

    HTAP数据库,即交易分析混合负载型DB,已经成为一种流行的新型数据库.不仅概念很火,并且也在逐渐成为除OLTP.OLAP之外,越来越多数据库用户新的选型规范.然而,同时又存在一些现象:一是一夜之间, ...

  2. Style Report中报表组件的使用场景简析

    报表组件,英文称呼为report bean.在诸多报表中,可以看到很多报表元素,特别是报表Bean.报表Bean是报表中的一个元素,是报表的组件:创建好的报表Bean,可以作为备用,以供其他的报表可以 ...

  3. TiDB 5.0 HTAP 架构设计与场景解析

    转载 数据实时化成为业务必须 数字化转型浪潮是现在进行时,在企业数字化转型的过程中,我们看到一个普遍的趋势,企业对"海量.实时.在线"的数据需求变得更加迫切.数字化转型并不是互联网 ...

  4. TVS管原理、特性和选型及失效简析

    本文主要对TVS管的原理特性和选型及失效做一个简析,在参考众多资料的基础上进行汇总. TVS管的原理 电压钳位型瞬态抑制二极管[Transient Voltage Supperssion] 是一种高效 ...

  5. 不同直播场景的CDN技术简析

    随着直播行业的兴起,各种直播应用.平台和产品万花齐放,直播场景也越来越多元化,这就对视频技术的发展提出了"日新月异"的需求.那么,目前视频直播的场景主要有哪些?不同类型的直播场景对 ...

  6. ceph存储原理_Ceph存储引擎BlueStore简析

    前文我们创建了一个单节点的Ceph集群,并且创建了2个基于BlueStore的OSD.同时,为了便于学习,这两个OSD分别基于不同的布局,也就是一个OSD是基于3中不同的存储介质(这里是模拟的,并非真 ...

  7. grpc通信原理_gRPC原理简析

    gRPC原理简析 gRPC是由谷歌提出并开发的RPC协议,gRPC提供了一套机制,使得应用程序之间可以进行通信. 降级开发者的使用门槛,屏蔽网络协议,调用对端的接口就像是调用本地的函数一样.而gRPC ...

  8. TiDB HTAP 深度解读

    HTAP (Hybrid Transactional / Analytical Processing)是近些年需求不断受到关注的技术名词,它描述了一个数据库能够同时满足交易以及分析两种作业.TiDB ...

  9. Java中高级核心知识全面解析——Redis(集群【概述{主从复制、哨兵、集群化}、数据分区方案、节点通信机制、数据结构简析】)5

    目录 一.[集群]入门实践教程 1.Redis 集群概述 1)Redis 主从复制 2)Redis 哨兵 3)Redis 集群化 2.主从复制 1)主从复制主要的作用 2)快速体验 ①.第一步:本地启 ...

最新文章

  1. Redis学习之intset整数集合源码分析
  2. 比较常用的25条Excel技巧
  3. python求两数之和的命令_python计算两个数的百分比方法
  4. WebToJepg—在线把网页抓图
  5. 该!这个电视频道违规播出非法集资广告 被停播30天
  6. 《STL源代码剖析》---stl_set.h阅读笔记
  7. 搭建Hadoop集群(二)
  8. 玩客云pc端_移动端灵活弹性云电销平台解决方案
  9. 布谷鸟算法的一些个人整理
  10. mpa和pis_1psia等于多少mpa
  11. 批量自动打印PDF文件辅助工具BatchOutput PDF for Mac
  12. 百度收录批量查询-免费百度整站批量收录查询工具
  13. position的8种定位方式
  14. kmeans python interation flag_机器学习经典算法-logistic回归代码详解
  15. FusionAccess桌面云
  16. 蛇哥开局两星机器人视频_腾讯内容开放平台
  17. UFS-Net: A unified flame and smoke detection method for early detection of fire in video surveillanc
  18. C#中WorkBook的操作
  19. Import Legacy CCSv3.3 Project到CCS5.5.0时出错
  20. linux网卡 命令 ncmil,Linux常用性能检测命令解释

热门文章

  1. C语言写出一个随机生成1-100数字的猜数字游戏
  2. html折叠新闻网页版本号,数字报纸HTML版本
  3. dpi和ppi换算_DPI、PPI、DP、PX 的详细计算方法及算法来源是什么?
  4. 虚拟磁盘服务错误: 卷大小太大。
  5. Win7~Win10关闭任务栏缩略图
  6. 我的世界服务器无限圈地指令,网易我的世界怎么圈地-怎么圈地指令
  7. 非线性规划问题求解(举例)
  8. Benchmark初印象
  9. MATLAB箭头绘制 arrow3 函数与 quiver3 函数的实用教程
  10. python matplotlib 绘制布林带