什么是 SelectDB Cloud
SelectDB Cloud 是基于 Apache Doris 构建的多云原生实时数据仓库,提供从数据接入、存储与建模,到 SQL 查询、搜索和云资源管理的托管服务。它面向需要持续更新数据、交互式分析和并发查询的业务,将分析型数据库引擎与云上的共享存储、弹性计算和可视化管理能力结合起来。
在企业数据架构中,SelectDB Cloud 可以承接业务数据库、消息队列、文件和数据湖中的数据,为运营看板、BI 报表、用户画像、日志分析及业务应用提供查询服务。数据工程师负责接入和建模,分析师通过 SQL 和 BI 工具探索数据,应用开发者通过数据库协议访问分析结果,管理员则在控制台管理资源、权限和费用。
SelectDB Cloud 采用存储与计算分离架构:数据持久化在共享对象存储中,计算集群负责处理导入和查询任务。同一仓库内的多个集群可以访问同一份数据,并按工作负载分别配置资源。你可以在不为每个集群复制完整数据的前提下,为实时看板、交互式分析和批量处理分配不同的计算能力。
首次使用时,可以从快速开始完成创建仓库、写入示例数据和运行分析查询的完整流程。
从数据接入到分析服务
SelectDB Cloud 将数据处理链路中的接入、建模和查询连接起来。以订单分析为例,业务数据库中的订单变更可以通过数据同步工具写入仓库,用户行为事件可以通过消息队列持续接入,历史文件可以按批次导入。进入仓库后,这些数据通过 SQL 完成关联、汇总和查询,并由报表或业务应用消费。
| 阶段 | 在 SelectDB Cloud 中完成的工作 | 需要关注的设计 |
|---|---|---|
| 接入数据 | 从文件、对象存储、消息队列和业务数据库接入批量或增量数据。 | 数据新鲜度、源端变更语义、失败重试与写入吞吐。 |
| 存储与建模 | 创建数据库和表,选择明细、主键或聚合模型,配置分区、分桶及索引。 | 保留原始事件、维护最新状态,还是预先汇总指标。 |
| 查询与加工 | 使用 SQL 进行过滤、关联、聚合、窗口计算,以及结果写入。 | 查询模式、扫描数据量、并发和响应时间。 |
| 提供数据服务 | 通过 SQL 编辑器、MySQL 协议客户端、JDBC 和 BI 工具访问数据。 | 数据权限、连接网络和执行查询的计算集群。 |
| 运行与优化 | 观察导入和查询状态,调整资源,分析慢查询并管理费用。 | CPU、内存、缓存命中率、查询 Profile 和资源用量。 |
也可以通过外部 Catalog 直接访问已有数据湖和数据库中的数据。是否先导入仓库,取决于数据更新方式、查询频率和服务目标:直接查询适合探索和跨源分析;对于需要稳定响应时间的高频查询,可以将所需数据导入内部表,进一步设计索引、分布和物化视图。
核心概念
理解组织、仓库、集群和存储之间的关系,有助于划分资源边界,并确定查询实际使用的数据与计算资源。
组织
组织是成员管理和费用结算的边界,可以对应一个企业、事业部或需要独立核算成本的团队。一个用户可以加入多个组织,在不同组织中拥有不同角色;一个组织可以创建多个仓库。不同组织的计费、资源和数据相互隔离。
组织管理员管理成员、组织角色和仓库资源访问范围。例如,可以让财务人员查看账单,而让数据平台团队管理仓库。组织角色与数据库用户权限承担不同职责,具体参见用户与组织。
仓库
仓库是数据库、表、计算集群和数据存储的管理边界。不同仓库的资源和数据相互隔离,适合用于区分业务系统、生产与测试环境,或具有不同安全要求的数据域。
仓库与 SQL 中的数据库不是同一个层级。一个仓库可以包含多个数据库,每个数据库下再组织表和视图。同一仓库中的业务如果需要共享数据,但希望使用不同的计算资源,通常可以采用多集群;如果需要独立的数据和资源管理边界,则可以使用不同仓库。
集群
计算集群是执行导入和查询任务的资源单元,由一个或多个计算节点组成。同一仓库可以包含多个集群,每个集群拥有自己的计算和缓存资源,并共享仓库中的持久化数据。
例如,一个集群承载持续写入和固定报表,另一个集群供分析师执行临时查询。临时分析可以单独扩容,而无需同步扩大其他集群。多集群分离了计算资源,减少不同工作负载对 CPU、内存和本地缓存的竞争;它们仍共享仓库数据,写入和更新会影响后续查询看到的数据。
存储
对象存储用于持久化仓库数据,本地缓存用于加速计算节点的数据读取。两者职责不同:对象存储保存持久化数据,缓存则根据访问和淘汰策略保留部分数据,以减少远程读取。
因此,缓存容量不等于仓库可存储的数据容量,增加集群也不意味着新增一份完整的数据副本。规划资源时,需要分别考虑数据保留规模、热点数据集大小和查询所需的计算能力。
产品架构
SelectDB Cloud 由云服务层、计算集群层和共享存储层协同提供服务。该架构将元数据与资源管理、任务执行和数据持久化分开,使存储容量和计算需求能够分别规划。

