前言
上一篇介绍了什么是 modern data stack,这一篇继续来梳理下,在modern data stack 下面常见的产品都有哪些。
业界一些常见的产品(按主要场景分类)
分类说明
关系型数据库迁移主要是在日志监听和回放,事务一致性等有独特的技术需求。其中 AWS DMS,阿里的 DTS 算是典型代表。
AWS Database Migration Service
通过 AWS DMS 可以实现同构数据库迁移,异构数据库迁移,多个数据库整合成一个数据库,在线数据库同步,通过 AWS Schema Conversion Tool (AWS SCT) 可将源数据库架构和大部分数据库代码(包括视图、存储过程和函数)自动转换为与目标数据库兼容的格式。
阿里 DTS
这个领域阿里的 DTS 做的功能会更成熟一些;主要解决的也是各种数据库上云、迁移的问题,细节就不具体展开了。
数据分发
分类说明
在数据处理架构里面,一般都是承担消息的分发功能,高效的分发能力,包括批量,实时,以及对周边系统众多的 adapter 是核心能力,最典型就是 kafka。
Kafka / confluent
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
kafka 核心的能力还是在分发,confluent 是 kafka 商业化公司,下面是 kafka 和 Fivetran 的一个简单对比:
当能用户也能通过 Confluent 支持的 mysql CDC + ksqldb (kafka 上面的计算能力) 组合去实现 ETL 的一些功能。
puslar
Apache Pulsar is a cloud-native, distributed messaging and streaming platform originally created at Yahoo! and now a top-level Apache Software Foundation project
Pulsar 就像一个合二为一的产品,不仅可以像 Kafka 那样处理高速率的实时场景,还支持标准的消息队列模式,比如多消费者、失效备援订阅和消息扇出等等。Pulsar 会自动跟踪客户端的读取位置,并把这些信息保存在高性能的分布式 ledger(BookKeeper)当中。
与 Kafka 不同,Pulsar 具备传统消息队列(如 RabbitMQ)的功能,因此,只需要运行一个 Pulsar 系统就可以同时处理实时流和消息队列。
ELT
分类说明:
核心是要对接各种数据源,投递到目标(一般是数据仓库)中进行进一步的处理,以及支撑数据分析。其中 Fivetran 是目前相对比较头部的公司。
Fivetran
主要数据集成,支持各种应用、数据库,事件、文件、Functions 服务里面的数据集成
转换主要支持两种方式,
一种是在目标库中支持Basic SQL Transformations
一种使用 dbt Transformations。
超过 2000+ 客户
支持 150+ connectors
收购 HVR,增强传统数据库的复制能力
Stitch
Stitch rapidly moves data from 130+ sources into a data warehouse so you can get to answers faster, no coding required.包括 SaaS、Database、Webhooks.
Talend 旗下的产品 https://www.talend.com/
Segment
• 从网站、移动设备,server,cloud app 上收集收据
•和 personas 合作
Personas is a powerful personalization platform that enables you to create unified customer profiles in Segment, to build and enrich audiences, and to activate audiences across marketing tools
Airbyte
其中转换部分使用了 dbt 的能力。
Data transformation and modeling
分类说明
这个主要是和数仓结合,数仓的上层管理数据转换和模型构建。
dbt
• 主要作用:简化数据分析代码编写,CI/CD、文档,依赖关系管理等。
• 专门做 transformation,支撑 snowflake, bigquery , databricks , redshift 等,具体的 transformation 其实都是 数仓自己完成,dbt 自身更像是一个 数仓开发的 devops 工具,帮助把数仓开发(写SQL、存储过程)这些事情 CI/CD,依赖关系,版本管理起来。
•databricks 等都集成了 dbt 做 transformation
Dataform
• Congtinual 补齐数仓上面的AI 一层,核心功能:build continually improving predictive models
•Feature store + AI Engine
Reverse ETL
分类说明
把数据从各个源头,投递到SaaS软件,解决数据的最后一公里。
Census,其他还有Hightouch 和 Omnata
把数仓数据挪到 SaaS 工具中,不需要写代码,只需要 SQL
简单总结
Modern data stack 下面 data integration 的产品非常多,各个领域相对比较有名气的是 AWS DMS、confluent、Fivetran、dbt、Census等。
Modern data stack 都在不同层面去降低客户使用数据的难度以及帮助发现客户的价值,典型的 dbt,reverse etl 。
另外,传统我们思考的是怎么降低运维难度,比如分布式数据库,比较早期一个出发点就是解决数据库主备不一致的问题。当能从开发难度讲,SQL 可能足够简单,数据库里面 SQL 就是一个解决开发难度最好的典范。但是我们可以从 modern data stack 里面仍能可以吸取的是,未来怎么降低开发的难度,可能会更有价值,比如 dbt 帮助去解决数据分析开发的 依赖,从而从更更层面承担了 transformation 的能力。从数据最后变成价值,里面还有还有很多非常有难度的事情去做,而解决这个本身就是产品平台型产品最大的价值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)