StarRocks叶谦:新一代MPP数据库助力企业打造“极速统一”数据分析新范式|甲子引力

 

数据分析能力是企业全面数字化经营的核心。

整理 | 苏霍伊

编辑 | 栗子

4月27日,中国科技产业智库「甲子光年」线上举办了2022年「甲子引力X」数字经济高峰论坛。本次论坛以“产业科创新坐标(603040)”为主题,试图在有限性、无限性和不确定性中寻找数字经济的“坐标系”。

在下午的“数字生产力”专场中,StarRocks联合创始人&COO叶谦带来了《全新数据分析能力赋能数字生产力全面升级》的主题演讲。他认为,数据分析是企业数字生产力的核心,新一代极速全场景MPP数据库StarRocks的价值便是释放数字生产力。

以下为叶谦的演讲实录:

大家好,我是StarRocks联合创始人&COO 叶谦,很高兴能参加甲子引力数字经济高峰论坛,和大家分享一些StarRocks对于数据分析和数字生产力的思考。

近年来有关数字的内容一直是企业关注的热门话题。随着企业数字化转型不断深入,数据驱动的概念越来越被各行各业所接受,想要真正实现数据驱动并将数字转换成生产力,核心就是数据分析的能力。

国际著名分析机构Gartner在2021年数据和分析趋势报告中指出,数据分析已经成为企业一项核心业务职能。企业的各个业务线开始打破原有的数据孤岛将数据整合起来分析,以发掘更大的业务价值。与此同时,美国著名投资机构A16Z的报告也显示,2021年国际著名投资机构对于数据相关的企业异常关注,纷纷投下重注。2021年各个海外著名投资机构在有前景的数据创业类公司中投下的资金量是2020年超3倍,各类分析报告均指向了同一事实:数据分析已经成为企业数字生产力的核心。

StarRocks 成立两年多来倾力打造世界顶级的新一代极速全场景 MPP 数据库,就是希望能够帮助企业建立“极速统一”的数据分析新范式,从而实现企业全面数字化经营。

StarRocks高度注重技术驱动,公司研发人员比例达到70%。StarRocks 采用Open Core的模式,于去年9月份开放源代码之后,在Github上的星数已超过2400个。当前已经有超过110家估值或市值在10亿美金以上的中大型用户,在生产环境中使用StarRocks,这些用户来自于各行各业。

1.极速统一的新一代数据架构

我们的产品特性可以用两个关键词总结:极速、统一。主要从4个核心价值来理解。

首先,StarRocks可以给公司业务带来全新的业务洞察速度。对于任意维度的OLAP分析和AdHoc查询,StarRocks都可以做到秒级反馈,让数据分析人员拥有极速的体验。StarRocks 单节点每秒可以处理多达100亿行数据,综合处理查询速度比其他产品要快10到100倍。

其次,StarRocks可以给业务带来全新的业务洞察实时性。数据实时导入StarRocks可实现即时可见。不仅如此,StarRocks还支持数据更新操作,数据在实时导入和更新的时候,查询的速度依然能够表示在秒级。对于业务数据更新需求大的用户来说是非常友好的特性;

第三,StarRocks支持数千人同时进行数据分析工作。对那些需要数据驱动一线运营的公司来说,在部分场景StarRocks可以到达1万以上并发量,并且还可以控制TP99在1秒以内。

第四,由于能够在多种场景下实现极速查询的目标,这使得StarRocks可以灵活使用各种数据建模的方式,数据工程师和数据分析师可以使用大宽表,也可以使用星型模型或者雪花模型。不再依赖于预计算或者大宽表去提速,业务交互的速度可以得到极大改善。不少用户在使用StarRocks之后,业务速度从周加快到小时,甚至是分钟级别,生产力得到极大提升。

基于StarRocks,用户可以打造一个全新的极速统一的数据架构。在这个数据架构里,整个OLAP分析层可以统一到StarRocks中,它不仅能实现OLAP多维分析、实时数据分析、高并发查询以及探索式分析等多场景下的极速分析效果,还可以极大减少不同数据分析组件的建设和维护成本。应用新一代数据架构之后,企业可以在更多场景使用星型模型、雪花模型来替代原有的预计算和大宽表模式,免除了数据链路建设复杂性,并且增强了数据分析的灵活性。

作为一个成熟的企业级数据库产品,StarRocks不仅产品安全稳定、服务可靠,生态也很完善。

首先,StarRocks是一个完整、独立的系统,整个系统无单点,任何节点宕机均不影响系统的可用性。StarRocks具有很好的弹性伸缩能力,可以实现在大数据规模下在线扩容,相对其他产品运维成本更低。更值得一提的是StarRocks的稳定性,经历过“双十一”这样极端业务流量的检验。

