Database design 数据仓库是否应该成为主数据存储库?

Database design 数据仓库是否应该成为主数据存储库?,database-design,data-warehouse,Database Design,Data Warehouse,通常,数据仓库是一种整合多个源系统的方法,通常用于报告目的。但是,在任何情况下,使用数据仓库本身作为主数据库(即捕获和管理数据,而不是从另一个系统加载数据)是否是一个好主意呢?简单回答-不,我不这么认为。您应该首先为生产数据库设计一个良好的、规范化的数据库结构,然后再考虑数据仓库部分 将仓库和生产数据库分开被认为是“最佳业务实践”,也许最重要的是,这是一种设计考虑。数据仓库和生产数据库有两个不同的用途。生产数据库可能最重要的功能是可靠、一致和明确地捕获事务。这在设计数据库和选择软件(即数据库引擎

通常,数据仓库是一种整合多个源系统的方法,通常用于报告目的。但是,在任何情况下,使用数据仓库本身作为主数据库(即捕获和管理数据,而不是从另一个系统加载数据)是否是一个好主意呢?

简单回答-不,我不这么认为。您应该首先为生产数据库设计一个良好的、规范化的数据库结构,然后再考虑数据仓库部分

将仓库和生产数据库分开被认为是“最佳业务实践”,也许最重要的是,这是一种设计考虑。数据仓库和生产数据库有两个不同的用途。生产数据库可能最重要的功能是可靠、一致和明确地捕获事务。这在设计数据库和选择软件(即数据库引擎)时都很重要

它的设计部分不应该被低估——我要说的是,在大多数项目中,一个好的数据库设计是一个人应该做的第一件事。获得正确的表结构比选择技术更重要

如果您正计划发展,那么尝试将数据隔离到不同的数据库中也很有意义——这两种做法都是因为以后可以更轻松地拆分数据库,并在不同的硬件上运行不同的部分(当您遇到“前沿”时,购买更多的服务器要比购买更强大的服务器便宜得多)而且,因为您以后可能希望拆分软件模块或独立地重用它们。您不希望以同样的方式拆分数据仓库

因此,总而言之,先从生产数据库开始,然后再构建数据仓库——这通常可以推迟,直到您感到迫切需要合并来自不同来源的数据或向生产数据库中添加冗余以实现更快的报告



我在一家在线赌博公司工作了8年。我参与了生产数据库的设计,后来我负责构建数据仓库——因此,上面的评论是基于所犯的一些错误和学到的经验。

简短回答-不,我不这么认为。您应该首先为生产数据库设计一个良好的、规范化的数据库结构,然后再考虑数据仓库部分

将仓库和生产数据库分开被认为是“最佳业务实践”,也许最重要的是,这是一种设计考虑。数据仓库和生产数据库有两个不同的用途。生产数据库可能最重要的功能是可靠、一致和明确地捕获事务。这在设计数据库和选择软件(即数据库引擎)时都很重要

它的设计部分不应该被低估——我要说的是,在大多数项目中,一个好的数据库设计是一个人应该做的第一件事。获得正确的表结构比选择技术更重要

如果您正计划发展,那么尝试将数据隔离到不同的数据库中也很有意义——这两种做法都是因为以后可以更轻松地拆分数据库,并在不同的硬件上运行不同的部分(当您遇到“前沿”时,购买更多的服务器要比购买更强大的服务器便宜得多)而且,因为您以后可能希望拆分软件模块或独立地重用它们。您不希望以同样的方式拆分数据仓库

因此,总而言之,先从生产数据库开始,然后再构建数据仓库——这通常可以推迟,直到您感到迫切需要合并来自不同来源的数据或向生产数据库中添加冗余以实现更快的报告



我在一家在线赌博公司工作了8年。我参与了生产数据库的设计,后来负责构建数据仓库——因此,上面的评论是基于所犯的一些错误和学到的经验。

由@tobixen进行的精彩总结。关于数据仓库最佳实践的另一点是,您不需要修改数据,通常需要附加数据(因此保留历史记录)

大多数数据仓库技术都面向这种模式。因此,在数据仓库上使用典型的OLTP系统或主数据系统将无法正常工作

总的流程是

OLTP数据库->数据仓库>归档

OLTP数据库可以将数据保留1个月到13个月。数据仓库将保留数据,比如长达5/10年(不是所有细节,可能是摘要),然后进行归档


据说像Hadoop/Hive这样的大数据技术使存储大量数据(比如10年)和以经济高效的方式处理数据变得更加容易。

由@tobixen进行的精彩回顾。关于数据仓库最佳实践的另一点是,您不需要修改数据,通常需要附加数据(因此保留历史记录)

大多数数据仓库技术都面向这种模式。因此,在数据仓库上使用典型的OLTP系统或主数据系统将无法正常工作

总的流程是

OLTP数据库->数据仓库>归档

OLTP数据库可以将数据保留1个月到13个月。数据仓库将保留数据,比如长达5/10年(不是所有细节,可能是摘要),然后进行归档


据说像Hadoop/Hive这样的大数据技术使得存储大量数据(比如10年)和以经济高效的方式处理数据变得更加容易。

我不得不说通常不是,但是。。。我们被要求构建一个DWH,它的源系统之一是“OLTP”系统th