英文原文:https://getdozer.io/docs/dozer
概览
Dozer 实现了实时 SQL 引擎,可以连接任何数据源,对数据进行转换并存储到 LMDB 支持的嵌入式缓存中,自动生成二级索引,快速生成 REST 和 gRPC API。它还支持 Protobuf 和 Open API 文档。
Dozer 完全使用 Rust 实现,以便快速处理数据,并且资源占用更少。
Dozer 采用端到端的方法,旨在大大降低构建数据应用所需的数据基础设施的成本、复杂度和工作量。而现在开发人员需要整合和维护各种工具才能达到同样的结果。
我们相信开发者花费了许多宝贵的时间来构建核心的 pipelines 和基础架构工作,并经常整合多个产品。我们采用一种有效的方法,使用一个从数据源到生成数据 API 提供端到端的功能的单个产品解决数据服务问题。
详细架构可以点击参考官网的Architecture章节。
Dozer能做什么?
•使用简单的配置在几分钟内创建极速的端到端 gRPC 和 REST APIs。
•构建并快速迭代面向客户的数据应用程序。
•使用标准 SQL 实时转换数据。
•缓存数据并自动获得搜索和筛选功能。
•使用 WASM 扩展 Dozer 的自定义连接器、操作器和 API 转换。
•用 Rust 构建,具有高性能和可扩展性。
•自动生成 OpenAPI 文档和 protobuf 数据合同。
Plug & Play
Dozer 能够即时地自动生成完全索引化的 gRPC 和 REST API,无需编写额外的代码,只需要通过配置一个 YAML 文件即可。这样可以省去开发人员数小时的时间。Dozer 还支持高度自定义。
如需了解如何构建更多的连接器和转换,可以点击参考官网的 Contributing 章节。
连接所有数据源
Dozer 不区分数据源的类型。开发人员可以轻松地使用应用程序数据库(如 Postgres 和 MySQL)、数据仓库(如 SnowFlake)和云存储(如 S3 和 Deltalake )来构建产品。Dozer还可以消费实时 events 和 Ethereum 数据,提供完整的数据接入和管理体验。
从多个数据源中组合数据
Dozer 可以实时合并来自多个数据源的数据,以支持高级用例,例如客户个性化、实时分析等。这可以通过 SQL 中的标准 JOIN 运算符来完成。
API和实时查询
在实现的核心,Dozer 具有适用于所有存储的 CDC 的流式数据管道。随着新数据的流入,Dozer 会增量计算 aggregations 和 joins,并提供比传统数据库更优越的查询体验。
数据存储在基于 LMDB(Lightning Memory-Mapped Database)的缓存中,并自动构建单列的二级索引。这为用户提供了具有 filter、sort 功能的即时可查询的API。”
扩展性
Dozer 可以以单一进程的方式运行,用于简单应用,也可以以分布式方式运行,其中写入和读取是解耦的。这是一种低成本高效的方法,其中读取开销非常低,可以根据需要进行扩展。
授权
Dozer 通过 JWT 令牌提供授权功能。更多详细信息请点击参见官网“API安全性”。