0

我有一个关于数据仓库和面向列的数据库的问题。在我的项目中,该公司在 Visual Studio SQL Server 中使用仓库解决方案,他们在查询大量数据的复杂问题时遇到性能问题。我想尝试用基于列的数据库替换数据库。我知道您可以将面向行的数据库“转换”为更多基于列的数据库,或者使用开源数据库,例如 Vertica 或 Sybase IQ,我只是想知道它如何适合仓库?您是否必须在仓库中有星型连接模式,或者您可以使用列式方法,我意识到这是一个愚蠢的问题,但我只是在开始探索不同的数据库和解决方案之前试图理解它。

提前致谢!

4

1 回答 1

2

您是否必须在仓库中使用星型连接模式,或者您可以使用列式方法来代替?

星型连接模式由数据仓库的表定义组成。星型模式和类似模式以查询性能换取查询灵活性。通常,查询灵活性比数据仓库中的查询性能更重要。

根据您在评论中链接到的Wikipedia 文章,面向列的数据库引擎按列顺序存储实际的数据库字节,而不是关系数据库的传统行顺序。

正如文章所说,这可以提高磁盘访问性能。

星型模式是您定义表的方式。面向列的数据库引擎关注如何将数据库信息写入磁盘。这两个概念彼此无关,只是它们都适用于数据仓库。

保留您当前的数据仓库模式,并查看面向列的数据库引擎是否会提高查询性能。

于 2013-03-04T15:09:30.833 回答