You need to enable JavaScript to run this app.
导航
产品架构
最近更新时间:2025.01.14 19:02:39首次发布时间:2021.10.22 15:20:55

ByteHouse 云数仓版基于新一代云原生架构,结合 Shared-nothing 的计算层以及 Shared-everything 的存储层,有效避免了传统 MPP 架构中的 re-sharding 问题。通过使用 HDFS 以及对象存储作为存储层,ByteHouse 支持云平台上的部署,从而实现云原生架构。

产品架构

Image

核心组件

管控面

组件

组件介绍

相关文档

环境管理

环境管理支持用户在 SaaS 服务下构建多个独立的运行环境(比如:测试环境、生产环境),不同环境下的资源独立隔离;同时为环境设置权限管控,只有授予权限的用户可以访问该环境,提升业务安全性。

环境管理

数据管理&开发

  • 数据库管理:可视化数据库、表、物化视图等对象的管理,对表结构、分区等进行创建、修改和删除操作,使运维更加便捷。
  • SQL 查询&开发:提供强大的 SQL 编辑器,支持编写、执行和调试 SQL 语句,方便进行查询、调试和验证;自动 SQL 格式化和语法提示与高亮,提高开发效率。
  • SQL 诊断:通过分析 SQL 运行状态和查询模式,发现潜在的性能问题并给出优化建议,以提高 SQL 的整体运行效率。

资源管理

  • 计算组(Virtual Warehouse) 管理负责计算资源的创建、退订、启动、停止和扩展,保障 SQL 查询、数据写入等操作安全稳定运行。支持按需启动和暂停 VW,这种特性帮助用户在不需要计算时节省成本。通过 VW 可以为不同的租户或不同的工作负载分配独立的计算资源,实现计算资源的隔离,避免相互干扰,从而保证各个业务的稳定性和性能。
  • 专属 Server 管理负责服务组件(Server)的创建、退订和扩展,保障高并发业务场景下,用户可以构建独享的服务组件(Server),来应对业务洪峰的流量需求。
  • 本地缓存管理负责为计算组(Virtual Warehouse)增加本地缓存,保障热点业务数据的查询分析性能。

监控告警

  • 系统监控:管控面监控系统各个组件的运行状态,包括 CPU、内存、存储、API Token 的使用情况,确保系统在正常状态下运行。同时还监控各类查询的执行时间、QPS 等指标,用于性能优化和问题排查。
  • 自定义告警:用户可以对关键指标增加告警,当指标超过设定的阈值,自动触发告警来提示用户。

监控告警

数据导入

ByteHouse 云数仓提供了多种内置的数据导入能力,以支持从不同来源快速、便捷地加载数据到数据仓库中,方便用户快速上手来体验 ByteHouse 核心功能:

  • 批量导入:支持本地文件、TOS/S3 等数据文件的导入,文件格式包括 CSV、JSON、Parquet 等常用格式,用户通过命令行或 Web 控制台上传文件并加载到目标表。
  • 实时导入:通过 Kafka 引擎实现流数据实时导入,适用于对实时性要求较高的场景,例如实时业务数据采集、日志数据导入等。

数据导入简介

连接&网络

  • ByteHouse 云数仓版提供多种开发者工具支持,以确保流畅的集成体验。用户可以利用有各种编程语言的 ByteHouse 控制台、ByteHouse CLI 和 SDK 来访问和管理 ByteHouse 服务。
  • 支持环境级 VPC/EIP 配置,允许每个租户为不同环境的资源绑定独立的网络域名,增强安全性和网络隔离能力。

设置网络信息

备份恢复

  • 全量备份:ByteHouse 云数仓通过持续的数据快照机制来支持全量备份与恢复,所有的数据变更都会自动记录在存储中,因此可以在任意时间点恢复整个数据库或特定表的数据。
  • Time Travel:通过“时间旅行”功能,用户可以在指定的时间窗口内(最长 90 天)访问和恢复任意时间点的数据,支持从数据损坏或误操作中快速恢复整个表或数据库。(2025.H1)

暂无

生态对接

  • SQL 生态: 兼容 MySQL 语法、ClickHouse 语法、ANSI SQL 语法;方便用户无缝迁移 ClickHouse、MySQL 内核 OLAP 数据库等至 ByteHouse,应用层无需修改。
  • BI 生态:支持 QuickBI、FineBI、Tableau、ABI、PowerBI、Metabase、SugarBI 等 BI 工具生态。IDE 生态:支持 DBeaver、DataGrip、Navicat、SQL Workbench 等数据库管理工具生态。
  • 数据开发&调度生态:支持 Dataleap、DBT、Airflow、DophinScheduler、AirByte 等工具生态。

