共计 4472 个字符,预计需要花费 12 分钟才能阅读完成。
作者:王奇 阿里云 Hologres 研发
简介:
1、本文介绍了 OLAP 剖析在大数据分析中的地位
2、剖析并介绍目前大数据 OLAP 遇到的剖析性能、资源隔离、高可用、弹性扩缩容等外围问题
3、解析阿里云 Hologres 是如何解决极致性能、弹性、业务永续、性价比等外围刚需的最佳实际
4、介绍阿里云 Hologres 弹性计算组在弹性计算、资源隔离上的摸索和翻新
一、OLAP 剖析在大数据分析中的地位
目前业界将 大数据分析次要分为四个阶段:描述性剖析、诊断性剖析、预测性剖析、规范性剖析。
目前 OLAP 剖析次要集中在描述性分析阶段,其中诊断性剖析、预测性剖析、规范性剖析属于高阶剖析畛域,后续 OLAP 剖析也会逐渐浸透于诊断性剖析和预测性剖析中。
二、Hologres 如何解决 OLAP 剖析的 外围问题
OLAP 剖析的外围问题
- 剖析性能差,数据价值可望而不可及。 以后大数据在接受度、技术、利用等各方面趋于成熟,大数据逐渐利用于各行各业,这些行业在大数据应用领域面临的第一个问题和挑战就是剖析性能差,进而妨碍了开掘大数据中的微小价值。如何让用户更快的进行 OLAP 数据分析是广泛面临的一个问题。
- 多种业务场景之间相互影响,隔离老本较高。 业务在线上常常会遇到不同业务场景之间的相互影响而带来的查问抖动的问题,比方写写之间、读写之间、大小查问间的相互影响,以及在线服务、多维分析、即席剖析等之间的相互影响。尤其是某些大数据引擎并不是存算拆散架构,个别会通过复制多正本去实现隔离,老本很高。
- 无服务级高可用、容灾和多活的计划。 业务个别通过双 / 多链路来实现高可用、容灾和多活,这其中波及的人力、计算资源等老本较高。
- 不反对弹性扩容。 越来越多的业务对弹性能力有着强烈的诉求。当业务流量忽然增长能及时扩容扛住流量,否则对业务就意味着资损;在业务低峰时能及时缩容,降低成本。那么如何低成本的实现弹性扩缩容是大数据引擎面临的一个广泛问题,尤其是某些引擎不是存算拆散架构,个别是须要通过数据的复制来实现多正本,基本上很难实现及时的弹性扩容能力。
OLAP 剖析的外围刚需:高性能、弹性、低成本
随着业务的一直倒退,OLAP 剖析也逐步进入大多数业务的外围在线场景。用户对其 OLAP 剖析有如下四大刚需:
- 业务永续:有高可用、容灾和多活的能力,晋升生产零碎的稳定性
- 极致性能:数据的价值应该被最大水平的开掘,须要有更加极致的性能来满足业务需要
- 弹性:弹性资源可能很好的反对业务的动态变化,满足业务的不同需要
- 低成本:用更少的老本反对更多的业务,实现更高的性价比
Hologres 如何解决 OLAP 剖析的外围问题
Hologres 是阿里云自研的一站式实时数仓引擎,反对数据的实时写入、实时更新,同时也反对 OLAP 剖析和在线服务查问,目前已广泛应用于阿里外部泛滥外围业务场景,包含菜鸟物流、淘宝搜寻举荐等,同时在云上也有着泛滥客户实际。那 Hologres 作为企业级的生产实时数仓,是如何解决 OLAP 剖析问题呢?
1、HSAP 架构使用。 在解决 OLAP 剖析时使用 Hybrid Serving/Analytical Processing(HSAP)设计理念,通过对立的实时存储,数据无需复制就能一站式提供简略查问、OLAP 剖析、在线数据服务等多样化的数据查问和应用服务,满足数据利用方的拜访和接入需要。这种架构大大地升高了业务的复杂度,疾速应答新的业务需要。同时也提供的秒级甚至亚秒级实时性让决策更及时高效,从而让数据发明出更大的商业价值。
2、弹性能力晋升。 Hologres 引入弹性计算组模式(Warehouse),每个 Warehouse 可按时按需创立销毁,重新配置,且可动静热扩缩容。计算和存储高度可扩大,具备双重弹性的能力。
3、云原生资源存储。 基于云原生资源存储的弹性扩大,按需应用,能够做到低成本、高可用,高牢靠,同时还具备弹性能力。
4、极致性能。 基于现有的 C ++ Native 执行引擎 + 优化器,领有全异步框架(Thread-per-core 架构)、向量化计算、多种 Index 的实现、精细化的 Cache、基于代价的优化器模型,反对各种 predicted pushdown、runtime filter 等;轻量级用户态线程调度,同时反对多种查问负载(高并发、简单统计)、偏心调度算法(CFS)、高并发充分利用计算资源等次要个性。
5、实现流批对立存储。 具备业内当先的行列共存个性,列存对查问剖析敌对,行存对点查疾速;具备高效数据分片、分段、压缩、索引;LSM-like 写敌对数据结构,高吞吐数据写入,反对更新,写入即可见。
三、Hologres 只读从实例(共享存储)解决隔离问题
如上文所述,简直每个用户都会遇到不同业务场景之间的相互影响而带来的查问抖动的问题。不同的引擎因为架构不一样,对于隔离的实现也不一样,那 Hologres 又是如何解决隔离的问题呢,上面咱们以具体场景为例:
具体场景:
场景一:多种业务场景之间相互影响。
简直每个用户都会遇到不同业务场景之间相互影响而带来抖动。比方:读写、读读 相互影响;剖析、服务、离线加工 相互影响
场景二:在线业务须要通过多链路能力实现计算多活。
具体挑战:
挑战一:如何更好的解决系统资源隔离的问题
挑战二:如何让用户更简略低成本的实现计算多活,降本提效
具体措施: 通过 Hologres 只读实例(共享存储)来解决
只读实例具备五大个性:基于物理 WAL 日志驱动、共享存储、物理文件的齐全复用、主实例 Failover 时从实例不受影响、只读实例 Failover 时可从最新地位开始复原。通过只读实例能够实现:
- 资源隔离:用户能够实现残缺的读写 / 读读拆散性能,保障不同业务场景的服务稳定性;
- 计算多活 :用户只需简略配置能够疾速实现同城计算多活,以更少的资源(8~10:1) 实现多链路,并节俭用户的人力、计算资源等老本。
四、Hologres 新一代弹性计算组实例解决弹性问题
越来越多的业务对弹性能力有着强烈的诉求,那么 Hologres 又是如何解决弹性的问题呢?
具体场景:
场景一:只读实例须要多个 Endpoint,用户感知差。业务须要配置新的 Endpoint 能力应用新的只读实例。
场景二:用户心愿业务高下峰弹性扩缩容。用户冀望按需弹性扩缩容,节省成本。
场景三:用户心愿有更灵便更精细化的资源隔离计划,能够按业务等场景实现资源隔离。比方:写写隔离,业务隔离。
具体措施:建设新一代 实时数仓Hologres 弹性计算组实例
为了更好的解决弹性问题,满足业务不同场景下对资源的正当应用,Hologres 率先反对弹性计算组实例。弹性计算组实例采纳 Multi-cluster, Shared Data 架构,将计算资源合成为不同的计算组(Warehouse),每个计算组可独立弹性扩大,计算组之间共享数据、元数据。
Hologres 弹性计算组实例介绍
弹性计算组实例次要分为以下几个组件:
1. 计算组:
计算组的弹性能力:
计算组在任意工夫进行按需地创立、销毁或者重新配置,可动静热扩缩容独自的计算组,实现单个计算组的弹性伸缩能力。同时 Hologres 具备人造的计算存储拆散架构,联合计算组实例能够同时做到计算、存储高度可扩大,具备双重弹性。
计算组的资源隔离能力:
写写隔离:实时写入拆散、离线写入拆散,以及 实时写入 和 离线写入等写入之间的隔离。
读写隔离:实时写入、离线写入 和 服务剖析、即席剖析、在线剖析之间等 读写之间的隔离。
读读隔离:服务剖析、即席剖析、在线剖析等读读之间的隔离。
业务场景隔离:用户能够将多个业务部门依照不同的计算组 隔离开,实现业务之间的齐全的资源隔离。
2. 云服务组件: 云服务组件是根底组件。它次要包含原数据管理、平安认证以及对立接入的治理能力。
3. 数据存储: Hologres 借助阿里巴巴自研的分布式文件系统 Pangu 对用户提供高性能、高牢靠、高可用、低成本、弹性存储空间、弱小稳固平安等外围服务。
弹性计算组外围价值介绍
1. 弹性:Warehouse 可按时或按需拉起(Scale Out);Warehouse 可动静热扩缩容(Scale Up);计算和存储高度可扩大,双重弹性。
2. 易用 :整体上对用户裸露一个实例一个 Endpoint,解决只读实例多个 Endpoint 的问题;Warehouse 相干操作(扩缩容等) 均能够通过 SQL 实现,能够简略配置就能实现反对多种业务场景。
3. 低成本:用户可按需弹性应用资源,老本可管制到最低;基于物理 Replication 实现,物理文件齐全复用,更节俭资源(8~10:1),老本更低。
4. 隔离:每个计算组之间是人造的物理资源隔离,防止计算组之间的相互影响,缩小业务抖动等。
五、Hologres 基于 OLAP 剖析最佳实际
Hologres 只读实例最佳实际
个别状况下只读实例数据异步同步提早 p99 在 5ms 内,能够高效的在双 11 等大促中为业务降本提效。上面介绍只读实例在阿里外部一些外围业务的使用与成果。
最佳实际一:双 11 在阿里 CCO 业务中的使用和成果
阿里 CCO 业务之前是应用双链路来建设容灾与读写拆散的能力,切换到 Hologres 的只读实例计划后全副下掉双链路,通过只读从实例实现业务的查问隔离、容灾等能力。相比之前的双链路计划,新的 Hologres 只读实例计划,省去了备用数据链路上实时工作开发保护、数据比对的人力投入,缩小链路切换时的数据不统一等问题,为业务在大促上降本提效。
最佳实际二:双 11 在阿里 DT 业务中的使用和成果
在双 11 大促中,阿里 DT(淘宝营销流动剖析)业务引入了 Hologres 的只读实例实现读写拆散能力,读写拆散能够最大水平的保障高吞吐写入和灵便查问互不烦扰。主备双链路计划能够让业务领有底气和信念去应答随时可能呈现的不可控危险,当故障呈现时,能够实现秒级切换,为整个产品和业务决策分析提供稳固反对。
Hologres 弹性计算组双 11 在阿里 CCO 业务的最佳实际
为了更好的解决弹性和隔离的问题,在去年双 11 中,阿里 CCO 业务将之前的只读实例降级为弹性高可用实例,实现了资源的弹性按需应用、写写隔离、业务读写隔离等需要,同时在应用上不须要保护多个实例 Endpoint,零碎变得更加灵便,也缩小了运维压力。在稳定性、性能等方面禁受双 11、618 等大促的考验,为业务在弹性、资源隔离、易用性等施展了重要作用,最终为业务降本提效。
六、总结与将来瞻望
随着大数据技术在业务生产场景的推动,弹性、隔离、性能、老本等需要也开始变得越来越重要,咱们冀望通过这次分享 Hologres 在弹性、隔离方面的技术演进和思维,给更多的引擎和业务提供新的倒退思路。同时 Hologres 也将继续优化核心技术竞争力,继续在资源隔离、弹性、高可用等方面进行技术欠缺和产品演进,助力更多业务构建企业级一站式实时数仓,真正地实现普惠化、自动化和智能化,为用户施展更大的价值,晋升在行业的竞争力。
- Hologres 5000CU 时,20GB 存储收费试用, 返回试用 >>
- 理解 Hologres: https://www.aliyun.com/product/bigdata/hologram