我正在實現一個需要從N個獨立異構數據庫中聚合搜索結果的Rails應用程序。一個示例使用情形將是:連接到多個數據庫的Extensible Rails應用程序
- 用戶查詢「xpto」
- 該查詢提交給所有的系統上註冊的數據庫
- 結果變換和組合在預定格式
- 用戶得到結果
應用程序需要爲在系統中引入新數據庫提供一個可擴展性點。這裏的數據庫可以是不同類型的 - 平面文件,SQL數據庫,SQL數據庫的REST接口等。
如果我在C#/ Java中工作,忽略速度問題,我會定義一個插件管理系統,每個主機都有一個插件,可以知道如何查詢和轉換主機的結果。通過定義新的插件並在系統中配置主機,可輕鬆引入新的主機。
我是新來的鐵軌,我正在尋找想法,工具或設計模式,可以幫助我解決這個問題。
更好使這個社區維基 – clyfe 2010-06-20 11:52:09