回到基本的周末阅读——分解存储模型

||评论()

传统上,数据库中的记录是按这样的方式存储的:将一行中的数据存储在一起以方便快速地检索。并不是所有人都同意“N-ary存储模型”(NSM)是所有工作负载的最佳方法,但它一直占据主导地位,直到硬件限制(尤其是缓存上的限制)迫使社区重新考虑一些替代方案。随着数据仓库工作负载的增加(其中存储在列中的值常常存在大量冗余),基于面向列存储的数据库模型开始流行起来。第一个实用的现代实现可能是C-Store由Stonebraker等人。在2005年。有一个很棒的教程Harizopoulos, Abadi和Boncz来自VLDB 2009这将带你了解历史,权衡和技术的现状。许多现代高性能数据仓库,如亚马逊红移基于列存储。

但是面向列的数据库在1985年就奠定了基础,当时George Copeland和Setrag Koshafian在他们关于“分解存储模型”(DSM)的开创性论文中质疑NSM。从抽象:

数据库社区中似乎普遍认为n元方法更好。这个结论通常是基于对数据库系统的一个或两个维度的考虑。我们认为比较一致的意见是不成立的。不管是显然是更好的,直到在许多方面仔细分析了数据库系统的这个报告的目的是进一步在广度和深度等维度对这种分析我们检查简单,通用性,存储需求,更新性能和检索性能

分解存储模型, George P. Copeland和Setrag N. Khoshafian,在1985年SIGMOD数据管理国际会议上的论文集

评论

博客评论Disqus