为什么资源隔离对HTAP至关重要

北京治疗白癜风哪家医院比较好 https://disease.39.net/yldt/bjzkbdfyy/

此前,通过《向量化引擎对HTAP的价值与技术思考》一文,我们分享了OceanBase怎样看待向量化引擎技术,并介绍了用它解决复杂查询场景的技术思路。

HTAP的本意是把OLTP(事务处理)和OLAP(分析处理)放在一个系统上更好地运行,帮助客户开展实时业务决策,降低运营成本并提升创新效率。因为OLTP、OLAP使用资源(CPU、内存、IO等)的方式不同,同时运行时容易产生资源干扰。如何将二者的相互影响降到最小,成为实现HTAP的关键,也是本篇文章中资源隔离技术要解决的问题。

席华锋:OceanBase技术专家,11年来持续专注数据库的高可用和扩展性,曾负责Paxos协议在OceanBase的落地,是OceanBaseTPC-C攻坚项目组成员。目前在OceanBase系统组,负责打造HTAP的基础设施,包括如何解决AP和TP的资源隔离问题。

我们认为真正的HTAP需要完备的资源隔离,数据库需要提供逻辑隔离能力,与物理资源隔离形成互补,帮助用户根据实际业务场景进行调整。需要极致隔离的核心业务采用物理资源隔离,对成本敏感的长尾业务采用逻辑资源隔离。本篇文章将分享OceanBase对资源隔离技术的思考,阐述为什么资源隔离技术是实现HTAP的必要前提,以及我们如何应对资源隔离的实施挑战等:

HTAP为什么需要资源隔离;如何实现适合HTAP的资源隔离;OceanBase资源隔离的实现效果。

HTAP为什么需要资源隔离?

资源隔离是HTAP的立足根本

为了说明资源隔离的重要性,我们可以把数据库与操作系统进行比较:这两者的共同点是复杂性,而复杂性来源于两方面:一是功能的开放,二是对性价比的极致追求。功能的开放意味着负载不可控,如一个用户进程可以做任何事,一条SQL也可以做任何事;追求性价比则是因为基础软件用户量大,优化节省每一点资源都有重要意义。而追求性价比有很多方法,其中最直接的就是资源隔离技术。

经过数十年的发展,当前的操作系统都已具备支持多用户,支持Docker(虚拟化应用容器)的能力,基于Docker的Kubernetes已经成为业务部署的事实标准。而数据库也有多租户和混合负载的场景需求,比如很多业务把历史库和在线库分开,在历史库上执行分析,不仅增加了运维复杂性,也导致AP的实时性不够,无法在有限的硬件资源下实现TP和AP的动态平衡,未来随着数据库的部署实例继续增加,解决这一问题的价值收益会越来越明显。

资源隔离的需求本质来自于负载的差异分组,只要能分组,自然就产生了某种隔离的需求。负载的分组:如备份任务和前台SQL任务,两者存在时效性的差异,OLTP和OLAP对资源的使用方式不同,也会产生分组。只要一个软件系统要对服务的对象作区别对待,那就自然会产生分组和QoS(QualityofService,服务质量)的概念,也就有了资源隔离的需求。

资源隔离对数据库稳定运行至关重要。这有两种典型情况:一是为数据库内部重要的任务预留资源,避免出现用户负载高导致数据库自身垮掉的情况;另一种是用户原来就有QoS要求不同的业务混在一个库里,比如实时性高的OLTP业务,加上少量的重要性低一些的后台任务,如果用户愿意把这些信息告诉DB,数据库就可以更稳定地运行。

第二种情况的典型例子就是OLAP和OLTP两种负载的隔离。传统数据库为了避免OLTP和OLAP业务间产生干扰,需要配置较多硬件资源分配给不同业务,这样就会出现资源利用率低的现象。我们可以通过引入consolidation(数据整合)的概念来解决这一问题,consolidation通过把原有的多套数据库聚合到一个物理库,可以在减少硬件成本的同时降低运维复杂性。

从OLTP和OLAP两个库进化到HTAP一个库,这一进化过程就可以理解为consolidation。我们知道操作系统早已实现多用户和Docker的能力,数据库是否也会随着技术发展出现共享物力资源的需求呢?我们认为,随着技术进步和数据库部署规模继续变大,逻辑资源隔离的应用场景会越来越多。同时,现实中原本就有不少用户在一个库中既服务OLTP负载,也执行一些简单的OLAP,只是受限于OLAP和资源隔离的的能力,限制较多。

比如一个电商的老板想知道当天卖得最好的商品是什么。那就需要在在线库上执行分析,但主流数据库缺少资源隔离能力,分析类SQL可能影响在线交易,为了保证在线交易的稳定性,就需要对数据库扩容,用更多的物理资源换业务稳定性,即使这样,也需要对分析类SQL做严格review,防止这些SQL无限制占用资源。

物理逻辑隔离,哪个是更优选择?

资源隔离并不是一个新概念,传统方式下不共享物理资源,可以理解为物理资源隔离方案。这种方案下不同租户或同一租户内OLAP和OLTP使用不同的副本,行存副本服务OLTP,列存副本服务OLAP,两种业务不共享物理资源。如果不考虑成本,物理资源隔离无疑是更好的选择。

但现实中,大部分客户都会考虑硬件成本及其资源利用率。一方面,数据库硬件的购买和维护成本高昂,而所有硬件都需要定期换新;另一方面,数据库硬件在进行单项业务处理时,平均占用率水平较低。如果不能充分利用硬件资源,无疑会造成巨大的资源浪费。

而要充分利用硬件资源,不同租户或同一租户内OLAP和OLTP共享物理资源的逻辑资源隔离方案,自然脱颖而出。同时我们认为,物理资源隔离和逻辑资源隔离不是二选一,而是互为补充的关系。但考量到资源共享可能出现的干扰问题,一些人认为资源共享会导致QoS无法保证,因此对用户价值不大;另一些人也会

转载请注明:http://www.sinoeverlife.com/glspp/14383.html

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

    当前时间: