列存储在数据仓库中

时间:2013-03-04 14:21:03

标签: sql-server data-warehouse columnstore

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

提前致谢!

1 个答案:

答案 0 :(得分:2)

  

您是否必须在仓库中拥有星型连接模式,或者您可以使用柱状方法吗?

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

基于您在注释中链接的Wikipedia article,面向列的数据库引擎按列顺序存储实际的数据库字节,而不是传统的关系数据库的行顺序。

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

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

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