精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-07-02
xuranpaoche 写道 有这样一种应用场景:
客户的业务系统数据库类型多种多样(如oracle、mysql、sqlserver、实时数据库),分别部署在n台服务器上,我们需要在不修改客户原系统的基础上(直接面对各数据库),对异构数据库实现跨系统跨表查询(允许引入中间件,最好不要引入中间数据库)。 各位有木有好的想法? 有种中间件叫做数据虚拟化,就是把多个数据库虚拟成一个数据库。 以前面试过一家公司做这个的,哥们有兴趣可以买个,然后告诉我咋样。 |
|
返回顶楼 | |
发表时间:2012-07-02
mikab 写道 xuranpaoche 写道 有这样一种应用场景:
客户的业务系统数据库类型多种多样(如oracle、mysql、sqlserver、实时数据库),分别部署在n台服务器上,我们需要在不修改客户原系统的基础上(直接面对各数据库),对异构数据库实现跨系统跨表查询(允许引入中间件,最好不要引入中间数据库)。 各位有木有好的想法? 有种中间件叫做数据虚拟化,就是把多个数据库虚拟成一个数据库。 以前面试过一家公司做这个的,哥们有兴趣可以买个,然后告诉我咋样。 貌似就是这个东西,有一个做BI的公司实现了在内存中计算,很费解他们是怎么实现的。呵呵 |
|
返回顶楼 | |
发表时间:2012-07-02
这确实是一个让人感兴趣的话题
|
|
返回顶楼 | |
发表时间:2012-07-02
xiaokang1582830 写道 这确实是一个让人感兴趣的话题
希望大家多提宝贵建议,说不定综合几种中间件,就能解决这样的问题 |
|
返回顶楼 | |
发表时间:2012-07-02
对于数据量级较低的表可以把数据加载到内存数据库再进行查询
|
|
返回顶楼 | |
发表时间:2012-07-02
最后修改:2012-07-02
这个东西应该是有现成的,淘宝有一个TDDL项目,http://rdc.taobao.com/team/jm/archives/1645
以前看过几眼这个东西,不知道好不好用,我也没试过。LZ看看能不能用上吧 |
|
返回顶楼 | |
发表时间:2012-07-02
xuranpaoche 写道 mikab 写道 xuranpaoche 写道 有这样一种应用场景:
客户的业务系统数据库类型多种多样(如oracle、mysql、sqlserver、实时数据库),分别部署在n台服务器上,我们需要在不修改客户原系统的基础上(直接面对各数据库),对异构数据库实现跨系统跨表查询(允许引入中间件,最好不要引入中间数据库)。 各位有木有好的想法? 有种中间件叫做数据虚拟化,就是把多个数据库虚拟成一个数据库。 以前面试过一家公司做这个的,哥们有兴趣可以买个,然后告诉我咋样。 貌似就是这个东西,有一个做BI的公司实现了在内存中计算,很费解他们是怎么实现的。呵呵 Teiid:数据虚拟化系统 1、Teiid简介 Teiid是一个数据的虚拟化系统,使应用系统能够使用来自多个异构数据源的数据。 Teiid是由工具、组件和用于服务创建和执行的双向数据服务组成。 通过抽象和联邦,实现分布数据源的实时数据访问和集成,无需复制或从记录系统移动数据。 |
|
返回顶楼 | |
发表时间:2012-07-03
evanzzy 写道 这个东西应该是有现成的,淘宝有一个TDDL项目,http://rdc.taobao.com/team/jm/archives/1645
以前看过几眼这个东西,不知道好不好用,我也没试过。LZ看看能不能用上吧 下载看了一下,是不错的东东,也开源了,不过现在只能支持到mysql和oracle,其他的暂不支持,再细看下代码 |
|
返回顶楼 | |
发表时间:2012-07-03
xuranpaoche 写道 evanzzy 写道 这个东西应该是有现成的,淘宝有一个TDDL项目,http://rdc.taobao.com/team/jm/archives/1645
以前看过几眼这个东西,不知道好不好用,我也没试过。LZ看看能不能用上吧 下载看了一下,是不错的东东,也开源了,不过现在只能支持到mysql和oracle,其他的暂不支持,再细看下代码 这个事儿不引入中间数据源,真没法操作。tddl处理不了。 etl、数据仓库不就是为了解决这些问题的么? teiid貌似能做到,这有个例子,但是没有看到例子中有join条件: https://docs.jboss.org/author/display/teiid80final/Portfolio+Example+Explained 仿照tddl原理,,我臆想一下可能的方式: 中间层的虚拟库里定义了不同数据源的schemas, 通过teiid的 driver或datasource 执行的sql, 先被解析为不同数据库上的sql, 然后分别获取数据,并求交集。 |
|
返回顶楼 | |
发表时间:2012-07-03
kimmking 写道 xuranpaoche 写道 evanzzy 写道 这个东西应该是有现成的,淘宝有一个TDDL项目,http://rdc.taobao.com/team/jm/archives/1645
以前看过几眼这个东西,不知道好不好用,我也没试过。LZ看看能不能用上吧 下载看了一下,是不错的东东,也开源了,不过现在只能支持到mysql和oracle,其他的暂不支持,再细看下代码 这个事儿不引入中间数据源,真没法操作。tddl处理不了。 etl、数据仓库不就是为了解决这些问题的么? teiid貌似能做到,这有个例子,但是没有看到例子中有join条件: https://docs.jboss.org/author/display/teiid80final/Portfolio+Example+Explained 仿照tddl原理,,我臆想一下可能的方式: 中间层的虚拟库里定义了不同数据源的schemas, 通过teiid的 driver或datasource 执行的sql, 先被解析为不同数据库上的sql, 然后分别获取数据,并求交集。 有没有可能把索引同步到一台机器中? |
|
返回顶楼 | |