繁体   English   中英

如何设计一个可以处理未知报告的数据库?

[英]How to design a database that can handle unknown reports?

我正在做一个项目,该项目存储了多个行业的大量数据。

我的任务是设计数据库架构。

我需要使数据库架构灵活,以便它可以处理有关数据的复杂报告。

例如,

what products are trending in industry x
what other companies have a similar product to my company
how is my company website different to x company website

可能会有各种各样的报告。 现在一切都模糊了。 但我可以肯定的是,报告必须很快。

我是否认为我最好的方法是尝试制作尽可能多的关联表,对吗? 想法是(例如)如果将产品表链接到行业表,则相对容易地获取某个行业的所有产品,而不必通过其他表上的联接来尝试与数据建立连接。

虽然这看起来很疯狂。 该架构将是如此之大和复杂。

请告诉我我的操作是否正确,或者是否有其他已知的解决方案。 也许解决方案是雇用数据科学家或DBA,他们的工作是做这种事情,而不是让程序员去做。

谢谢。

我认为,从关系/运营数据库中获取此类答案非常困难,而查询则非常缓慢。 我认为最好的方法是在多维数据结构(换句话说,数据仓库)中创建扁平化的数据,这比关系数据库更易于查询。 它还将具有用于趋势分析的历史数据。
如果需要进行复杂的统计或预测分析,则数据科学家可以使用数据仓库作为其来源。

除了上面提到的阿米特(Amit)的答案外,问题在于,出于业务目的,您从事务数据库中需要的是事实的高度规范化关联。 对于分析方面,您需要有效地标记事实。

换句话说,您想要的是一系列星型模式,您可以在其中添加所需的任何关联。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM