论坛首页 Java企业应用论坛

来个头脑风暴^ - ^一个技术层面的挑战:异构数据库之间的联合查询

浏览 24179 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-07-18  
kimmking 写道
lizhiqingli 写道
淘宝的TDDL可以解决这个问题,并且现在已经开源了。。

tddl做的是透明分库分表,数据复制,连接数控制,读写分离这些工作。
做不到异构数据库的join


如果是真正的异构数据库,则Join操作肯定是需要我们自己实现的,根据数据量的大小,需要内存操作,然后进行数据库操作,这个可以解决问题,但解决不了一个性能问题,可以从业务的角度来分库分表,避免Join的出现,如果小数据量下边的话,可以在内存中join.
0 请登录后投票
   发表时间:2012-07-26  
1、如果不考虑性能
2、如果只是查询

那么,可以用多线程,每个线程查询一个远程数据库,然后再合并。当然了,每个线程的内部实现都是不同的。
0 请登录后投票
   发表时间:2012-07-27  
为啥不去ITPUB上问,哪儿很多资深DBA,这明显是数据库专家解决的问题。

我想楼主的领导肯定是个搞开发的吧
0 请登录后投票
   发表时间:2012-07-28  
直接考虑数据迁移+系统重构就完了,不然弄个中间件整合失败业务损失估计都会比这个成本高
0 请登录后投票
   发表时间:2012-07-30  
javamonkey 写道
为啥不去ITPUB上问,哪儿很多资深DBA,这明显是数据库专家解决的问题。

我想楼主的领导肯定是个搞开发的吧

回答正确
0 请登录后投票
   发表时间:2012-08-03   最后修改:2012-08-03
要看要求实时查询还是做统计报表的了。都有不同成本的方案。
数据库做为成本很高的单点,尽量让他还原为kv存储的本质。
0 请登录后投票
   发表时间:2012-08-05   最后修改:2012-08-05
之前团队中来了一个从网易跳槽过来的同事,照他的介绍网易的分布式数据库支持join,不过join的过程也是先拿到第一个resultSet,在客户端再lazy去关联的数据库中拿到关联数据。

以前在网站部门的时候,曾经参与搞过一个叫统一数据访问层(udsl)的一个项目,要解决的内容就是针对领域模型编程时,可以不关心底层是用哪种存储引擎,貌似支持了mysql,oracle,hbase,redis这几类吧。join的原理是类似的,不过貌似有一些优化,也有一些限制,只支持一次join查询+join是主键.

还有针对异构数据库的统一访问,可以看下spring-data这个项目: http://www.springsource.org/spring-data/. udsl当时也是借鉴了spring-data的一些思路,不过就是增加了一些本土化特色的功能
0 请登录后投票
   发表时间:2012-08-06  
cwchen 写道
给LZ推荐一个,Jboss的Teiid

能否给在下发一些关于teiid的资料吗?我在官网上找的都是api、guide文档,没有示例啊什么的,如果有请发我邮箱,不胜感激!21781584@qq.com
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics