介绍
BitSail是字节跳动开源的基于分布式架构的高性能数据集成引擎, 支持多种异构数据源间的数据同步,并提供离线、实时、全量、增量场景下的全域数据集成解决方案,目前服务于字节内部几乎所有业务线,包括抖音、今日头条等,每天同步数百万亿数据。
开源地址:GitHub - bytedance/bitsail: BitSail is a distributed high-performance data integration engine which supports batch, streaming and incremental scenarios. BitSail is widely used to synchronize hundreds of trillions of data every day.
为什么我们要使用BitSail
BitSail目前已被广泛使用,并支持数百万亿的大流量场景。同时在火山引擎云原生环境、客户私有云环境等多种场景下得到验证。
我们积累了很多经验,并做了多项优化,以完善数据集成的功能
-
全域数据集成解决方案, 覆盖离线、实时、增量场景
-
分布式以及云原生架构, 支持水平扩展
-
在准确性、稳定性、性能上,成熟度更好
-
丰富的基础功能,例如类型转换、脏数据处理、流控、数据湖集成、自动并发度推断等
-
完善的任务运行状态监控,例如流量、QPS、脏数据、延迟等
BitSail使用场景
-
异构数据源海量数据同步
-
流批一体数据处理能力
-
湖仓一体数据处理能力
-
高性能、高可靠的数据同步
-
分布式、云原生架构数据集成引擎
BitSail主要特点
-
简单易用,灵活配置
-
流批一体、湖仓一体架构,一套框架覆盖几乎所有数据同步场景
-
高性能、海量数据处理能力
-
DDL自动同步
-
类型系统,不同数据源类型之间的转换
-
独立于引擎的读写接口,开发成本低
-
任务进度实时展示,正在开发中
-
任务状态实时监控
BitSail架构
Source[Input Sources] -> Framework[Data Transmission] -> Sink[Output Sinks]
数据处理流程如下,首先通过 Input Sources 拉取源端数据,然后通过中间框架层处理,最后通过 Output Sinks 将数据写入目标端
在框架层,我们提供了丰富的基础功能,并对所有同步场景生效,比如脏数据收集、自动并发度计算、流控、任务监控等
在数据同步场景上,全面覆盖批式、流式、增量场景
在Runtime层,支持多种执行模式,比如yarn、local,k8s在开发中
支持的连接器
DataSource | Sub Modules | Reader | Writer |
Assert | - | ✅ | |
ClickHouse | - | ✅ | - |
Doris | - | ✅ | |
Druid | - | ✅ | |
Elasticsearch | - | ✅ | |
Fake | - | ✅ | |
FTP/SFTP | - | ✅ | |
Hadoop | - | ✅ | ✅ |
HBase | - | ✅ | ✅ |
Hive | - | ✅ | ✅ |
Hudi | - | ✅ | ✅ |
JDBC | MySQL | ✅ | ✅ |
Oracle | |||
PostgreSQL | |||
SqlServer | |||
Kafka | - | ✅ | ✅ |
Kudu | - | ✅ | ✅ |
LarkSheet | - | ✅ | |
MongoDB | - | ✅ | ✅ |
| - | ✅ | |
Redis | - | ✅ | |
RocketMQ | - | ✅ | |
SelectDB | - | ✅ |