2013-03-04 83 views
0

我有一個關於數據倉庫和列式數據庫的問題。在我的項目中,該公司在Visual Studio SQL服務器中使用倉庫解決方案,在查詢大量數據的複雜問題時,他們遇到了性能問題。我想嘗試用基於列的數據庫替換數據庫。我知道您可以將面向行的數據庫「轉換」爲基於更多列的數據庫,或使用開放源代碼數據庫(如Vertica或Sybase IQ),我只是想知道它如何適合倉庫?您是否需要在倉庫中擁有明星連接模式,或者您是否可以使用柱狀模式,我意識到這是一個愚蠢的問題,但我只是在開始探索不同的數據庫和解決方案之前試圖理解這一點。 我知道SQL Server 2012有一個列存儲,但我想嘗試其他開源數據庫。數據倉庫中的列存儲

在此先感謝!

+0

性能問題有多大?數據倉庫查詢通常以分鐘和小時計,而不是秒。最有趣的查詢需要數據庫經歷很多行。 – 2013-03-04 14:29:42

+0

我不確定究竟有多少,只是這是一個問題,他們想看看列式數據庫可以做出什麼差異。我只是因爲我剛剛參加了數據倉庫課程而感到困惑,並且我學會了使用星型連接模式,您能否將其替換爲一個面向列的數據庫? – glaring 2013-03-04 14:36:10

+0

什麼是列式數據庫?你能指出一篇維基百科文章嗎? – 2013-03-04 14:39:23

回答

1

您是否必須在倉庫中擁有星型連接架構,或者您是否可以使用柱式方法?

星型連接模式由數據倉庫的表定義組成。用於查詢靈活性的星型模式和類似的模式,交易查詢性能。通常,查詢靈活性比數據倉庫中的查詢性能更重要。

根據您在註釋中鏈接的Wikipedia article,面向列的數據庫引擎按列順序存儲實際數據庫字節,而不是傳統的關係數據庫行順序。

正如文章所說,這可以提高磁盤訪問性能。

星型模式是您如何定義表格。面向列的數據庫引擎關心數據庫信息如何寫入磁盤。除了它們都適用於數據倉庫之外,這兩個概念與另一個概念無關。

保留您當前的數據倉庫架構,並查看列式數據庫引擎是否可以提高查詢性能。

+0

現在它開始有意義了:)非常感謝Gilbert!我確定我後面會有成千上萬的問題,但現在看起來更清楚了! – glaring 2013-03-04 15:35:32

+1

有一件事 - 更改DBMS引擎比看起來要困難得多,因爲每個系統都以不同的方式實現SQL,並計算出BI層的兼容性等,這可能非常具有挑戰性。你可能最好得到一個*好的DBA來對查詢進行一些性能分析,並用更好的結構(索引等)或硬件(磁盤I/O通常是罪魁禍首)找出需要改進的地方。 – 2013-03-04 16:07:01