导读:9 月 25 日,2023 飞轮科技产品发布会在线上正式召开,本次产品发布会以 “新内核、新图景” 为主题,飞轮科技 CEO 马如悦全面解析了现代化数据仓库的演进趋势,宣布立足于多云之上的 SelectDB Cloud 云服务全面开放,增加了全新的私有仓库(BYOC)产品模式,同时发布了更加自主可控的 SelectDB Enterprise 企业版。飞轮科技联合创始人兼 COO 连林江介绍了基于 SelectDB 的多个场景解决方案以及生态合作模式,来自同盾科技、趣丸科技以及观测云的多位客户代表为大家分享了基于 SelectDB 的架构升级在真实业务场景中带来的收益,未来飞轮科技将坚持以“客户价值”为出发点引领技术革新、以“开放共赢”为核心理念携手更多合作伙伴,为行业注入新的活力。以下内容根据飞轮科技 CEO 马如悦演讲内容整理:
免费试用 SelectDB Cloud:https://cn.selectdb.cloud/
距离上一次产品发布会已经有近一年的时间,在这一年的时间里,我们对于技术趋势、对于客户服务、对于市场需求都有了更加深度的思考,因而我们的核心产品 SelectDB 也有了更加长足的进步,因此很高兴可以给大家分享这一年我们所取得的成果——这就是我们今天发布会的主题 “新内核、新图景” ,新内核指的是 SelectDB 产品内核将全面采用最新发布的 Apache Doris 2.0 版本,新图景指的是新的产品定位与产品形态,接下来将为大家一一阐述。
数据仓库的现代化趋势
纵观数据仓库的发展历程,数据仓库的演进经历了三个阶段,第一阶段即在 2010 年之前,以 Teradata、Greenplum、IBM Netezza 为代表的传统数据仓库占据主流。 2010 年前后,随着谷歌三驾马车的问世,基于 Hadoop 的大数据平台成为大数据分析的基座,成为第二阶段的事实标准。如今已经进入第三阶段,现代化的数据仓库产品开始涌现,这些产品兼顾了传统数据仓库的可靠性和性能优势,以及对大数据的高效处理和实时分析能力。
总体而言,数据仓库的三大现代化趋势为实时分析、湖仓融合以及云原生化。
实时分析:大规模实时数据上的极速查询
随着时间的推移,数据的利用价值逐步下降
过去,大多数企业使用的传统数据仓库/大数据平台主要是对历史数据进行批量分析,如果能对数据进行实时分析并将分析结果实时运用到业务之中,毫无疑问将会进一步利用好数据的实时价值并驱动业务进步。因此到如今时代,数据分析逐渐从原来的批量处理演变到现在的实时处理。
以业务分析需求的变化为例,越来越多的企业开始采用实时报表和实时仪表盘展示数据,取代了传统跑批任务生成的报表。而从批量生成的静态报表到交互式分析也是另一个典型趋势,过去我们只需要跑一份静态报表,而现如今现在很多公司内部都有大量的数据分析师,需要与系统进行快速互动实时产出分析结果。此外,数据结果不再仅限于人使用,逐渐转向为机器和算法使用的实时决策系统。这些变化清晰地展现了一个新的趋势:数据从批量处理逐渐转向实时分析已成为必然。
与此同时,过去数据分析系统主要是给内部的运营决策或数据统计来使用,而随着业务的发展、数字化转型的深化,越来越多的数据分析开始面向业务的外部客户,主要场景包括广告营销报表、物流实时看板、保险客户分析和交易明细查询等。这些都是数据分析需求由内到外的转换,这种转变也要求我们的分析系统能够适应更多样化的业务场景。
在应对大规模数据的实时分析时,核心挑战来自两个方面:
- 随着数据实时写入数据库,我们面临的挑战之一是如何以更低的延迟提供数据。我们需要降低数据传输和处理的延迟,以提高数据的新鲜度,并及时处理最新数据的变化。
- 对于上层数据应用而言,如何提供更快的查询、降低查询耗时。我们需要持续优化查询性能,提高查询的快速响应度,以满足上层数据应用的性能需求。
SelectDB 实现了大规模实时数据的极速查询
那么 SelectDB 是如何解决实时分析的难点呢?一方面是 SelectDB 实现了 大规模数据的实时导入与实时存储:
- 秒级的数据实时更新(主键表)与追加:SelectDB 实现了实时数据的秒级可见,在主键表和非主键表上实现了高效的实时更新和追加,相比之下,许多传统数据仓库甚至包括现在广泛使用的 Snowflake 和 Redshift 往往只能支持批量更新、甚至没有主键表的支持,很难实现高频率的实时更新。
- 数据库 CDC / Kafka 流式数据同步:实时数据仓库的上游数据源往往来自 TP 数据库或 Kafka 消息队列 ,为此 SelectDB 内置了数据库的CDC(变更数据捕获)功能以及 Kafka 的流式数据同步功能,能够实现秒级的数据同步。
- 毫秒级轻量化表模式修改:不止数据可以实时写入和更新,对于表的模式(Schema)也需要进行快速变更,以适应当今快速变化的业务环境。而 SelectDB 能够毫秒级提供 Schema 修改的功能,同时 Schema 修改期间完全不影响在线业务的运行
- 丰富的半结构化数据类型支持:随着不同类型的数据不断增加,半结构化数据类型也日益常见。SelectDB 通过引入 Array、Map、JSON 等数据结构,能够高效支持半结构化数据类型的存储和处理需求。
在查询方面,SelectDB 实现了多种查询负载上的极速分析性能 :
- 高并发点查询:SelectDB 实现了单节点 30000 QPS 的超高并发, 真正具备了在一套架构下同时满足高吞吐的 OLAP 分析和高并发的 Data Serving 在线服务的能力,大大简化了混合工作负载下的技术架构,为用户提供了多场景下的统一分析体验。
- 大宽表查询 :众所周知,ClickHouse 在处理大宽表查询方面表现出色,而在 ClickHouse 所发起的数据库性能排行榜 Clickbench 中,2022 年 10 月 SelectDB 首登榜单即斩获榜单第一名的成绩,这进一步证明了 SelectDB 在处理大宽表查询方面具备出色的性能。
- 多表 Join 查询:多表 Join 是 Apache Doris 一以贯之的优势,同样也是 SelectDB 的核心优势。在 SSB 和 TPC-H 等多表 Join 的测试中,SelectDB 性能最多可以达到 ClickHouse 的 100 倍、Greenplum 的 5-10 倍;
- 增量库内 ELT :过去 Spark 被广泛用于批处理的 ETL,而 Flink 则专注于实时 ETL。SelectDB 提供了内置的增量 ETL 功能,相对于 Spark 具备更高的实时性,并且更易于使用。
湖仓融合:开放性和高性能可以兼得
在大数据领域,存在众多的系统和组件,它们往往在架构中扮演着不同的角色。而随着时代的进步,架构“减负”已成为企业发展的重要目标。数据仓库在性能方面表现出色,而数据湖则以其开放性和能够存储各种数据的优势而受到青睐。然而无论湖或仓在场景上都具备一定的局限性,因此如今我们正处于数据湖和数据仓库融合的阶段,要想充分利用数据仓库的高性能和数据湖的开放性,整合这两者变得至关重要。
对于现代化的数据仓库,湖仓统一融合的最重要特性有两个方面:
- Federated Query Engine: 作为一个联邦查询引擎,数据仓库可以访问各种数据湖上的表格式,包括存储在 HDFS、S3 上的 CSV、Parquet、JSON 等文件,以及查询 Iceberg、Hudi、Delta Lake 等数据湖中的数据。
- Open Data Lake: 数据仓库还可以作为一个开放的数据湖,供 Spark、Flink、Trino 等查询引擎进行查询。这种能力在数据湖与数据仓库融合的背景下,成为数据仓库需要展现的一个重要特点。
在当前的数据湖与数据仓库的融合趋势中,大多数通常只关注了前一方面,而数据仓库的格式开放性很少被提及。在当今这个数据类型多样且数据负载庞大的时代,数据仓库可能也将面临数据科学或其他形式的大规模分布式计算,如果不开放数据格式,那么 Spark、Python 之类的工具将无法使用。
而以上两方面 SelectDB 都进行了大量的技术创新,以实现更加彻底的湖仓融合能力。
作为一个高效的联邦查询引擎,SelectDB 可以通过创建数据目录的方式与外部数据源进行映射,例如可以将 Hive、Elasticsearch、Iceberg 等数据源映射为外部表,SelectDB 将自动更新源数据,并自动进行外部数据的高速缓存。
以 Hive Catalog 为例,在创建 Catalog 完成后将自动进行数据映射,一旦完成即可轻松地切换 Catalog 并直接进行数据查询。同时数据目录的更新操作是按需的,可以指定要查询的库和表进行更新,也可以利用插入语句(INSERT INTO)将查询结果插入到内部表中,这些操作仅需一条命令即可完成,具有更高的易用性。在性能方面,我们也将 SelectDB 与 Presto/Trino 进行了对比,在相同集群配置下查询 Hive 上的 ORC 文件,SelectDB 相较 Presto/Trino 具有约 3-5 倍的性能优势。
如何让 SelectDB 作为开放的数据湖格式并被其他计算引擎访问?这是湖仓融合开放性的重要呈现。
在此 SelectDB 提供了基于 Arrow Flight 的 HTTP Data API 高吞吐数据读写接口。众所周知,SelectDB 内核 Apache Doris 是兼容 MySQL 协议的,这意味着可以通过 JDBC 进行快速访问。但 MySQL 协议最初是面向报表场景设计的,返回结果数据量一般较少、不擅长处理大规模的数据读写操作。
而如果希望将 SelectDB 作为开放的数据湖格式,因此必须具备高度可拓展的读取接口。为此,我们采用了 HTTP Data API,可以使客户端以并发方式与多个 BE 进行读取,并提供更高的数据读取能力。无论是使用 Flink Connector、Spark Connector,还是通过 Python SDK( 数据科学、机器学习 )都可以快速访问。因此,基于 SelectDB 可以与整个 AI 和数据科学生态进行良好的整合,这也是未来的重要发展方向。
云原生化:存算分离架构下的弹性计算
云原生的核心价值
让我们来谈谈第三个趋势,云原生。
当谈到云原生时,很多人认为概念比较宽泛。总体而言,云原生能带来的核心价值如上有四个方面,首先是存算分离。在云上提供了高质量、低成本的对象存储系统以及 HDFS 等共享存储系统,将大量的历史数据或冷数据迁移到低成本的存储介质会为企业带来巨大的成本节约。其次,存算分离的特性使得计算变得更加弹性,在业务波峰波谷效应明显的场景中,也可以通过计算资源的弹性调度更好地应对变化。同时,由于进行了存算分离,计算可以实现更好的负载隔离,完全可以根据业务需求进行隔离或者进行读写分离。另外,由于可以共享同一份存储,数据共享变得更加简单。这意味着数据不再需要繁重的迁移工作,同一份数据可以被多个计算业务共享使用。
让我们来看看 SelectDB 如何提供云原生能力,简而言之,就是如何更好地基于云做好存算分离架构下的弹性计算。
共享存储与本地缓存
在过去的几年里,有关存算分离和存算一体的争论一直存在。存算一体简单且性能高,因为数据完全在本地进行读取。计算和存储的解耦尽管带来了弹性,但可能会导致性能下降,其核心原因在于,在数据库的查询过程中,谓词需要被下推到存储系统上执行、以过滤掉大量不必要的数据并减少传输到计算引擎的数据。一旦存储和计算分离,对象存储系统本身没有计算逻辑,谓词无法下推到存储层面,因此计算节点将面对大量的数据传输,网络传输成本成为新的瓶颈。
因此即使 MapReduce 和 Spark 之类的批处理系统都会通过数据近地化调度,尽量将计算推到存储所在的节点上,以减少数据的传输代价并提高性能,更何况对于查询性能高度敏感的实时分析系统。那么,存算分离架构下存储系统无法进行谓词下推该如何解决呢?
为了解决以上问题,SelectDB 引入了本地高速缓存(即本地 SSD)用于缓存经常被使用的热数据。当然这里还涉及到许多设计细节,包括如何进行缓存、哪些数据应该被缓存、哪些数据可以自动或手动进行干预,以及在节点伸缩时如何进行缓存的预热和平衡迁移等。
多计算集群
在存算分离架构下,SelectDB 提供了多计算集群的能力。多计算集群可以共享一份元数据和数据并且保持强一致性,因此可以保证多个计算集群之间的负载隔离。这一能力适用于多个应用场景,例如一个集群群用于数据导入、一个集群用于在线查询、一个集群用于离线处理,不同业务部门可以使用不同的计算机群。通过这一能力,计算负载之间可以实现完全隔离。
计算节点弹性扩缩容
云原生架构强调弹性,能够根据负载需求快速地进行扩容或缩容。SelectDB 可以支持手动扩缩容,也可以根据特定时间进行自动扩缩容。此外,它还支持集群的自动启停,当没有负载时会自动停止,有查询负载时会自动启动,这些都会带来了弹性计算的能力,可以节省计算成本。
总结完以上趋势,我们也看到 SelectDB 已经具备了现代化数据仓库的三大能力,因此我们也将 SelectDB 定义为“面向实时分析的现代化数据仓库”。
SelectDB Cloud 全面开放使用,基于 Apache Doris 2.0 版本打造全新内核
在过去的一年里,我们邀请了大量客户参与内部测试与共建,长时间的精心打磨也使得我们的产品具备了更高的成熟度和稳定性。
今天很高兴地宣传,云原生实时**数据仓库**服务 SelectDB Cloud 正式 GA(General Availability),全面开放使用! SelectDB Cloud 的全新内核基于 Apache Doris 2.0 版本打造,在实时数据更新、盲测查询性能与自适应能力以及半结构化数据分析场景上都得到了全面的革新。后续任何客户不再需要申请白名单进行测试,您可以自行注册账户并使用我们的免费试用套餐,来体验我们的云服务。
在中国市场,我们已经上线了阿里云、华为云和腾讯云,并计划在今年四季度上线亚马逊云科技。而在国际市场,我们已经上线了 AWS 并计划在今年四季度上线谷歌云(GCP)。因此,您完全可以根据您的业务需求选择登陆我们的国际站点或者中国站点,无论哪个站点都可以使用我们的免费套餐,尝试我们最新的功能。
存算分离架构,带来极致性价比
刚才我们介绍了 SelectDB 在存算分离方面的能力,包括共享存储、本地高速缓存、多计算集群以及计算节点的弹性扩缩容等,大家也可以通过以上图来了解 SelectDB Cloud 的整体架构:对于企业而言,可以建立多个仓库、每个仓库可以有多个计算集群,这些集群之间共享对象存储,每个集群由多个计算节点组成,计算节点还可以实现弹性扩缩容。这样的架构也为企业带来了极致性价比:
- 存储冷热分离:对于面向海量数据分析的 AP 系统而言,不可避免会持续积累历史数据,而这些历史数据会占据大量存储成本。相对于价格高昂的云盘,对象存储的价格低廉且可靠性高,将冷数据卸载至对象存储可以将存储成本降低至原来的五分之一。
- 弹性计算:我们注意到许多客户计算集群的真实利用率(CPU 利用率)大约只有 20%,这是因为需要满足每天的峰值负载,而大多数时间内 CPU 利用率相对较低。通过弹性扩缩容功能,可以根据负载的需求不断地扩展或缩减节点,使 CPU 利用率保持在 70%-80% 甚至更高,计算效率得到极大幅度提升、计算成本仅需之前的 25%。
降低运维复杂度,提升开发效率
除了在降低资源消耗方面进行了大量的设计,SelectDB Cloud 在降低运维复杂度和提升人员开发效率方面,也提供可视化管理控制台和可视化开发 WebUI 两大工具。
在 SelectDB Cloud 管理控制台,我们提供了灵活丰富的配置能力:
- 多云统一管理:在国际站和中国站我们提供了七朵云,在可视化控制台上可以进行多云的统一管理;
- 云市场打通:与多家云厂商的云市场无缝打通,包括阿里云云市场、华为云云商店、AWS Marketplace 等,可以复用云账号资金、利用云市场扣费渠道进行付费;
- 集群管理:Serverless 化配置,无需配置节点套餐与数量,只需配置所需的 CPU 核数并进行简单配置,即可创建一个集群,最大化减少节点套餐和集群规模的配置成本;
- 安全连接:无需过分担心安全性问题,因为 SelectDB Cloud 提供了多种安全性选项,既支持在公网上添加 IP 白名单,也支持私网连接,最大化保障您的数据安全性。
- 监控与报警:无需额外配置监控和报警系统,如果已有监控和报警系统也可以与 SelectDB Cloud 对接。既方便了运维管理人员,同时也为数据库开发人员和业务开发人员提供了便利,更加轻松地创建数据库、查看库表以及管理数据库的权限。
同时我们还提供了面向开发人员的可视化 Web UI ,内置了包括数据查询、数据集成、数据管理和权限管理等在内的多项功能,无需额外安装 Navicat 等工具。
更高的数据安全性,更便捷的云上服务体验
在过去的一年中,我们发现有很多客户对数据安全和合规性有更高的要求。SaaS 形态下用户只负责数据仓库的使用,数据存储、运维监控、告警处置以及底层资源伸缩等完全由云厂商负责,对数据合规有高度要求的客户而言存在一定阻力。为了更好地满足这部分客户的需求,我们研发了全新 SelectDB Cloud 私有仓库(BYOC,Bring Your Own Cloud)部署形态。
如上图所示,SelectDB Cloud 最初设计时是作为纯 SaaS 的产品形态,这意味着所有的管理控制和数据存储都在 SelectDB Cloud 网络中,我们为每个客户划分了一个专有的隔离区域,因此也称其为专有仓库,客户端可以通过公网或私有网络的私有链接来连接到 SelectDB Cloud。
而私有仓库 BYOC 这一解决方案我们仍将控制面放在 SelectDB Cloud 中,可以享受全托管的服务模式、无需自行维护,并且集群将构建在客户的 VPC 中,这样可以保证数据完全存放在客户自有环境中,完全满足安全合规的要求。与此同时,可以充分利用客户在云服务商的账户折扣,成本上更加可控,此外还可以便捷地与客户 VPC 中的上下游系统进行打通。
当前 BYOC 还处于预览阶段,正式版将于今年 10 月正式发布,后续进展欢迎大家随时关注。
SelectDB Enterprise 企业版,更加自主可控的私有部署模式
除了构建于多云之上的 SelectDB Cloud 云服务以外,今天我们发布的另一产品为 SelectDB Enterprise 企业版。
与 Apache Doris 100% 兼容的企业版内核
作为一款私有部署和自管理的系统软件,SelectDB Enterprise 内核基于 Apache Doris 构建,并且与 Apache Doris 100% 兼容。
基于开源软件进行商业化的企业级产品与开源版本有不同的目标,开源的优势在于通过开放协作和快速迭代来促进技术创新,任何个体或企业都可以为其贡献新功能和特性。而企业版产品更多追求的是稳定性,出现问题只需要修复 Bug 即可,而不需要通过频繁升级引入新功能。
因此 SelectDB Enterprise 企业版内核更加注重稳定性,只有在社区功能达到稳定状态后才会将其合入企业版内核,同时引入了严格的质量测试,保证更高的稳定性和更快的漏洞修复速度,并且我们为每个版本提供长达 1-3 年的长周期支持。
SelectDB Enterprise 企业版内核还内置了可视化开发 WebUI,用以提升数据开发人员的效率。
可视化集群管控工具 SelectDB Enterprise Manager
此外,针对 SelectDB 企业版我们还提供了可视化集群管控工具。该管控工具不仅可以管理开源的 Apache Doris 内核,还可以管理 SelectDB Enterprise 企业版内核,支持创建、配置、变更、升级、扩缩容等功能,并且可以同时管理多个集群,此外还提供监控、报警、巡检和审计等功能。
目前,SelectDB Enterprise Manager 当前已支持在物理机和虚拟机环境的部署,Kubernetes 和公有云的部署支持正在开发中。换而言之,客户可以使用可视化集群管控工具在任何地方部署 SelectDB Enterprise。如果客户有私有云环境,我们可以协助支持与私有云环境对接。
专家级技术支持服务
除了企业版的内核和管控工具,我们还提供专家技术服务,旨在消除用户在生产环境中使用 Apache Doris 的后顾之忧。作为基于 Apache Doris 的商业化公司,飞轮科技聚集了大量的社区贡献者、Committer 以及 PMC 成员,提供了更加专业的技术支持服务:
- 消除风险:提供例行巡检,及时消除系统可能的隐患;
- 解决问题:严格的服务 SLA,确保 7*24 小时专属支持,对紧急 Bug 提供天级别的专属修复版本更新;
- 优化系统:通过对产品培训、业内最佳实践分享,与客户一起优化系统性能和成本。
自主可控、安全可靠
SelectDB Enterpris 是一个自主可控、安全可靠的解决方案,目前已经通过了多项安全性认证,包括等保三级以及 6 项 ISO 安全管理体系认证。
同时 SelectDB Enterprise 企业版与众多国产系统生态进行了兼容,获得了十多项系统兼容认证,包括 飞腾、华为鲲鹏、海光等芯片以及欧拉、麒麟、统信等国产操作系统。对于对自主可控、安全可靠性有要求的企业,可以放心地使用 SelectDB Enterprise 企业版。
灵活的产品使用和部署形态,飞轮科技期待携手更多客户
感谢您聆听到现在,让我们一同对今天飞轮科技所发布的多种产品形态进行总结,便于您更清晰地根据需求选择您适合的产品。
如果您希望将运维管理工作完全交给系统完成,那推荐选择全托管的 SelectDB Cloud SaaS 模式,控制面和数据面都在 SelectDB 账户中,便于您最大程度节省数据仓库的管理工作量。在 SelectDB Cloud 中我们将呈现更彻底地 Serverless 化,无需关注机器配置,实现了更高的弹性和灵活性。
如果您希望将集群管理工作交给系统自动完成、对数据合规性要求更高、并且拥有自己的云资源账号,推荐使用 SelectDB Cloud BYOC 模式。在这种形态下,控制面仍然位于 SelectDB 账户、而数据面则位于您自己的 VPC 中。您只需要进行授权,我们就可以利用您的账号在 VPC 下进行计算和资源的管控,兼顾安全合规性和云上服务体验。
如果您希望在物理机、虚拟机、Kubernates 容器平台以及私有云、公有云等任意环境部署集群,或者对安全合规性有着更高要求,可以选择 SelectDB Enterprise 企业版解决方案。
无论是哪一种方案,期待 SelectDB 都可以为您提供更高效率、更低成本且更省心的选择。
点击即可申请试用 SelectDB,体验其卓越的性能和灵活的应用场景。我们将为你提供大规模数据极速分析、湖仓融合、云原生化的使用体验,并将有专业的技术团队与您联系,为您提供详细的试用指南和支持。