【发布时间】:2017-03-17 21:55:18
【问题描述】:
我有一个平台,其中大量数据(每天数百万条记录)将存储在 Amazon Redshift 中,但这些数据也将由 cronjob 定期处理,然后将在 PostgreSQL 数据库中创建聚合统计信息运行我的 Rails 应用程序,而旧数据将从 Redshift 中清除。
本质上,这意味着对于最近事件的统计信息(在最后一两天),我的 Rails 模型需要从 Redshift 中提取,否则,它需要从 PostgreSQL 中提取。由于 PostgreSQL 数据库将只包含聚合统计信息,因此查询也会有所不同。
编写这个代码并不难,但我不确定这样的模型如何适合 Rails。 ActiveRecord 似乎将模型与数据库实现紧密耦合,所以我认为我需要创建一个不扩展 ActiveRecords 的主模型,以及一个 ActiveRecord 模型和一个 lib 类来处理 Redshift 查询。这是我的方案的最佳设计,还是我应该考虑其他设计模式?
【问题讨论】:
标签: ruby-on-rails postgresql activerecord amazon-redshift