流批一体
LakeInsight 采用湖仓一体的实时数仓架构,天然支持流批一体数据处理。从实时 CDC 数据同步、增量流式计算到批量离线建模,全链路覆盖,做到"流批一体、湖仓一体、AI 与 BI 一体"三位一体,满足数据可追踪、可管理、可查看以及集群可弹性伸缩的能力。
实时数据同步
(1) 多源 CDC 同步
- 支持单库单表、单数据库多表同步,基于数据库 CDC 事件增量捕获数据变更
- 自动解析数据库名、表名及 Schema 信息,实现建库建表的全自动化操作
- 支持自动 Schema 变更同步:自动识别 DDL 变更(增列、减列、列类型变更 int→long、float→double),并同步到目标存储平台
- 支持逻辑列删除:源表删除列后,平台可保留删除列的 Schema,后续查询可追溯历史字段信息
(2) 丰富的数据类型支持
支持 boolean、bit、binary、varbinary、blob、bigint、int、integer、float、double、date、datetime、timestamp、decimal、char、varchar、string、text、json 等全类型数据的同步
(3) 数据准确性保障
- 全链路 Exactly-once 语义,保证数据传输不丢不重
- 数据延迟机制判断,避免因上游数据延迟导致相关异常
- 支持多种断点重传机制:指定时间戳消费、从最新数据消费等,方便快速恢复同步任务
- 支持数据源数据安全机制
实时计算存储
(1) 元数据管理
- 支持高可用、分布式部署方案,满足单节点千万级别数据管理要求
- 支持 Domain(域)、Namespace、表、分区、数据文件多层级管理
- 支持高并发写入,支持 ACID 事务,保证数据读写一致性
- 支持 TimeTravel:数据回滚、快照读、增量读
- 支持 Listen-Trigger-Notify 机制触发自动 Compaction 和数据清理
(2) 灵活的数据更新与读取
- 无主键表采用 Append 方式追加写入
- 有主键表采用 Upsert 模式,读取时按主键合并更新,保证同一主键使用最新数据
- 支持 MOR(Merge on Read)、增量读、快照读等多种读取方式
(3) 多引擎支持
| 引擎类型 | 支持的计算引擎 |
|---|---|
| 批式计算 | Spark 等 |
| 流式计算 | Flink、Spark Streaming 等 |
| AI 计算 | PyTorch、Pandas、Spark MLLib 等 |
| MPP 分析 | Presto、Doris 等 |
提供统一 API 接口,支持各类开源引擎的接入和整合。
(4) 流批数仓建模
- 实时增量建模:以流式方式增量读取上游数据,支持 Changelog 语义,支持 Flink 双流 Join、LookupJoin、Aggregate 等增量计算,支持 CDC 输出,实时落盘并推送到下游数据服务
- 批量计算建模:以周期调度方式批量执行建模任务,支持 Overwrite 覆盖写和 Upsert 两种结果更新方式,支持 Spark SQL 和 Spark DataFrame API 开发
- 统一存储与查询:流批写入共用同一套湖仓存储,查询层自动合并流批数据,用户无需感知底层数据来源