跳到主要内容

选择合适的部署模式

快速选择

根据你的业务场景,快速确定部署方案:

场景推荐方案
需要弹性扩缩容,云上部署存算分离 + 云平台部署
固定规模,On-Premise存算一体 + 手动部署
大规模集群,需要自动化管理存算分离 + Kubernetes 部署

存算一体 vs 存算分离

对比项存算一体存算分离
架构数据和计算紧密结合,BE 节点同时负责存储和查询计算层(BE)和存储层(Shared Storage)分离
适用场景业务规模固定、要求极致查询性能、环境无共享存储需要弹性扩缩容、云上部署、大数据分析
优点架构简单、延迟低、无需外部共享存储计算资源可独立扩缩容、存储成本低、更灵活的资源隔离
缺点计算资源无法独立扩展组件更多,且需要稳定的共享存储服务

部署方式

手动部署

通过脚本和配置文件手动部署,适合中小规模集群和初始验证。

  • 适合场景:快速验证、最小化部署、熟悉集群架构
  • 不适合:大规模集群、需要频繁变更的环境

详细步骤请参考:手动部署存算一体集群手动部署存算分离集群

Kubernetes 部署

使用 Doris Operator 在 Kubernetes 上管理集群,适合大规模生产和自动化场景。

  • 适合场景:大规模集群、需要声明式管理、混合云部署
  • 要求:Kubernetes 集群、Doris Operator

详细步骤请参考:Kubernetes 部署

云平台部署

在阿里云、AWS 等云平台上部署,利用云原生基础设施。

  • 适合场景:云上业务、需要快速创建、环境隔离
  • 支持:阿里云 ECI、AWS EKS 等

详细步骤请参考:云平台部署


决策建议

  1. 第一次尝试 Doris:从存算一体 + 手动部署开始,架构简单,容易上手
  2. 生产环境,中小规模:存算一体 + 手动部署或 Kubernetes 部署
  3. 云上部署,需要弹性:存算分离 + 云平台部署或 Kubernetes 部署
  4. 大规模生产集群:存算分离 + Kubernetes 部署,便于自动化运维

常见问题

Q: 存算分离架构会显著影响查询性能吗?

通常情况下,存算分离架构由于计算层和存储层分离会增加网络开销,但在大多数场景下影响有限。这是因为:

  • Shared Storage 通常部署在高速网络环境中(如 25Gbps RDMA)
  • 数据缓存机制可以有效减少远程读取的频率
  • 一些极端低延迟场景,存算一体可能更合适

Q: 已有集群如何从存算一体迁移到存算分离?

迁移过程大致如下:

  1. 在新环境部署存算分离集群
  2. 通过 Broker Load 或 Stream Load 将数据迁移
  3. 验证数据一致性和查询性能
  4. 下线旧集群

Q: Kubernetes 部署是否需要专业的运维团队?

这取决于集群规模:

  • 小规模集群(10 节点以内):K8s 部署的额外复杂度可能不值得
  • 中大规模集群(10+ 节点):K8s 的自动化能力可以显著降低运维成本

Q: 云平台部署和 Kubernetes 部署如何选择?

对比项云平台部署Kubernetes 部署
适用场景快速部署、弹性资源混合云、多云环境
管理复杂度中等
灵活性受限于云平台能力高,可自定义
成本可能产生额外的云服务费用更可控