安全&审计

  • 访问控制:使用用户名/密码管理,访问密钥(AK/SK)支持;结合 IAM 策略,支持 RBAC(基于角色的访问控制)模型,管理您的数据&资源。
  • 数据加密:端到端数据加密,转换期间支持 TLS。
  • 审计日志:全面支持对用户活动(登录、登出)、SQL 操作(查询、写入)、权限变更(数据库、表、资源权限)以及计算组操作(创建、使用)进行审计,确保所有用户操作的全链路可追溯性。

审计日志

服务接入层

组件

组件介绍

服务组件(Server)

服务组件(Server)是 ByteHouse 云数仓的核心执行单元,负责接受用户的查询请求、进行 SQL解析和优化、并将查询任务分发给执行节点。S

  • QL 解析与执行:接收 SQL 查询请求,完成语法和语义解析,生成执行计划。
  • 查询调度:通过结合查询优化器和执行引擎,确定最优的执行路径,以实现高效查询。

TSO(Time Stamp Oracle)

TSO 是一个分布式的时间戳分配器,在事务管理中用于保证全局有序性,确保分布式事务的一致性。

  • 全局事务管理:为多节点的分布式事务提供唯一的时间戳,帮助实现 MVCC(多版本并发控制)。
  • 事务隔离:保证读写操作之间的一致性和隔离级别,特别是在数据写入和并发查询时,确保数据的正确性。

守护进程管理(Daemon Manager)

Daemon Manager 是一个管理后台进程的组件,负责管理和监控系统中的后台任务,包括维护、清理、状态监控等。

  • 任务调度:负责调度后台的系统任务,如数据整理、备份、索引重建等。
  • 系统健康监控:监控系统各个服务的运行状态,提供告警和自动恢复机制。

资源管理器(Resource Manager)

Resource Manager 负责管理和分配系统中的计算和存储资源,以确保系统在多租户环境下能够高效运行。

  • 资源调度:动态管理计算资源(如 CPU、内存)和存储资源,根据工作负载的需求进行弹性分配。
  • 多租户支持:提供多租户隔离,确保不同用户或工作负载之间不会互相影响,优化系统的整体性能。

元数据管理

元数据服务用于存储和管理表结构、分区信息、数据位置等元数据,支持查询的高效执行和优化。

  • 元数据管理:包括数据库、表、列、索引、分区等信息的存储和维护。
  • 元数据缓存:提供高效的元数据缓存服务,以加速查询的执行。

计算层

组件

组件介绍

相关文档

计算组(Virtual Warehouse,VW)

Virtual Warehouse 是计算资源的逻辑抽象,提供计算资源的独立隔离和弹性扩展能力,用于执行用户的SQL查询和写入任务。Virtual Warehouse 之间互不干扰,适用于多租户和多业务工作负载的场景。

  • 计算隔离:为不同的用户或工作负载提供独立的计算资源,以避免资源争用。
  • 弹性伸缩:可以根据负载情况动态增加或减少计算节点,优化成本和性能。

计算组

智能缓存

在ByteHouse数据分析场景中,查询引擎需要扫描 CFS 或 对象存储 上的数据文件。查询实际读取的文件数量越多,I/O 开销也就越大;如果频繁访问相同数据,还会带来重复的 I/O 开销。Data Cache将远端存储的数据缓存到计算节点上,避免重复的远端数据拉取开销,实现热点数据查询分析性能的优化提升。
当前Data Cache属于智能缓存1.0,主要是Local Cache;ByteHouse将在2025.H1发布智能缓存2.0,即为提升查询和并发所构建的分布式缓存。

智能缓存

存储层

存储层(Cloud Storage)是 ByteHouse 存算分离架构中负责持久化数据的存储层,通常基于对象存储技术。支持与云服务商(如 AWS S3、阿里云 OSS 等)的对象存储无缝集成,实现高扩展性。

  • 数据持久化:将数据块持久化存储在云对象存储中,确保数据的高可靠性和持久性。
  • 数据分片与压缩:数据以列式格式存储,并进行分片和压缩,以降低存储成本和提升读取效率。

数据湖

ByteHouse云数仓构建了湖仓一体化能力,作为计算引擎直接分析数据湖中的数据,用户可以通过 ByteHouse 提供的 External Catalog,直接查询存储在 Apache Hive、Apache Iceberg、Apache Hudi、Apache Paimon 等数据湖上的数据,无需进行数据迁移。
ByteHouse湖仓一体化支持的存储系统包括 CFS/HDFS、S3、OSS、TOS,支持的文件格式包括 Parquet、ORC、CSV。
在数据湖分析场景中,ByteHouse云数仓负责数据的计算分析,而数据湖主要负责数据的存储。ByteHouse云数仓作为数据湖的计算引擎,可以充分发挥向量化引擎和查询优化器的优势,提升数据湖的分析性能。