我有一个平台,其中大量数据(每天数百万条记录)将存储在亚马逊Redshift中,但这些数据也将由cronjob定期处理,然后在运行我的Rails应用程序的PostgreSQL数据库中创建聚合统计数据,而旧数据将从Redshift中清除。
本质上,这意味着对于最近事件(最近一两天)的统计数据,我的Rails模型将需要从Redshift中拉出,否则,它将需要从PostgreSQL中拉出。由于PostgreSQL数据库将仅包含聚合统计信息,因此查询也将有所不同。
对此进行编码并不困难,但我不确定这样的模型如何适用于Rails。ActiveRecord似乎将该模型与数据库实现紧密地耦合在一起,所以我想我需要创建一个不扩展ActiveRecords的主模型,再加上一个ActiveRecord模型和一个lib类来处理Redshift查询。这是我的场景的最佳设计吗,还是有其他我应该考虑的设计模式?
发布于 2017-03-21 01:22:50
您可以尝试使用外部数据包装器从Postgres访问红移表。有关设置指南,请参阅此处:http://www.vertabelo.com/blog/technical-articles/foreign-data-wrappers-for-postgresql
https://stackoverflow.com/questions/42867672
复制相似问题