从行业角度看,数仓领域的未来是什么?
数据仓库发展历程很久,随着云计算等技术发展以及海量数据应用场景等出现,对数据仓库提出全新要求,高性能、实时性、云原生等成为数据仓库发展关键词,也因此演变出不同的数仓发展路径。
在字节跳动十年发展历程中,各类业务数据量膨胀,不断挑战数据能力边界,也让字节跳动在数据链路优化处理、提升分析效率、数据仓库选型、数据引擎架构搭建等层面积累丰富经验。
IDC 2021 年报告数据显示,2021 年全球大数据软件市场规模达预计可达 5414.2 亿人民币。“十三五”时期,我国大数据产业快速起步,产业发展取得显著成效,《“十四五”大数据产业发展规划》更是提到:到 2025 年,我国大数据产业规模预计将突破 3 万亿元。
越来越多企业正在探索自身数字化转型,政务、金融等各行业也在不断进行数字化产业升级,对数据仓库的易用性、性能等提出了更高的要求。
本篇从业务需求和技术趋势两个层面,分别介绍新时代下数据仓库发展趋势。
业务需求:实时性、低成本、快速上云
在企业级数据仓库场景中,需要融合来自多个业务系统数据库的业务数据,比如交易记录,包括银行存取记录、用户订单记录等,大多数为千万至亿条规模;比如用户行为日志,往往是数据量最大的数据源,包括用户访问日志、用户操作记录等,数据量通常是业务数据的数百倍。
随着大数据应用的深入发展,最核心的业务需求如下:
1)提高分析的实时性
最近 10 年,以 hadoop 技术体系为代表的大数据平台大规模部署,大大小小的企业和政府部门都搭建了大数据平台和分析应用,以隔天和小时级数据延迟的应用得到了普及;以 Flink 为代表的实时计算引擎解决了数据统计场景的时效性问题。
随着业务的发展和技术的进步,业务部门不再满足于 T+1 的分析需求和固化的实时统计,更期望业务发生后秒级/分钟级延迟即可看到统计结果;同时,功能上期望实现交互性探查分析数据,毫秒/秒级返回结果保持良好的用户体验。
在新的企业级数据架构中,有些已经构建了大数据平台的企业,会使用云原生数据仓库构建实时数仓来满足有高时效性要求的业务,以此作为 Hadoop 平台的补充;有些数据量低于 1PB,且没有构建 Hadoop 等大数据平台的企业,则直接以云原生数据仓库构建轻量级数据仓库。
2)成本可控
大数据应用逐步从互联网企业和政府部门,并深入到工业企业。各行业都先后进行了业务数据的大集中、用户行为数据和 IOT 数据的广泛采集存储,企业和政府单位的数据量更是以每年呈现 30%以上的增长速度。
在过去集中式架构的数据仓库方案中,建设成本与数据总量正相关,导致成本居高不下;采用基于分布式架构的大数据方案中,由于存储计算耦合,为了满足存储空间膨胀,需要采购越来越多的服务器。实时的数据采集和存储更是导致数据量持续高速增长。
在新的云原生数据仓库方案中,既要解决数据和应用增长带来的扩展性问题,同时要解决成本问题,将数据存储和计算成本处于可控范围。
3)支持业务上云
根据智库报告的研究,目前业务上云已经形成趋势,除游戏视频电商等泛互联网企业之外,在政务、金融、制造业等领域,正在以私有云和混合云的方式持续上云,从而实现数据上云。
政务云和金融云是两大主要的行业云,平台建设水平较高,同时制造业、医疗卫生、交通等领域的行业云也在加速变革和加快建设行业云平台大规模建设和升级,实现数字化管理和运营。
制造业设备上云和云化改造能够实现制造业企业的数据互通和业务互联,支撑形成以数据驱动的智能化制造、实现供应链和上下游业务的网络化协同,以及实现对业务和设备的数字化管理等制造业发展新模式,引领制造业数字化转型。
业务上云从而数据上云,也在推动数据处理平台的云原生升级。
技术趋势:数据仓库进入云原生时代
近年来,以 Snowflake 为代表的云原生数据仓库得到了客户的认同,市场上取得了巨大的成功。其核心功能和技术点是云原生的架构设计,利用 IAAS 的高可用和资源池化特性,通过存储计算分离、多租户隔离、容器化技术,提供数据仓库的扩展性、稳定性、可维护性和易用性,整体上提高资源利用率。
国际上,除了 Snowflake 之外,谷歌的 BigQuery、AWS 的 RedShift、Azure 的 Synapse 都实现了云原生的架构升级,实现了存储计算分离和多租户管理。Databricks、Fireblot 等新生的厂商及产品如雨后春笋一样涌现出来。
在国内,阿里云、华为云、腾讯云都推出了自己的云原生数据仓库产品;PingCap 的 TiDB、鼎石科技的 StarRocks 等独立产品也选择了云原生道路。
OLAP 产品有如下几个技术趋势:
1)云原生的整体架构
基于公共云、私有云或混合云的架构设计,应用容器化和微服务等云原生技术,以此实现敏捷开发、敏捷运维,天然解决扩展性问题。
2)存储服务化
对数据存储层进行统一抽象,灵活采用 HDFS 块存储或 S3 等对象存储作为数据存储载体,最终实现存储服务化,便于解决存储扩展性、读写吞吐瓶颈问题、数据一致性问题,同时能大幅降低存储成本。此外,实现存储服务化后,对于产品的跨云兼容和多云部署带来方便。
3)计算资源池化
由于 OLAP 应用负载的波动特点,特别在支持多租户的场景下,通过计算资源池化,根据实时负载进行计算资源统一调度管理,实现资源隔离的同时,又能支持资源共享和实时弹性扩缩。从而提高集群整体利用率。
4)支持混合负载
在企业级应用中,OLAP 场景可以细分为交互查询和批量计算,前者要求毫秒/秒级响应并支持高并发查询,后者可以接受分钟/小时级延迟,但要求计算性能的稳定性和较好的 failover 机制。自适应支持多场景的混合负载是 OLAP 产品的核心能力。
5)其他
OLAP 平台中的计算资源、内存、网络带宽是最宝贵的资源,系统资源利用率通常围绕这三个资源进行优化。很多产品开始在计算 Serverless 化、分布式缓存等方向进行探索。
字节跳动内部有非常多分析引擎,包括 ClickHouse、 Druid、 Elastic Search、 Kylin 等,为什么答案是 ClickHouse,下篇将为您揭晓!
基于开源 ClickHouse 的分析型数据库,支持用户交互式分析 PB 级别数据,通过多种自研表引擎,灵活支持各类数据分析和应用。
欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群
版权声明: 本文为 InfoQ 作者【字节跳动数据平台】的原创文章。
原文链接:【http://xie.infoq.cn/article/a646195f6017ca28c2e11249c】。文章转载请联系作者。
评论