导读
作者:唐晨 云器科技产品经理
当前企业实时同步与分析场景中面临的挑战:
随着业务发展需要,实时分析成为企业目前的强需求,成为支撑企业业务发展的必须项。
一般来说,要满足数据实时分析的诉求,通常有两种方案:
第一种是直接使用源端的业务数据库,对接 BI 分析工具进行查询。这种方式比较简单直接,但存在两项弊端:其一,在数据量特别大的时候且业务复杂度高的情况下,涉及到比较复杂的关系查询,比如多表 join ,查询性能会遇到瓶颈,一条 SQL 可能需要很长的时间才返回,满足不了实时分析的交互诉求;其二,从稳定性和安全性两个维度考虑,在企业中业务数据库通常归属业务方,一般不愿意被直接用于数据分析使用,限制了数据分析团队去查询使用。
第二种是把数据库里的数据先同步到数仓中,利用数仓高性能的查询能力来对接 BI 功能进行分析。这个方案能很好解决上一个方案面临的两个问题,其自身最大挑战在于数据新鲜度。把数据从数据库同步到数仓,传统方式通常采用 T+1 或 H+1 的离线方式,时效性是一天或一小时的延迟,这样的数据新鲜度越来越不能满足业务对数据进行实时分析的时效性要求。后来演进出实时数仓架构,支持把数据实时写入到数仓,时效性和新鲜度会有极大提高,但实时数仓中常驻的实时同步任务,会使得成本会有极大增加;且数据写入数仓后,为了满足 BI 报表查询响应的要求,往往还需要再增加额外的 OLAP 引擎来做查询加速,会使得成本又进一步增加。
总结来说,实时同步与分析主要面临数据导入和分析,在数据数据新鲜度和整体成本上的两个挑战。
云器Lakehouse简介
云器作为新一代数据平台的提供商,为企业提供了一体化 Data+AI 的整体解决方案。云器Lakehouse平台提供以下两大方面的核心产品能力:
-
Single-Engine引擎:可以统一批处理、流处理和交互分析全场景的作业负载诉求。
-
一站式数据平台:丰富的配套产品功能,预置数据相关常用服务,如数据同步、开发构建、运维监控、资产管理、数据质量等。
图1:云器Singe-Engine引擎方案
在云器Lakehouse的实时同步和实时分析解决方案中,支持源端多种数据源接入,如MySQL、PgSQL、SQL Server 等。基于实时同步写入到数仓里的同一份数据,可同时支撑 BI 报表进行实时查询。基于一个引擎(Single-Engine),一份数据从源端同步写入,再支撑目标消费,不再需要传统方案中额外新增的 OLAP 加速引擎,可以简化整体架构,进而极大地节约成本。
图2:云器Lakehouse支持主流数据库接入
实时任务演示
下面用一个具体例子演示云器Lakehouse是怎样去应对源端的复杂挑战,将数据实时同步,并支持实时分析查询。
演示背景
本次演示中,源端准备了四张各有 100 万行数据的表,计划将这 400 万行数据同步到目标里。源端数据在 MySQL 的 RDS 数据库内,采取分库分表的结构,数据存在不同的分表,通过云器的实时同步方案,把数据同步进云器Lakehouse,直接使用 BI 报表进行查询分析。
图3:演示数据流程
本演示以常见的 SaaS 服务模式为例,多租模式下,其底层业务数据库中,某些租户的信息会存在同一张分表内,分表下包含租户定制的扩展字段,即源端是基本相同的四张分表,但部分表的字段存在细微差异,如下图所示,yellow_taxi_02 表包含扩展字段 2 。
图4:演示表结构示意
实时同步任务配置
多表异构同步配置
首先在云器Lakehouse任务开发里新建多表实时同步任务,选择 MySQL 数据源。云器提供两类数据同步模式:
-
第一类多表镜像,把源端的数据表原原本本地镜像同步到数据仓库里。 -
第二类是多表合并,也是本次演示所中用到的场景。在源端数据量特别大、有分库分表场景的情况下,同步过程中,需要提前把需要 ETL 处理的 transform 过程完成,多张表合并写入到同一张表中,这样在后续查询中不需要再进行多表join,为查询提速。
图5:在云器Lakehouse中创建实时任务
图6:配置目标表
图7:检查具体字段
图8:同一字段在不同分表间的记录对比
图9:云器Lakehouse扩展字段功能
下一步在目标配置里选择数据源、目标数据源及计算集群。
图10:目标表配置
接下来可以在映射关系中预览同步的字段配置,可以看到扩展字段包含在内,新增组件/联合主键也在这里有所体现。
图11:预览目标表字段
云器Lakehouse实时同步中,也提供了丰富同步规则策略,用来动态适配源端数据库的变更(Schema Evelution),比如源端表删除、新增字段等情况下的应对策略。
图12:配置同步规则
图13:启动任务
图14:源端数据的 BI 报表
图15:任务状态监控
💡特别的,在云器Lakehouse的实时同步任务中,仅需要在第一次启动时对源端做一次全量同步,在此基础上根据源端的数据变更,再进行增量同步。而且全量同步环节完成后,无需手动更改,任务会自动转入增量同步环节。
图16:数据详情
图17:通过 SQL 调整源端表
图18:监控运维界面
图19:检查变更后数据
实时查询
图21:作业历史界面
-
通用型集群,面向批处理进行了针对性的优化。 -
分析型集群,对于在线的实时分查询非常友好。
图22:集群创建
图23:指标监控界面
图24:监控告警规则
图25:监控告警界面
图26:补数同步功能
图27:自动切换同步状态
图28:日常运维功能
图29:调度配置界面
(了解更多请点击销售易基于Lakehouse的实时分析提升用户数据体验实践分享)
总结
END
▼点击关注云器科技公众号,优先试用云器Lakehouse!
关于云器
往期推荐

