[转载] 【每周推荐阅读】C-Store:列式存储数据库
2015-06-19 09:26
507 查看
Record-based与column-based是数据库和存储系统里面两种不同的data layout。我们的思维逻辑是基于行记录的,即Record-based data layout,数据记录都是一行一行来存储和访问。但在很多数据库应用中发现(尤其是读请求为主要数据访问的数据库),人们往往只是访问一行记录中的某些属性数据,而不得不将整行数据读取出来,其中很多冗余的IO操作和数据其实没有必要的。如果能将避免这些冗余的IO操作和数据访问,那数据库访问的性能和吞吐将可以得到大大提高。C-Store就是在这样的背景下研发出的最早的列式存储管理的存储系统,其基本思想就是将原来数据库表中的每一列数据单独存储在一起,这样用户在访问某个属性数据的时候,只需要读取该行的对应列数据即可,从而大大减少了数据读取的IO量,提高了整个吞吐。
C-Store点燃了column-based数据库或者read-optimal/read-friendly database的研发的热潮,但其核心思想column-based也随后一直延伸到了很多方面。早些年我在负责typhoon的twister表格系统研发的时候,就是从列存储的角度去构造数据管理模型,从而为调研应用及广告特征数据分析提供一种在海量数据下实现高速数据访问的解决方案。后来,我们把整个最核心的生成列存储和记录重组的逻辑抽象成了公共库的基础组件,即column IO,成为和google公共库record IO并列的两大IO引擎组件。
本周推荐阅读是2005年发表在VLDB的column-based数据库的鼻祖之作C-store: a column-oriented DBMS,从中可以了解列存储的基本设计思想与优缺点。
C-Store点燃了column-based数据库或者read-optimal/read-friendly database的研发的热潮,但其核心思想column-based也随后一直延伸到了很多方面。早些年我在负责typhoon的twister表格系统研发的时候,就是从列存储的角度去构造数据管理模型,从而为调研应用及广告特征数据分析提供一种在海量数据下实现高速数据访问的解决方案。后来,我们把整个最核心的生成列存储和记录重组的逻辑抽象成了公共库的基础组件,即column IO,成为和google公共库record IO并列的两大IO引擎组件。
本周推荐阅读是2005年发表在VLDB的column-based数据库的鼻祖之作C-store: a column-oriented DBMS,从中可以了解列存储的基本设计思想与优缺点。
相关文章推荐
- sql server链接服务器增加mysql
- MySQL数据库在实际应用一些方面的介绍
- 修改MS SQL忽略大小写
- 修改MS SQL忽略大小写 分类: SQL Server 数据库 2015-06-19 09:18 33人阅读 评论(0) 收藏
- 修改MS SQL忽略大小写 分类: SQL Server 数据库 2015-06-19 09:18 34人阅读 评论(0) 收藏
- MySQL数据库管理常用命令
- MYSQL实时触发SQL SERVER
- 大小中型数据库和Oracle的常用命令
- 昨天用到的一个sql查询。可取处,用max
- 通过数据库获取省份城市区县的名字
- sqlserver的IO性能检查
- Oracle 的Rman 极速还原备份 自用脚本
- Redis 之 Jedis(1)
- oracle物化视图的两个典型应用场景
- php使用memcache存储session
- cdh5.3中配置sparksql
- 用静态代码块读取数据库配置文件:tResourceAsStream的配置文件路径问题
- MongoDb常用命令
- mac 通过brew 安装的mysql启动失败解决方案
- MySQL 备份和恢复