学习笔记——列存储

列存储。印象中,数据都是按行来组织的吧,谓之一条条记录。居然有按列来存储的?

“目前大数据的存储方式有两种方式:行存储和列存储。业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全、可靠、完整性。从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,基本是淘汰出局(是吗?太耸人听闻了吧,我有点怀疑)。在已知的几种大数据处理软件中,Hadoop的HBase采用列存储,MongoDB是文档型的行存储,Lexst是二进制型的行存储。”


行存储:


列存储:


行存储的优点就是插入、修改比较快;

列存储则是查询单个列、或者少数列时比较快。由于按列来组织,同列数据类型一致,所以存储、解析简单。

 如果首要考虑是数据的完整性和可靠性,那么行存储是不二选择,列存储只有在增加磁盘并改进软件设计后才能接近这样的目标。如果以保存数据为主,行存储的写入性能比列存储高很多。在需要频繁读取单列集合数据的应用中,列存储是最合适的。如果每次读取多列,两个方案可酌情选择:采用行存储时,设计中应考虑减少或避免冗余列;若采用列存储方案,为保证读写入效率,每列数据尽可能分别保存到不同的磁盘上,多个线程并行读写各自的数据,这样避免了磁盘竞用的同时也提高了处理效率。 无论选择哪种方案,将同内容数据聚凑在一起都是必须的,这是减少磁头在磁盘上的移动,提高数据读取时间的有效办法。”


参考文章:

http://www.infoq.com/cn/articles/bigdata-store-choose






原文地址:https://www.cnblogs.com/leftfist/p/4257945.html