加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

一个SQL查询可以访问Java中的多个数据源(从oracle,excel,sql ser

发布时间:2020-12-12 08:23:08 所属栏目:MsSql教程 来源:网络整理
导读:我需要开发可以使用一个SQL查询从多个数据源(Oracle,Excel,Microsoft Sql Server等)获取数据的应用程序.例如: SELECT o.employeeId,count(o.orderId) FROM employees@excel e. customers@microsoftsql c,orders@oracle o WHERE o.employeeId = e.employeeId
我需要开发可以使用一个SQL查询从多个数据源(Oracle,Excel,Microsoft Sql Server等)获取数据的应用程序.例如:
SELECT o.employeeId,count(o.orderId) 
    FROM employees@excel e. customers@microsoftsql c,orders@oracle o 
    WHERE o.employeeId = e.employeeId and o.customerId = c.customerId 
    GROUP BY o.employeeId;

这个sql和数据源必须由java程序动态变化.我的客户希望在同一时间从不同的数据库和存储中编写和运行类似SQL的查询,在我的应用程序的Web界面中使用group by,have,count,sum等.其他要求是性能和重量轻.

我找到这样做(我有什么缺点看,如果我错了,请解决我)

> Apache Spark(缺点:重解决方案,对BigData更好,
如果您需要获取最新的信息而不缓存它,则速度会很慢
在火花),
> SQL Server中的分布式查询(Database link of Oracle,Linked
server of Microsoft SQL Server,Power Query of Excel) – 缺点:
由Java程序动态更改数据源的问题
使用Excel的问题,
> Prestodb(缺点:重解决方案,BigData更好),
> Apache Drill(缺点:相当年轻的解决方案,有些问题没有
最新的odbc驱动程序和工作时的一些错误),
> Apache Calcite(Apache Drill使用的ligth框架,
缺点:相当年轻的解决方案),
>从数据源手动加入(缺点:很多工作
发展正确的联合,“组合”在结果集中,找到最佳执行计划等)

可能,你是否知道任何其他方式(使用免费的开源解决方案)或给我任何关于上述方式的经验的建议?任何帮助将不胜感激.

解决方法

其中一个适用的解决方案是具有JDO,JPA和REST API的 DataNucleus平台.它支持几乎每个RDBMS(PostgreSQL,MySQL,SQLServer,Oracle,DB2等)和NoSQL数据存储,如基于Map,基于Graph的,基于Doc的数据库Web服务,LDAP,XLS,ODF,XML等文档.

或者,您也可以使用EclipseLink,它也支持RDBMS,NoSQL,数据库Web服务和XML.

By using JDOQL which is part of JDO API,the requirement of having one query to access multiple datastore will be met. Both the solutions are open-source,relatively lightweight and performant.

为什么我建议这个解决方案?

>根据您的要求,它了解到数据存储将是您的客户选择,而您不是在寻找一个大数据解决方案.
>您喜欢开源解决方案,重量轻,性能优良.
>考虑到您的用例,您可能需要具有多沟槽持久性行为的数据管理平台,可以根据您/客户的用例利用多个数据存储.

To read more about polyglot persistence

07002

07003

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读