多数据源如何 sql 连接查询

2023 年 1 月 12 日
 siri521

报表服务,需要联接查询多个数据源,进行列表展示,这个有比较好的实现方案么? 多数据源指 a 库再 A 服务器,b 库再 B 服务器……

目前想到的方案是,通过代码来获取数据,在 A 服务器 a 库查询出关联字段后,在去 B 服务器 b 库进行查询,但是代码会比较复杂,请问大家有什么好的实现方案么?

注:冗余表这个方案暂时不考虑,因为连接查询的表与条件是用户手动配置的,所以不考虑这个方案

2555 次点击
所在节点    问与答
20 条回复
106npo
2023 年 1 月 12 日
你数据库支持就能跨实例查询 比如 dblink 或者 FEDERATED 引擎
strawberryBug
2023 年 1 月 12 日
trino
haimianbihdata
2023 年 1 月 12 日
Doris 好像可以的
shakoon
2023 年 1 月 12 日
提问要讲清楚关键信息啊,a 库 b 库用的什么数据库这种关键信息不说?
oracle 的话可以在一个库上面建其他库的 dblink ,然后所有操作和本地库一样。
mysql 的话可以用 federated 引擎在本地建立一个空表链接到其他实例下的数据去,使用时和本地表一样的用,但是不支持事务
opengps
2023 年 1 月 12 日
先抽数集中到一个库里啊
itechify
2023 年 1 月 12 日
你是不是需要数仓?
8355
2023 年 1 月 12 日
你是不是需要中台
lower
2023 年 1 月 12 日
pg 有各种 fdw 插件,是不是可以满足你的要求?
lower
2023 年 1 月 12 日
@lower 不过看了一下好像都是 GitHub 上第三方维护的,不知道稳定性如何
EXChen
2023 年 1 月 12 日
presto
loading
2023 年 1 月 12 日
oracle bridge ?
ym1ng
2023 年 1 月 12 日
spark sql ?
nekoneko
2023 年 1 月 12 日
trino 或 presto, 推荐 trino
lichao
2023 年 1 月 12 日
同数据库类型的数据库有的(只试过 MS SQL SERVER )是可以相互 join 查询的,不同数据库类型的话应该行不通,只能分别查询然后自己用代码组装数据
11ssss
2023 年 1 月 12 日
不选大数据技术栈可以看看这个
https://github.com/Qihoo360/Quicksql
wangxiaoaer
2023 年 1 月 12 日
这是典型的数据仓库场景,不要试图在代码层面解决。搞个专门用来展示、分析的库,这个库也就是所谓的数据仓库,定期从其他不同源同步,至于如何同步就可以通过一些脚本、工具定时执行了。
F281M6Dh8DXpD1g2
2023 年 1 月 12 日
把数据拉回来再搞
不然别人嫌弃死你
siri521
2023 年 1 月 12 日
@wangxiaoaer 信息的实时性要求比价高,如果定期从其他不同源的地方同步的话,实施性比较差吧
wangxiaoaer
2023 年 1 月 12 日
@siri521 这就是同步策略了,假如是 mysql 的基于 binlog 的推送同步,实时性没啥问题吧。 除非是定时轮询同步才存在实时性问题。
zzzain46
2023 年 1 月 12 日
数据仓库

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/908284

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX