#async #query-builder #postgre #data-ingestion

quick_stream

Quick Stream是一款基于Rust的解决方案,旨在高效处理数据更新操作,重点关注性能和可伸缩性。利用异步编程和动态发送-接收模型,Quick Stream旨在简化同步大量数据集的过程,并尽量减少开销。

3个版本

0.1.3 2024年7月17日
0.1.2 2024年7月11日
0.1.0 2024年7月5日

#504数据库接口

Download history 91/week @ 2024-06-30 123/week @ 2024-07-07 122/week @ 2024-07-14 5/week @ 2024-07-21 39/week @ 2024-07-28

每月310次下载

MIT 许可证

165KB
3K SLoC

Quick Stream

Build UnitTestsRust Badge

  • Quick Stream是一款基于Rust的解决方案,旨在高效处理数据更新操作,重点关注性能和可伸缩性。利用异步编程和动态发送-接收模型,Quick Stream旨在简化同步大量数据集的过程,并尽量减少开销。

文件概述

  • multi_table_upsert_support.rs:包含执行多表更新操作的辅助函数和实用工具。
  • multi_table_upsert.rs:实现多表更新的主要功能。
  • multi_table_delete_support.rs:提供多表删除操作的辅助函数。
  • builder_support.rs:包含构建数据库查询的实用工具和辅助函数。
  • multi_table_delete.rs:实现多表删除操作的主要功能。
  • support.rs:在各个模块中使用的通用支持函数。
  • upsert.rs:包含核心更新逻辑。
  • shutdown_service.rs:实现安全关闭服务的能力。
  • lib.rs:集成所有模块的主要库文件。
  • delete.rs:包含核心删除逻辑。
  • builder.rs:实现查询构建功能。

软件包

此库在 crates.io 上作为软件包提供。您可以在 Cargo.toml 中包含它。

入门指南

先决条件

  • Rust 1.79.0
  • Cargo 软件包管理器

开发和测试

  1. 克隆仓库
git clone https://github.com/uratne/quick-stream
cd quick_sync
  1. 测试项目
cargo test --lib

功能

  1. unix-signals (将在Unix系统上启用优雅关闭作业)
  2. windows-signals (将在Windows系统上启用优雅关闭作业) Windows上所有QuickStream类型的处理器应使用相同的取消令牌

路线图

查看 路线图

改进

  1. 始终欢迎更多的单元测试
  2. 提供了一些简单的示例作为指导
  3. 对于多表,我使用复合结构来处理所有表,如果通过定义另一个特质来完成会更好。对于我的用例,这已经足够了。所以我现在就到这里。也许将来我会修复这个问题。如果有人愿意帮助,您的帮助将非常感激。

致谢

依赖关系

~23–35MB
~580K SLoC