其次,StarRocks相关生态非常完善。产品支持标准SQL语法,兼容MySQL协议,支持各类主流的BI系统,包括Tableau 、永洪等,支持各类主流数据源的接入,包括各种TB数据库、HDFS、S3等。

StarRocks周边运维工具也比较完善,不仅有自研的运维工具,还可以很方便对接各类流行的开源工具。

最后,StarRocks提供了可靠的企业级服务保证。StarRocks核心技术完全自研可控,在出现问题时,可以为企业客户提供全天候不休的原厂技术支持。我们在全国六地都有技术支持中心,包括北京、上海、杭州、广州、成都、西安等城市。在企业有特殊需求的时间点,比如说“双十一”或者年度大促,可以安排原厂的工程师进行现场支持。

目前,已经有数百家客户在线上生产环境部署和使用了StarRocks。其中估值或市值在10亿美金以上的大客户超过110家,还有像Airbnb 这样市值超过千亿美金的美国企业。这些客户包含了互联网金融、物流、制造等各行各业的头部企业,每个客户从开始测试到生产环境上线StarRocks平均周期约为两个月,这对于软件来说是非常短的时间周期。

2.三大核心能力支持企业典型业务场景

大家可能会非常感兴趣,这些用户主要将StarRocks应用在哪些场景呢?

首先是面向用户的报表。这类报表一般是给终端用户看的数据产品,其特点是数据时效性很高、同时使用人很多,因此并发查询量会比较高。由于每个人只看自己的数据,不会看别人的数据,所以每次查询高广泛的数据量是十分有限的。这种类型的数据报表对于系统并发能力、数据实时导入要求很高,没有办法使用预计算系统来进行支持。

第二是面向经营的报表。这类报表的主要受众是管理层和业务方,其特点是对聚合计算能力要求比较高,需要查询速度非常快,因为老板都不喜欢等待。而且,这种类型的报表一般需求会比较多,对于需求完成的时间点要求严格,所以如果以基于预计算或者大宽表的方式来完成此类报表,过程对操作人员而言会十分“痛苦”。

第三是用户画像。用户画像是非常普遍的场景,基本任何初期的运营场景都会遇到。它涉及到很多人群相关的操作,包括标签的圈选、根据个人ID来查询标签等。在这个场景下的StarRocks Bitmap数据类型会大有用武之地。

第四是运营分析场景。主要来源于公司内部一线的运营或者分析人员的需求。它的特点是对于数据的时效性要求很高,以及这些分析往往涉及到多个相关的业务,有多张数据报表。不仅如此,这类场景往往还会涉及到数据权限控制的问题,需要根据员工组织架构来判断企业数据权限的范围。比如,我们一个从事零售业务的客户,在全国有上万家门店,每个门店的运营情况都由店长查看,但是店长责任范围是在不断变化和调整的。这类分析场景只能用星型模型操作,如果是使用大宽表的方式,每天重算的数据量将非常巨大且难以做到实时。

第五是订单分析。这类分析的主要特点是数据为流式导入,并且订单往往有分析的需求。例如,订单的状态会随着时间的推移发生变化,这要求底层数据分析系统能够支持实时数据的分析和更新,这两点都是StarRocks的强项。

第六是自助分析。这里包括自助报表和指标管理平台、数据探查等。此类场景普遍要求对接上层BI系统,这类分析所产生的SQL语句较为复杂,并且通常涉及多张数据表,这就要求数据分析系统能够处理复杂的SQL。不仅要支持复杂的SQL语法,还需快速返回,给分析人员良好的交互式体验。

StarRocks有哪些核心能力支持上述场景呢?

首先是对复杂查询的处理能力。我们为此实现了以下关键点:

全面向量化执行引擎。StarRocks通过实现全面向量化执行引擎,充分发挥了CPU的处理能力。经过标准测试集的验证,StarRocks的全面向量化引擎可以将算子执行性能提高3到10倍。

CBO(Cost-Based Optimizer)在多表关联的场域场景下,仅仅靠优秀的查询执行引擎没有办法获得极致的执行性能。而通过StarRocks全新自研的优化器,可以实现多种优化手段,帮助向量化引擎发挥更加极致的特性。

分布式Join。StarRocks可以实现多种类型的分布式Join操作,适合于包括大表和小表的Broadcast Join、大表和中表的Shuffle Join、大表和大表的Colocate Join。 

资源隔离。对于数据分析系统用户,常常会担心单条查询过大,将整个集群资源耗尽,从而导致其他查询没有办法执行。解决这个问题的关键就在于一个优秀的资源隔离机制。

第二项核心能力是实时数据分析能力。我们为此实现了以下关键点:

极速多表Join。StarRocks的多表Join性能在行业里处于领导地位。

