我是OLAP数据库设计的新手,我有一个带有以下表的mysql数据库: -
countries(id, name);
occupations(id, name);
areas(id, name);
purposes(id, name);
tickets(id, issue_date, country_id, occupation_id, area_id, purpose_id, first_name, last_name, gender, birth_date, cost, quantity, .....);
这是我的交易数据库的简化版本,每次销售时都会定期更新。如果我的票证表每天填充大约1000行。如何设计我的olap /数据库,以便我可以每天,每周,每月在图表上查看数据?
我可以使用上面的表格每天在图表上描绘数据,但由于数据量很大,每周,每月等等,应用程序都没有响应!
更新<!/强> 在我看来,数据库模式本身就像一个星型模式,事实表作为票据和其他维度表作为国家,职业,区域等。我真的需要另一个模式吗?可能我甚至根本不需要它。只有我关心的是,当要求票表获取一年的所有数据时,它将获取大约1000 * 365条记录或更多!这是正常的吗?
答案 0 :(得分:-1)
OLTP&amp; OLAP模型有不同的要求(您可以通过谷歌了解更多详细信息),因此使用OLTP模型进行OLAP分析可能不是正确的解决方案,尤其是在数据量开始增长时。
如果您只想使用数据库解决方案,我猜您需要为OLAP分析创建专用架构,或者如果您可以使用外部工具,则可以查看OLAP工具。例如,icCube允许创建可以经常更新的OLAP架构,以执行日常分析和历史分析。
免责声明:我为icCube工作 - 我提到它作为一个例子,但其他工具可以进行类似的分析。