ruby on rails -创建10000个不同的ActiveRecord SQLite数据库连接有什么可预见的问题吗



我有一个约10000个文档的集合,每个文档包含几个SQLite数据库。(*)

我正在考虑根据文档标识符自动子类化我为这些db中包含的表编写的ActiveRecord模型,因此我可以分别在每个类上调用establish_connection。

class Document < ActiveRecord::Base
end
class Document_xyz < Document
  establish_connection(.../xyz.sqlite)
end

这是可行的,或者我应该尝试合并所有的数据库在一起以某种方式(可能通过前缀ID表名,或作为一个列(?)),所以我可以只做一个连接?

*注意:我不能改变这个文件设置,因为它在其他地方使用,但我正在制作一个web界面,所以我正在研究处理如此大量的db的可能性。

每个模型可以打开任意数量的数据库连接。也就是说,每个模型只有一个连接会更好,更容易编码和使用。但是这么多的连接会消耗大量的机器资源,所以……遍历所有不同的数据库,对其内容进行grep,并将其全部写入单个数据库文件(如果可能的话,不要忘记为有效的关系建模)。

之后,处理数据库应该相当快&一件容易的事。

这可能需要大量的资源。

你可以写一个rake任务,将数据库转换成json模板,然后你可以操作数据,但你认为合适,而不需要太多的关注服务器资源。

你真的应该要求sqlite数据库的json表示由供应商提供

最新更新