云服务层
云服务层提供身份验证、访问控制、云资源管理和元数据管理等服务,并承担查询解析、优化和协调相关工作。它将数据库对象与底层计算、存储资源组织为可管理的仓库。
你可以通过控制台管理仓库、集群、网络连接和权限,通过 SQL 编辑器或兼容客户端访问数据。管理员关注资源生命周期和访问边界,数据使用者则主要面对数据库、表、视图和 SQL,无需自行完成整套数据库基础设施的部署。
计算集群层
计算集群层承担数据导入与查询执行。大规模并行处理 (Massively Parallel Processing, MPP) 架构将查询任务分配到多个计算节点,向量化执行引擎以批量方式处理数据,查询优化器根据 SQL、统计信息和可用访问路径生成执行计划。
存算分离后,对象存储的读取延迟成为查询设计中的重要因素。计算节点通过本地磁盘缓存复用热点数据,列式读取、分区裁剪和索引则减少需要读取的数据量。对热点数据重复查询与首次访问冷数据的耗时可能不同,因此性能评估应同时关注缓存状态和实际查询模式。
计算资源可以按需扩缩容,符合条件的集群还可以暂停和恢复。数据独立持久化,使这些操作不必搬迁完整的数据集;但扩缩容、缓存变化和恢复过程仍可能影响查询响应时间,应结合业务负载规划。
共享存储层
共享存储层使用云对象存储保存数据文件,同一仓库中的多个计算集群通过统一的数据和元数据访问这些文件。这减少了为不同分析任务维护多份完整数据副本的需要,也使数据容量增长与计算资源增长不必绑定。
例如,历史数据保留周期延长时,可以增加持久化数据量,而不必仅为容纳这些数据同步扩大计算集群;当月末报表需要更多计算时,则可以调整计算资源。成本管理也需要同时观察计算、缓存和持久化存储:暂停计算集群不代表全部资源停止计费,具体规则参见资源用量与费用。
核心特色
持续接入数据,并保留正确的业务语义
实时分析既取决于查询速度,也取决于数据多久能够进入可查询状态。SelectDB Cloud 提供多种接入方式,可以按数据来源和更新模式选择:通过 Stream Load 写入文件或应用数据,通过 Routine Load 持续消费 Kafka 数据,或通过 Flink 等工具同步业务数据库中的变更。批量文件、对象存储和 SQL 查询结果也可以作为导入来源。
接入方式需要与表模型配合。例如,点击和访问日志通常需要保留每次事件,适合明细模型;订单状态或用户资料需要按业务主键更新,适合主键模型;固定维度的汇总指标可以采用聚合模型。主键表中的更新语义、源端事件顺序与重试机制需要共同设计,才能让分析结果符合业务含义。
| 表模型 | 数据组织方式 | 典型用途 |
|---|---|---|
| 明细模型 (Duplicate Key) | 保留写入的明细记录,Key 用于排序,不提供唯一性约束。 | 访问日志、行为事件、需要灵活查询的原始明细。 |
| 主键模型 (Unique Key) | 按主键维护记录,支持更新已有数据。 | 订单最新状态、客户资料、业务数据库变更同步。 |
| 聚合模型 (Aggregate Key) | 按 Key 和指定聚合函数汇总写入数据。 | 固定维度的指标汇总与预聚合。 |
使用 SQL 完成探索、加工与分析服务
SelectDB Cloud 支持过滤、聚合、多表关联、公共表表达式 (Common Table Expression, CTE) 和窗口函数等 SQL 分析方式。分析师可以从明细下钻到业务维度,也可以把分析结果用于固定报表或应用接口。内置 SQL 编辑器提供数据浏览、查询结果、查询历史和 Profile 分析入口,便于在同一工作环境中完成开发和诊断。
对于频繁重复的聚合与关联,可以通过物化视图预先计算并保存结果,在满足条件时由优化器进行透明改写。物化视图需要结合刷新策略和数据新鲜度要求设计:减少查询计算量的同时,也增加了刷新、存储和维护成本。
SelectDB Cloud 兼容 MySQL 网络协议,可以通过 MySQL 客户端、JDBC/ODBC 及兼容的 BI 工具接入。协议兼容使现有工具易于连接,SQL 功能与行为仍应以 SelectDB Cloud 文档为准。参见 SQL 编辑器、物化视图和连接方式。
在同一份数据上结合结构化分析与搜索
业务数据通常同时包含固定字段和不断变化的内容。例如,一条日志既有时间、服务名和状态码,也有消息文本与嵌套属性。SelectDB Cloud 支持 JSON、VARIANT 等半结构化数据处理方式,可以将这些信息与常规关系型字段一起分析。
通过倒排索引和全文检索能力,可以先按关键词、短语及结构化条件筛选记录,再对命中结果进行分组聚合。例如,先查找某项服务中的特定错误,再按时间和应用版本统计分布,从“找到日志”继续追踪到“分析影响范围”。
对于语义检索场景,还可以使用向量距离计算及所选内核支持的向量索引,将相似度检索与 SQL 过滤、聚合结合。分词、索引类型和检索算子需要按数据特征选择,具体支持范围参见文本搜索和向量搜索。
连接已有数据湖与外部数据库
外部 Catalog 将外部系统映射为 Catalog、数据库和表,使 SQL 能够访问 Hive、Iceberg、Hudi 等数据湖以及支持的外部数据库。使用者可以查询已有湖表,也可以将外部数据与仓库内的数据关联,减少为一次探索或跨源分析先建设完整同步链路的工作。
直接查询外部数据的性能和新鲜度受到源端能力、文件布局、元数据缓存及网络连接影响。对于访问频繁、响应时间要求严格的结果,可以将数据加工后写入内部表,或根据场景配置物化视图。直接查询与导入分析可以在同一方案中配合使用,详见湖仓一体和数据目录。
按工作负载分配计算与缓存资源
不同任务对资源的需求并不相同:批量处理关注吞吐,交互式查询关注延迟,面向应用的查询还需要考虑并发和响应时间的稳定性。SelectDB Cloud 可以在仓库内创建多个集群,分别承载这些任务,并按各自负载配置计算和缓存资源。
对于周期性高峰,可以配置分时扩缩容;对于变化较大的负载,可以评估自动扩缩容;对于间歇性使用的集群,可以在符合计费和版本条件时启用自动暂停。资源规划应结合 CPU、内存、缓存命中率和查询 Profile,判断瓶颈来自计算、数据扫描、并发还是外部访问,再决定扩容或优化 SQL 与表设计。
集群能力和操作限制参见计算集群管理。
分层管理资源访问与数据权限
SelectDB Cloud 的访问控制同时涉及云资源和数据库对象。组织成员及角色控制仓库查看、资源管理和费用管理等操作;数据库用户与角色控制数据访问。两类权限需要按工作职责共同配置,不能仅凭能够登录控制台判断是否能够查询某张表。
网络连接则决定客户端如何到达仓库。公网连接需要配置客户端出口 IP 白名单,私网连接需要完成相应的网络接入;BYOC 还需要结合自有云环境的路由、安全组和访问控制进行规划。数据保护还包括传输与存储加密、备份恢复以及审计。
日常运维可以通过监控看板观察资源状态,通过告警中心发现异常,通过查询审计和 Profile 诊断查询问题。权限、网络和审计应在接入生产数据前一并规划,参见安全特性和网络设置。
应用场景
高并发实时报表与分析
电商运营、广告投放和业务监控往往需要持续查看最新指标,并同时支持多张看板和多个用户访问。可以通过增量接入保持数据更新,将订单、活动和商品等数据关联,再为高频查询配置索引、聚合模型或物化视图。
当固定报表与临时探索共享同一份业务数据时,可以让它们使用不同的计算集群,减少临时大查询对线上看板的资源影响。评估时应同时观察数据进入仓库的延迟、典型查询耗时和目标并发下的响应时间。
用户画像与行为分析
用户画像需要将客户属性、订单和行为事件结合起来,支持人群筛选、转化分析、留存分析和行为路径探索。可以使用主键模型维护最新用户属性,使用明细模型保存行为事件,再通过 SQL 关联和分析函数完成计算。
对于去重计数和人群集合运算,可以结合 Bitmap 等数据类型设计计算方式。选择模型时应区分最新状态、历史快照和事件明细,避免在更新属性时丢失行为分析所需的历史信息。
日志存储与分析
应用日志和设备事件同时具有持续写入、字段变化和检索条件多样的特点。可以将常用过滤字段与消息内容一起存储,通过半结构化类型承载扩展属性,通过全文检索定位记录,再使用 SQL 分析错误数量、时间分布和业务维度。
这一方式把检索与统计连接在同一查询链路中,便于从单条异常扩展到整体影响分析。设计时需要结合保留周期、热点数据范围、分区策略和索引成本,而不是为所有字段采用相同索引。参见可观测性分析。
湖仓一体及联邦分析
企业已经在数据湖中积累大量历史数据时,可以通过 Catalog 查询湖表,并与实时进入仓库的数据关联。例如,将实时订单与湖中的历史交易和客户维度结合,完成跨周期分析。
对于探索性任务,可以先直接访问外部数据;对于反复使用的核心指标,可以在仓库中保存加工结果,提供更可控的查询路径。方案设计应明确哪些数据由源系统管理、哪些结果在仓库内维护,以及各自的更新和刷新周期。
部署方式与管理责任
SelectDB Cloud 提供 SaaS 与私有仓库 (BYOC) 两种部署方式。两者都通过 SelectDB Cloud 控制台管理,但数据与计算资源所在的云账号、网络规划和基础设施管理责任不同。
| 维度 | 专有仓库 (SaaS) | 私有仓库 (BYOC) |
|---|---|---|
| 资源位置 | 数据与计算资源运行在 SelectDB 管理的云账号中。 | 数据与计算资源部署在你的云账号和 VPC 环境中。 |
| 创建准备 | 选择云厂商、地域和资源配置,由服务创建底层基础设施。 | 除仓库配置外,还需准备云资源授权、VPC 和相应网络环境。 |
| 适用需求 | 希望快速开始,并减少底层基础设施管理工作。 | 需要使用自有云资源,或遵循企业内部的云账号与网络管理要求。 |
| 日常管理 | 通过控制台管理仓库、集群、数据访问和用量。 | 通过控制台管理仓库,同时维护自有云环境所需的授权与网络条件。 |
选择部署方式时,应综合考虑数据位置、网络连接、云资源管理和费用结算要求。BYOC 中,SelectDB 提供托管运维,企业仍需参与自有云环境的准备与管理。具体云厂商、地域和资源规格以中国站控制台为准,参见创建 SaaS 仓库和创建 BYOC 仓库。
与 Apache Doris 的关系
SelectDB Cloud 由飞轮科技 (SelectDB) 基于 Apache Doris 构建。SelectDB 持续参与 Apache Doris 社区建设,并在分析型数据库内核之上提供云服务所需的资源管理、弹性计算、可视化控制台和托管运维能力。
熟悉 Apache Doris 的用户可以沿用 SQL 分析、表模型、索引和数据接入方面的经验。使用 SelectDB Cloud 时,还需要将这些数据库能力与组织、仓库、多集群、共享存储和云网络结合起来。例如,查询优化既涉及 SQL 和表结构,也涉及请求被分配到哪个计算集群,以及该集群的资源与缓存状态。
Apache Doris 的开源能力与 SelectDB Cloud 的产品版本并非仅按名称一一对应。规划迁移或使用特定功能时,应确认所选 SelectDB Cloud 内核版本、部署方式和功能限制,并通过业务数据验证 SQL、导入语义和性能表现。
下一步
根据当前目标选择后续文档:
| 你的目标 | 建议阅读 |
|---|---|
| 首次体验从建仓到查询的完整流程 | 快速开始 |
| 熟悉资源与数据管理入口 | 控制台概览 |
| 接入文件、消息队列或业务数据库 | 数据导入 |
| 根据更新和查询方式选择表模型 | 表模型 |
| 使用已有湖表和外部数据库 | 湖仓一体 |
| 规划业务验证与性能评估 | 开始 POC 前的准备 |
评估时,建议使用代表性数据和查询,明确数据新鲜度、并发、响应时间及成本目标,再据此选择表设计、接入方式和资源配置。