基于 Databend 的实时数据汇聚平台建设

本方案中基于 Databend 实现一个数据快速汇聚及实时去重,实现一份数据多种工作负载,把原来数据共享的推模式变成:增量订阅模式 + 抽取推送两种模式。从而让有后台开发经验或会 SQL 的人,也可以在 Databend 上实现海量数据平台的建设。

基本概念

实时数据汇聚平台通常用于实时收集、整合和处理多个数据源的数据。 主要应用于:主数据平台建设,省级数据交易所基础数据汇聚等。在该平台建设中我们借助于 Databend 实现数据的高速摄入,治理,查询及对外服务等。

Databend 基于对象存储和 k8s 架构下开发的云原生数据平台,该产品使用 Rust 开发,注重平台的性能和安全性,以 SQL 为交互语言,支持海量存储和计算的数据平台。 

  1. Databend engine 内置微分区技术,让用户不用关注分区;
  2. 表级默认每个字段建立 min/max, bloom index 索引,让用户无需关注索引;
  3. 支持 cluster key,按某个列或组合列排序存储数据(linear cluster key, hilbert cluster key);
  4. 支持 fulltext index、聚合索引、like 加速,支持多种查询模式;
  5. 轻量化元数据设计,元数据服务无后顾之忧;
  6. 集群能力轻松扩展。

平台目标

  1. 实现数据的实时汇入,保留原始数据到一张表中 (ODS 层);
  2. 支持对 ODS 层的数据进行增量订阅及后续处理;
  3. 支持去重数据实时合并+更新到目标表中;
  4. 支持数据按条件抽取;
  5. 支持表级以 SQL 的方式获取增量及实现增量订阅能力;
  6. 支持 SQL 方式在平台做 SQL 治理;
  7. 支持完整的权限隔离;
  8. 支持租户和用户实现底层数据共享(非授权和跨库访问),需要的数据可以在当前库看到;
  9. 实现一份数据全平台共享;
  10. 实现一份数据多种工作负载;

平台架构及说明

在数据汇聚平台中需要考虑每个系统的边界,如何切分功能:如何保证数据异常的情况下实现数据的一致性; 如何做到各个组件的高可用实现等等问题。  

 

在基于 Databend 的数据汇聚平台,数据汇聚通常以 S3 作为中转,接收到的数据以 json 格式写入到 S3 中,Databend 支持面向 S3 的数据加载,在 Databend 中将 ETL 变成了 ELT。 另外一种边界是前端的数据摄入工具把数据写入 Kafka 中,Databend 从 Kafka 中获取订阅的数据。

下面部分把数据汇聚平台的一些工作细化一下,供各位参考。

2.1 高速写入

在数据汇聚平台,数据接入可以分为两类:从数据接入网关到 Databend 和 从 Kafka 中到 Databend 两种形式。 数据接入网关是一种海量的模式,可以应付每秒近千万的数据写入,从 kafka 到 Databend 可以用于每秒在百万以内的数据数据量接入。 其实两者有相通之处,可以共同切换,需要在实际落地中评估一下成本。

从数据接入网关到 Databend

数据平台通常需要面对海量的数据汇聚,可能同时需要上百张表或是上千张表的数据接入任务。整体架构如下:

  1. 数据源产生数据上传到数据接入网关,数据接入网关把数据按某种频度或是行数写到对象存储指定的 bucket 下对应的位置
  2. Databend 中通
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值