本控制技术提供了一类统计信息处理形式,涉及统计资料库控制技术应用领域。该形式主要包括:接收统计数据查阅允诺,并确认统计数据查阅允诺相关联的最终目标统计状态参数;从数个重原产检索中确认与最终目标统计状态参数相关联的最终目标检索;其中,重原产检索中的统计数据是如前所述重分布检索的检索列原产储存在原产式统计资料库中的;当特别针对统计数据查阅允诺的操作形式指向最终目标检索的检索列时,依照最终目标检索,对原始继续执行方案展开强化,生成最终目标继续执行方案;特别针对统计数据查阅允诺的操作形式主要包括皮夏涅裂解操作形式和/或多表关连操作;运行最终目标继续执行方案,得到统计数据查阅允诺相关联的查阅结果。本控制技术同时实现了查阅强化,减少了跨结点的统计数据传输操作形式,提升了统计信息处理的工作效率,提升整个原产式统计资料库的操控性。
控制技术说明
HTAP(混合事务和预测处理)是近年来提出的一类新型的统计资料库构架,旨在打破会话和预测之间界限, 在这份统计数据上确保会话的同时支持实时预测,并且能灵活配置三种阻抗的天然资源占比,使在线交易和预测彼此之间影响,并能依次同时实现线性扩展,服务平台地化解虚拟化应用的各种需求,进而急剧提升成本,同时提升了企业决策的工作效率。当前,HTAP 已成为统计资料库发展的最前沿应用领域。
TiDB HTAP 采用了会话与预测查阅物理分离的构架,同这份统计数据依照业务的需要,在前台展开自动的科袋储存到Chalancon储存的切换以依次响应 OLTP 和 OLAP 三种类型的阻抗。储存层急剧强化了从 TiKV “行”储存到 TiFlash “列”储存文件格式的切换工作效率,在“行 – 列”转换各个环节的 CPU 工作效率急剧提升,进而使高阻抗情况下能节约出更多的 CPU 天然资源用于其他各个环节的排序任务。
在原产式 OLAP 统计资料库中,使用者通常能对两姚学甲选择任一的两列作为其原产的 key,这样这张表的统计数据就能依照这个 key 列原产到不同的统计资料库结点上。在展开皮夏涅裂解或多表关连时,如果裂解的各组列或关连的关连列是上述的原产 key,则各个结点能仅在本地展开这个裂解或关连排序,避免跨结点的数据交换,进而获得巨大的操控性提升。这一般称作 collocation 强化。在原产式 HTAP 统计资料库中,统计数据有行存和列存三种形式,依次相关联于面向全国 OLTP 的情景和面向全国 OLAP 的情景,行存和列存的统计数据通过某种形式展开并行。在一个强保密性的 HTAP 统计资料库中,这种并行形式明确要求行存和列存中的统计数据满足相同的原产以确保并行工作效率即保密性,这明确要求 HTAP 统计资料库中的统计数据应以 OLTP 中的原产形式为准,而 HTAP 中的 TP 潜能须要统计数据依照换行符展开原产,这使 AP 潜能中无法有效的同时实现 collocation 强化,对于皮夏涅裂解或多表关连,须要展开跨结点的统计数据传输,使操控性落后于专用的 OLAP 统计资料库。
为了化解这一问题,本控制技术引入了一类如前所述检索的统计数据重原产及 collocation 强化的形式,主要包括:
S1、建立一类捷伊检索:重原产检索。使用者能为两姚学甲指定一个或数个重原产检索,其中每个重原产检索值包含一到多列。重原产检索同时具有聚簇检索和二级检索的性质:与聚簇检索相同,重原产检索储存完整的行统计数据,与二级检索相同,重原产检索独立于表统计数据储存。统计资料库通过在事务中同时处理表统计数据和重原产检索统计数据以维持两者的一致性。
S2、重原产检索须要指定归属于某个 collocation 组。同个 collocation 组内所有重原产检索均拥有相同的统计数据原产,也就是检索列相同的统计数据均位于原产式集群中的同一个结点。
S3、查阅强化器对于皮夏涅裂解或两表关连的查阅,检查其裂解的各组列或关连列是否为重原产检索列,如果是,则继续执行后续步骤。
S4、查阅强化器对于皮夏涅裂解,检查其裂解的各组列是否有重原产检索,对于两表关连,检查两表的关连列是否都有重原产检索并且都属于同个 collocation 组,如果是,则继续执行后续步骤。
S5、将对该表的扫描转化为对重原产检索的扫描。
S6、消除原继续执行方案上的跨界点统计数据传输算子。
S7、原产式集群扩缩容或者热点调度时,部分重原产检索统计数据会被复制到新结点,统计数据原产会发生变化。在同个 collocation 组内的所有重原产检索依照最捷伊统计数据原产迁移完成之前,查阅强化器依然能使用原来的重原产检索做 collocation 强化。等到 collocation 组内所有重原产检索统计数据均迁移完成之后,查阅强化器才能使用捷伊重原产式检索,此时旧的重原产检索能被删除。因为重原产检索统计数据与表统计数据是独立存放的两份统计数据,因此重原产检索与表统计数据的统计数据原产也是相互独立的,进而他们的调度也是相互独立的,这样能彼此之间影响。
一类如前所述检索的统计数据重原产及 collocation 强化的系统,包括:
1、元信息模块,用于为使用者提供建立、删除重原产检索的形式,使用者能通过建表语句或 alter table 语句,为某姚学甲建立或删除重原产检索。
2、事务模块,用于在事务中随着表统计数据的插入、更新、删除,并行的对重原产检索统计数据展开相关联的操作形式,以确保重原产检索统计数据与表统计数据一样具有 ACID 语义。
3、原产式储存排序模块,储存部分用于原产式的储存重原产检索统计数据,依照统计数据调度模块的指令将重原产检索统计数据调度到指定结点,进而满足 collocation 强化的条件;排序部分用于原产式的继续执行一个查阅方案,原产式集群上的每个结点能对储存在该结点上的统计数据依照继续执行方案展开排序。
4、查阅强化器模块,用于依照重原产检索信息,对满足条件的皮夏涅裂解和多表关连查阅展开 collocation 强化,消除查阅方案中的跨结点统计数据传输操作形式。
5、统计数据调度模块,用于在原产式集群扩缩容或热点调度时对统计数据展开调度。依照 S6 中所述方案,在调度过程中保留原来的重原产检索,调度完成之后再使用捷伊重原产检索,这样 collocation 强化在调度期间仍然能生效。
本发明的一个原产式 HTAP 统计资料库系统的实施例:
如上图所示,本发明如前所述一个原产式 HTAP 统计资料库系统,该 HTAP 统计资料库由三部各组成:
1、SQL 层:负责接收使用者的 SQL 查阅允诺,生成和强化 SQL 的继续执行方案,并完成一些简单的排序
2、调度层:负责决定如何原产式储存统计数据,例如两姚学甲的统计数据如何被分成多份,并储存在数个结点中
3、储存/排序层:负责储存统计数据以及相关的查阅排序
本发明实施例具体步骤包含:
1、在 SQL 层支持一类捷伊检索:重原产检索,该检索具备三个特征:
① 该检索的每一行都储存了相关联表的所有统计数据,即该检索包含了表的所有统计数据。
② 该检索与表统计数据独立储存。
③ 该检索值包含两列或多列统计数据,使用哈希算法检索值到整数值域。
2、在 SQL 层通过事务确保重原产检索的统计数据与表里面的统计数据的一致性。
3、对于同一个表能支持定义一个或者数个不同的重原产检索,同时重原产检索须要指定归属于某个 collocation 组。
4、在 SQL 层,对于皮夏涅裂解,强化器检查其裂解列是否包含该表中某个重原产检索的检索列:
① 如果包含了,则强化器将对表的扫描切换为相关联重原产检索的扫描,并且两阶段裂解强化为每个存储/排序结点上的 collocation 裂解。
② 如果没包含,则强化器依照传统的算法生成相关的原产式裂解的继续执行方案。
5、在 SQL 层,对于关连操作形式,强化器依次检查如下情况:
① 如果参与关连的两个表都包含某个重原产检索使关连列包含该重原产检索的检索列,并且两个重原产检索属于同个 collocation 组,则强化器将对这两个表的扫描都改成对相关联重原产检索的扫描,并消除原始继续执行方案中的统计数据传输算子,将原产式关连算法改为只须要储存/排序结点自己内部做关连的collocation关连。
② 如果参与关连的其中一个表包含某个重原产检索使关连列包含重原产检索的检索列,则强化器将对这个表的扫描改成对重原产检索的扫描,并消除原始继续执行方案中该表一侧的统计数据传输算子,并修改另一侧表的统计数据传输算子使其依照相应重原产检索所属 collocation 组的原产展开统计数据传输,将两个表都须要做统计数据传输的原产式关连算法改成仅须要一个表做统计数据传输的原产式关连算法。
③ 如果参与关连的两个表都没有相关重原产检索,则强化器依照传统的算法生成原产式关连的继续执行方案。
在调度层,由于重原产检索值为哈希值,范围为整数值域,可将这个值域切分为数个相邻的范围,均匀的调度到所有储存结点上。在原产式集群扩缩容或热点调度时,可依照相应的机制重新划分值域范围,并且须要对同个 collocation 组的不同重原产检索使用相同的值域划分。此外,在调度过程中须要保留原来的重原产检索,完成之后再使用捷伊重原产检索,这样 collocation 强化在调度期间仍然能生效。
在数字化转型过程中,企业对“海量、实时、在线”的统计数据需求变得更加迫切,企业中的任一人在任一时间、任一地点对任一形态的统计数据都可能产生消费的需求,HTAP作为统计资料库的创新形态,用一个统计数据平台应对规模化交易和实时预测的需求,提升业务决策的时效性并且降低统计数据控制技术栈的复杂性,已经成为金融、运营商、制造、零售、新经济、互联网、政府业务创捷伊重要引擎。HTAP 统计资料库在这些行业的应用情景不断延伸,例如通过使用者的各种行为、金融交易、征信、风控、风险偏好等统计数据能识别出客户的风险特征和投资偏好,进而推荐合适的产品;对营销线索的转化周期实时跟踪监测,依照使用者需求的变化实时调整,提升转化工作效率等。
★专利申请号/公开号:CN115422205A
开发团队
·带队负责人姓名:孙若曦
孙若曦,TiDB Cloud Compute Engine 团队研发负责人,负责 TiDB 核心排序引擎的构架演进及功能开发。曾任职 NVIDIA、星环科技,专注于统计资料库、大统计数据应用领域,有十余年并行排序、系统软件的开发经验。
团队其他重要成员姓名:徐飞,耿立琪、陈书宁。
·隶属机构:PingCAP
PingCAP 是业界领先的虚拟化开源原产式统计资料库企业,提供主要包括开源原产式统计资料库产品、化解方案与咨询、控制技术支持与培训认证服务,致力于为全球行业使用者提供稳定高效、安全可靠、开放兼容的新型统计数据服务平台,解放企业生产力,加速企业数字化转型升级。
相关评价
用时间换空间和用空间换时间是个永恒的话题,Redistribute Index 在时间和空间的推敲中找到了一个捷伊形式。让排序的统计数据尽量在同一台机器上,既能加快统计信息处理的速度又能减少网络统计数据的传输,而 Collocation Group 是一个确保统计数据原产的新思路,让 Redistribute Index 的同时实现成为可能。当然,强化没有银弹,在时间和空间上的权衡不可避免。
网络IO开销是原产式统计资料库的一大操控性痛点,redistributed key利用储存原产规则的变化在代价极小的情况下化解了常用情景的预测排序问题,创新且实用。