我正在实现一个需要从N个独立异构数据库中聚合搜索结果的Rails应用程序。一个示例使用情形将是:连接到多个数据库的Extensible Rails应用程序
- 用户查询“xpto”
- 该查询提交给所有的系统上注册的数据库
- 结果变换和组合在预定格式
- 用户得到结果
应用程序需要为在系统中引入新数据库提供一个可扩展性点。这里的数据库可以是不同类型的 - 平面文件,SQL数据库,SQL数据库的REST接口等。
如果我在C#/ Java中工作,忽略速度问题,我会定义一个插件管理系统,每个主机都有一个插件,可以知道如何查询和转换主机的结果。通过定义新的插件并在系统中配置主机,可轻松引入新的主机。
我是新来的铁轨,我正在寻找想法,工具或设计模式,可以帮助我解决这个问题。
更好使这个社区维基 – clyfe 2010-06-20 11:52:09