Mik*_*use 5 ruby activerecord ruby-on-rails data-warehouse
随着我的Rails应用程序的成熟,它变得越来越明显,它具有强大的数据仓库风格,缺少一个事实表来使一切都明确.
最重要的是,我刚刚阅读了Ruby Best Practices的第2章(设计美丽的API)和3(掌握动态工具包).
现在我想弄清楚如何最好地设计事实检索部分......
假设我有以下尺寸(应用中的现有模型):
...和一个很好的旧通用事实:
在某些方面,我很乐意得到一些建议:
:all?或者某些惯例是否适用?named_scopes来处理这个问题的经验?能够为每个感兴趣的维度链接一个明显的吸引力,但是如果我们达到7或8维度,它是否变得太笨重了?(我知道一个acts_as_fact插件被认为以某种形式存在(至少在RailsConf 2006中有一些小嗡嗡声)但我找不到任何代码或描述它如何起作用.)
版本:Rails,ActiveRecord 2.1.2,Oracle增强适配器1.2.0
编辑:我看了一下ActiveWarehouse并有一些保留意见: - 主要分支机构自08年11月以来没有承诺,自09年1月以来没有任何活动; - 教程可以追溯到2006年,被认为已经过时了,404对我来说; - 它似乎想要远离ActiveRecord - 我的应用程序的大部分将保留在AR中,我认为目前我想要一个AR解决方案.
所以我会避开那个,谢谢!
因此,我们有许多复杂程度不同的宝石或插件,但似乎没有一个正在积极开发(或者有一些事情正在发生,但在雷达之下)。
无论如何,我不想构建一个数据仓库,只是为了以星型模式样式实现一两个事实表。我想要的是关于如何访问这样一个表的想法。
我倾向于放弃多级别的想法,其中跨维度的聚合将在该维度的外键中具有 NULL。虽然它会减少查询中涉及的行数,但好处很小而且不是免费的:我将拥有更大的事实表和更复杂的代码。
检索看起来可能会用一组named_scopes(每个维度一个)来处理,以进行过滤。或者使用适当构造的哈希的自定义查找器可能会更好。
当我构建它时,我会回来提供一些更好的信息......
| 归档时间: |
|
| 查看次数: |
1912 次 |
| 最近记录: |