C-Store: A Column-oriented DBMS Mike
这篇paper比较老,是列存比较基础的论文
几乎所有列存,或olap的论文都会引用这篇
行存面向写,支持OLTP
列存面向读,支持OLAP

基于磁盘的DBMS,瓶颈基本在磁盘IO,所有做的工作都是用多余的cpu来换取磁盘IO
总体的思路,压缩让需要存的数据更小,densepack,更多的数据一起存,这样会更紧凑?

本论文的创新点,如下

Hybrid架构
这个架构很有借鉴意义,因为一种结构很难同时满足TP和AP的需要
所以用两个系统,一个用于write-optimized,一个用于read-optimized,中间用一个tuple mover进行数据的同步
后续很多列存和ap系统都是用的这种架构

数据模型
这里提出的数据模型,比较有意思
Table只是一个逻辑概念,真正存储的是projections,
projection是columns的集合,并且projection之间是可以overlap的
这其实不就是把一张表,拆成多张表吗?或者可以认为是一种行存和列存的balance?类似Hbase的column family
降低了数据库管理的成本
可以对不同的projection不同的排序,当前不同排序的成本是很高的,需要多存一份数据
数据冗余可以用于数据恢复,因为一个colunm往往在不同的projections中存了多份
避免join,因为这个projection可以包含外表的字段,但是由于表拆的更小了,所以又增加了join的概率,双刃剑


数据压缩
在RS端,需要对数据进行压缩来降低磁盘IO
在WS端,就不需要加压缩了,因为本身数据在memory,而且WS只是cache实时数据,数据量不大
分成4种情况,
自身有序,大量重复,记录length
自身无序,大量重复,bitmap
自身有序,少量重复,记录delta
自身无序,少量重复,无解
并且对于数据value,可以再加上B-tree索引,因为RS是没有更新的,所以索引可以建的非常紧凑,不会有空洞,densepack


Snapshot Isolation
SI的核心问题,是在查询时间ET,我们要决定在WS和RS中哪些records是visible的?
SI,之所以是Snapshot,就是不能update in place,写不影响原来的读
所以update变成,一个insert和一个delete,这样如果我们记录下,insert和delete的时间,然后和ET比较,就可以判断这个record是否可见
这里决定以绝对时间来作为visible的判断,粒度太小,所以提出epoch
所以会保存insertion vector和deleted record vector,记录每个record的insert和delete的epoch


Epoch是什么,
对时间的划分
有个leader TA,会定期发送message,告诉大家可以epoch+1
然后大家会进入下一个epoch,并且等当前epoch的Transaction都结束后,reply到TA
TA收到所有的reply,就会把HWM设为改epoch,然后广播给大家,这样HWM以下的数据都是被读到的

C-Store: A Column-oriented DBMS Mike的更多相关文章
- MapReduce的核心资料索引 [转]
转自http://prinx.blog.163.com/blog/static/190115275201211128513868/和http://www.cnblogs.com/jie46583173 ...
- 资源list:Github上关于大数据的开源项目、论文等合集
Awesome Big Data A curated list of awesome big data frameworks, resources and other awesomeness. Ins ...
- Awesome Big Data List
https://github.com/onurakpolat/awesome-bigdata A curated list of awesome big data frameworks, resour ...
- Oracle 12.1.0.2 New Feature翻译学习【In-Memory column store内存列存储】【原创】
翻译没有追求信达雅,不是为了学英语翻译,是为了快速了解新特性,如有语义理解错误可以指正.欢迎加微信12735770或QQ12735770探讨oracle技术问题:) In-Memory Column ...
- PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)
100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...
- PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手
原文地址 开源(Open Source)对大数据影响,有二:一方面,在大数据技术变革之路上,开源在众人之力和众人之智推动下,摧枯拉朽,吐故纳新,扮演着非常重要的推动作用:另一方面,开源也给大数据技术构 ...
- 100 open source Big Data architecture papers for data professionals
zhuan :https://www.linkedin.com/pulse/100-open-source-big-data-architecture-papers-anil-madan Big Da ...
- CNCF CloudNative Landscape
cncf landscape CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database ...
- LIST OF NOSQL DATABASES [currently 150]
http://nosql-database.org Core NoSQL Systems: [Mostly originated out of a Web 2.0 need] Wide Column ...
随机推荐
- Web前端2019面试总结2
1.js继承: 想要继承,就必须要提供个父类(继承谁,提供继承的属性) 组合继承(组合原型链继承和借用构造函数继承)(常用) 重点:结合了两种模式的优点,传参和复用 特点:1.可以继承父类原型上的属性 ...
- python bs4 BeautifulSoup
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.bs4 模块的 BeautifulSoup 配合requests库可以写简单的爬虫. 安装 命令:pip in ...
- Java开发环境配置大全
Java开发环境配置 零章:JDK安装教程 壹章:Tomcat安装教程 贰章:IntelliJ IDEA安装教程 叁章:MySql安装教程 肆章:Maven安装教程 伍章:MongoDB安装教程 陆章 ...
- linux服务器问题排查:w命令卡住
基本情况 系统: ubuntu16.04 症状: who命令可以用,w命令用不了 sudo iotop命令会卡住,黑屏 nvidia-smi命令和nvl命令都用不了,卡住 排查步骤 strace ps ...
- GitLab企业级代码管理仓库
原文:https://www.cnblogs.com/wsnbba/p/10171052.html 使用GitHub或者码云等公共代码仓库 使用GitLab私有仓库 GitLab是什么? 是一个用 ...
- 图论 - PAT乙级 1029 旧键盘 (C++ python3)
PAT甲级 1029 旧键盘 (C++ python3) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. ...
- Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 5000
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'brandControl ...
- ArcSDE SQL Server 创建地图数据库
1.安装并破解: ArcGIS 10.2 ArcSDE 10.2 Sql Server 2008 R2 本文重点关注Sql Server和ArcSDE配置问题,安装破解过程略. 2.配置Sql Ser ...
- Windows server服务器入侵检查
基本检查点 检测不正常账户 查找被新增的账号,特别是管理员群组的(Administrators group)里的新增账户. C:\lusrmgr.msc C:\>net localgroup ...
- python基础语法2 流程控制 if,while,for
if语句: 什么是if? 主要是用于判断事物得对错,真假,是否可行 语法结构: python是通过缩进来决定代码的归属 pep8: 缩进一定是四个空格 tab键 if 条件: 代码块 .... ... ...