2017-03-16 21 views
1

我想弄清楚的列存儲索引在SQL Server中如何工作的膽量。我正在尋找的是針對Columnstore索引的底層存儲和附帶搜索算法的技術參考指南或白皮書,特別是關於SQL 2016(與以前版本不同)。我甚至不知道這個算法/​​設計是否有一個正式的學術名稱,因爲我沒有在我審查過的Microsoft文檔中找到任何類似的算法/設計。什麼是底層的存儲和搜索算法用於SQL Server索引列存儲

什麼我關於傳統rowstore指標後,我的等值是他們的底層存儲和搜索算法是基於B +樹。 B +樹算法有大量的白皮書來消化。我所看到的有關Columnstore索引的唯一算法參考文獻屬於DeltaStore功能,它也是based on B+ Trees

我希望底層存儲和搜索算法是不是專有的,我的谷歌技能只是沒有我,但如果事實證明這是專有的,知道這將有助於平息我的好奇心。任何幫助,將不勝感激!

回答

0

在這一點上,我遇到的最好的資源是列式存儲The-Paper-Trail.org的博客文章。它沒有涉及搜索算法背後的細節,但它對底層存儲背後有一些很好的解釋以及對學術白皮書的額外參考。如果其他人對這些東西感興趣,我強烈建議您儘早回顧一下此頁面,而不是稍後。

編輯:進一步閱讀後,它看起來像Columnstore索引的「搜索算法」基本上是索引的香草掃描,減去任何Rowstore消除和列消除。通過在高壓縮數據的批處理模式下執行掃描操作(由於按列存儲模型),並且根據查詢,聚合和字符串謂詞下推優化可進一步限制從磁盤提取的記錄,從而使掃描操作更加高效。 Columnstore indexes - query performance

這兩個資源結合起來,可以很好地瞭解封面內容,因此如果您有興趣,請給他們看看。最後,建議一句話;忽略或忽略SQL 2016發佈之前發佈的大部分文獻,因爲在過去的3個SQL Server版本中,很多基礎術語和邏輯發生了重大變化,並且我不建議任何人使用比2016年早的任何東西if你將使用這個功能。

編輯2:我發現一篇文章Microsoft確認Columnstore索引不是B +樹。

0

關於這對大把大把的錢銷售的產品的內部數據結構什麼也不會公佈完整的詳細信息。對於SQL Server,有來自MSFT的書籍,例如this one,它們討論內部。

是找出你到底想要什麼細節:因人而異。

+0

這本書遺憾地沒有深入我對這個主題感興趣的細節。不過這本書很好。 –

+0

另一個來源是msdn的一組cloud9視頻。產品的開發人員和建築師有時會在那裏詳細介紹。 – user1952500

相關問題