实时数据导入。StarRocks可以支持从Kafka实时导入数据,并且导入数据支持事务,可以做到不丢不重。支持Flink - CDC,可以直接从OLTP数据库直接对接数据。

实时更新能力。StarRocks具有独特的更新模型。更新模型可以很好支持数据的实时更新,并且能够保证数据在实时更新时查询的低延时。这个能力目前在同类型产品中非常独特。

现代化物化视图。StarRocks可以支持多种聚合算子,在数据实时导入物化视图过程中自动构建、自动计算,并且物化视图在使用时对于用户来说是透明的。

第三项核心能力是数据湖整合分析能力。

这项分析能力可以让用户像查询StarRocks自有数据般,极速查询数据湖里的数据,不再需要数据传输和迁移的过程。这项工作由StarRocks社区和阿里云一起协作开发完成。目前,我们已经支持查询Hive、Hudi和Icebreg这样的数据湖,并且还支持像MySQL、Elastic Search等外表联邦查询。

如上图所示,在使用相同外表的方式进行查询时,StarRocks外表查询性能已经要远远高于Trino的性能;如果将数据进一步导入StarRocks,查询会变得更加快,在某些特定的查询和场景上可达Trino的几十倍。

基于独特的产品能力,StarRocks为客户极大提升了数字生产力,帮助客户将查询的等待时间缩短到1秒之内,并将客户、数据业务需求的开发周期缩短约90%,还可以帮助客户降低数据分析系统建设成本,提高数据系统分析性的稳定性。

3.众安保险、携程:全新实时分析能力开启数字化经营新局面

接下来,我将以两个案例来讲解StarRocks是如何帮助企业提高数字生产力的。

第一个场景来源于众安保险。众安保险的集智平台是一款可视化智慧经营分析平台产品,它集成了人工智能、商业智能、可视化数据仓库等技术,用智能的方式来整合不同场景数据,规范企业的数据池,完成复杂的数据治理和智能决策等环节。

集智平台涵盖了可视化分析、交互式分析、多维透视分析、实时数据分析等多种不同种类的分析。在原有解决方案里,众安集智平台遇到了几个问题:一,使用了ClickHouse作为查询引擎,ClickHouse在支持平台的过程中,平台在高并发场景下平均响应时间会变长;二,多表关联查询性能欠佳,因此集智平台只能使用大宽表来做分析;三,对外部系统有依赖、运维成本高和缺少自动Resharding机制,导致其在做横向扩容时很困难;此外,有原有系统对更新和删除支持能力弱等问题。

在使用StarRocks解决方案之后,以上问题都得到了很好的解决。首先StarRocks能够支持高并发查询,在一些特定场景查询并发数可以高达1万以上,多表关联的查询性能优异,可以帮助开发人员灵活使用各类数据分析模型。

另外StarRocks不依赖外部系统,易于运维,可以降低运维成本。在使用StarRocks之后,集智平台的报表看板打开速度从10秒下降到3秒,极大优化了用户的体验。由于StarRocks能够很好支持数据更新和删除操作,所以极大降低了业务需求的开发成本,极大地提升产出效率。

第二个案例来自于携程大数据智能平台。此平台主要用于携程住宿内部进行数据管理和数据分析,平台访问量大概每天UV在2200左右,峰值的总PV约10万左右,高峰期流量会有比较大激增。这和携程的业务量有关,只要节假日,平台整个流量会有较大的增幅。目前,数据量大概有700亿行,实际存储有1.75T,每天有150亿的更新。

在原有系统中,携程选用ClickHouse支撑90%业务线数据分析。但由于ClickHouse在稳定性和高并发方面的问题,导致了携程需同步使用Redis作为缓存。这引发了其他问题,比如双流双写的方案无法保证数据一致性,同时也增加硬件和开发的维护成本等。

在使用StarRocks之后,原先的Redis+ClickHouse的方案被完全替代。新方案让整个平台查询响应平均在200毫秒左右,耗时超过500毫秒查询不超过查询总量的1%。更为重要的是,由于简化了整体的数据架构,使得整个系统维护的人力和硬件成本大大降低,开发的复杂度也大大下降。

以上就是今天我想和大家分享所有内容,如果您对StarRocks感兴趣,非常欢迎您关注我们。让我们一起将数据分析能力打造成为企业数字生产力的核心,谢谢大家!

END.

本文首发于微信公众号:甲子光年。文章内容属作者个人观点,不代表和讯网立场。投资者据此操作,风险请自担。

(责任编辑:马金露 HF120)

文章内容来自网络,如有侵权,联系删除、联系电话:023-85238885

参与评论

请回复有价值的信息,无意义的评论将很快被删除,账号将被禁止发言。

评论区