MySQL和MongoDB如何JOIN查询?一个直接在本地运行的SQL执行引擎

Syncany-SQL是一个工具,允许在本地执行MySQL语法的SQL,支持不同数据库之间的JOIN查询和聚合计算,无需依赖完整的BI数仓系统。它在内存中处理数据,支持数据导出到CSV、Excel和JSON,适用于微服务和云原生环境的数据处理。工具由两个项目组成,分别负责解析SQL和执行。虽然有一些使用限制,如仅支持LEFT JOIN和简单查询条件,但它提供了一种简化复杂查询和数据导出的方法。
摘要由CSDN通过智能技术生成

在微服务和云原生愈发流行的今天,数据的分布也愈发脱离单库单机而更加复杂,使用的数据库类型也会更多,但业务的复杂依然会带来了大量的数据查询和导出需求,而很多时候我们很难为数据量的大部分系统创建完整的BI数仓系统,这时候你是不是觉得为这些需求查询和导出数据就会是一个十分困难且耗时的工作?Syncany-SQL就是这样一个工具,来在不依赖数据库的情况下完成不同库表、不同机器和不同数据库类型间直接关联查询和聚合计算后直接导出到常用文件的工具。

直接在本地运行MySQL语法结构的SQL的执行引擎,只使用检查查询从常用MySQL、MongoDB、PostgreSQL、sqlserver、elasticsearch、influxdb、clickhouse、sqlite数据库加载数据及读取execl、csv、json和普通文本文件后,在内存中完成join和聚合运算,单条SQL的执行结果可以临时保存在内存中以便作为后续SQL的输入表继续处理,并且INSERT INTO语句执行指定”仅插入 I“、”存在更新否则插入 UI“、”存在更新否则插入其余删除 UDI“、”删除后插入 DI“四种合并数据模式,针对大数据量也可以分批执行。

整个程序共有两个项目组成,其中

https://github.com/snower/syncany-sql 负责解析SQL

https://github.com/snower/syncany 负责执行

特性

  • Join关联查询,支持在不同库表、不同机器和不同数据库类型之间Join查询
  • Having在内存中执行,支持复杂条件过滤,只包含聚合计算字段过滤时运行在聚合运算之前,否则在聚合计算之后
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值