回顾一下著名的BigTable论文

GFS解决了某些业务场景对分布式文件系统需求,很自然的,也有某些业务仅仅靠文件系统用起来还是不那么方便,它们需要分布式数据库系统。BigTable就是Google为了解决内部对大规模结构化数据处理的需求而产生的。论文摘要涉及的“关键”字为:

1. 结构化数据

2. 数据量大

3. 典型应用:Web索引,Google Earth,Google Finance

4. 批处理和实时需求

5. 数据模型

首先,需要注意的是,这里所谓的结构化数据和做DBMS的说的结构化数据不完全是一回事。后者定义的结构化数据都是数值、字符串等确实比较结构化的数据,而且长度也不会很大;采用的数据模型大多指的就是关系模型。其次,数据量大和此前做DBMS的人喜欢说的海量数据库也不是一个数量级。海量只不过是TB,而这里的大怎么着也是PB甚至以上了(这个大概和做OLAP的人说的量级差不多)。既然如此,典型的那些应用显然也超出了传统关系数据库能够摆平的范围了。

对于批处理业务,可以理解为其处理时间需要的比较多,至少不是秒级的响应时间。而对于实时需求,应该也不是实时操作系统,怎么也应该是毫秒甚至秒级别的响应时间吧。从上面这些简单的分析可以看出,很多术语的准确含义是需要上下文才可以对比,否则容易望文生义。

数据模型相对比较好理解,既然BigTable宣称是个数据库,那最核心的逻辑概念就是支持的数据模型是什么。第二节说“大表”是个稀疏的、分布的、持久化的、多维的、有序的Map。那它就不是关系模型,也不是对象模型或其他各种传统的数据模型了。这个定义有点啰嗦,但准确的描述了BigTable的特征。

对于一个大型的数据管理软件,我们要关心的问题是有一定通用性的。例如:

1. 数据模型

2. 编程接口

3. 依赖的基础设施/组件

4. 实现中的优化

5. 性能数据以及典型场景

这也是论文的后续章节主要介绍的内容。

在学习BigTable的数据模型/实现时,不妨带着与关系模型/实现的类比去思考以下问题:

1. 它和关系模型的区别

2. 它支持ACID吗

3. 数据的组织和Heap、Cluster B+树类似吗

4. 它有索引吗

5. 模式定义

6. 数据的分区(垂直分区和水平分区)

7. 权限控制

8. 行的多版本等等

更重要的,它的并发控制机制是什么?如果它和传统数据库在这些基本问题上差别/差距越大,那就可以说它越不像一个数据库:-)。

对于数据管理系统而言,支持的操作/API至少应该包括:

1. 模式定义(建表、改表、删表)

2. 数据操纵(增删改查)

3. 权限控制(权限的授予和回收)

要不用户怎么用啊?这些API里头最复杂和最有搞头的当属查数据了:

1. 全表扫描

2. 点查询

3. 范围查询

读第三节的时候,我们可以带着上述这些问题去思考哪些有交集,哪些是传统DBMS没有提供的。

绝大多数实际系统都不是从零开始的,而是要站在巨人的肩膀上。分布式文件系统有很多是建立在本地文件系统之上的,数据库很多是把数据存在文件里头的。BigTable也不例外。只不过它依赖的基础设施/组件比我想象的要多,而且多出来的那些组件一个比一个重要:GFS用来存数据文件和日志文件,集群管理系统用来调度作业、管理资源、处理故障等,SSTable定义了文件格式(Sorted String Table),Chubby提供分布式锁服务。Chubby是如此的重要和复杂,需要单独写篇论文来描述它。

有了数据模型,定义了编程接口,准备好了基础设施。后续的重要工作就是系统实现和优化了。BigTable有三个组要的模块:客户端/函数库、Master server、Tablet servers。详细内容需要阅读第五节。这里列出需要注意的问题:

1. Master的职责

2. Tablet的职责

3. tablet的位置管理(为什么是3层,定位的效率)

4. Master怎么track各个tablet的死活?

5. 元信息的特殊处理

6. tablet的增减、合并

7. 日志

8. 三种compaction

9. 恢复等等。

这里头涉及到的细节比较多,需要慢慢的品味。而一涉及性能优化,就会比较发散到压缩、布隆过滤器等等比较通用的算法/技术。有些东西没有做过,理解得还比较肤浅,留待后面继续学习。。。。。

回顾一下著名的BigTable论文,布布扣,bubuko.com

时间: 2024-10-10 21:10:41

回顾一下著名的BigTable论文的相关文章

回想一下著名的BigTable论题

GFS捕捉一些业务场景的分布式文件系统的需求.很自然.此外还有一些与他们一些业务或依赖于文件系统是不那么容易,他们需要一个分布式数据库系统. BigTable那是,Google结构化数据处理的需求而产生的. 论文摘要涉及的"关键"字为: 1. 结构化数据 2. 数据量大 3. 典型应用:Web索引,Google Earth,Google Finance 4. 批处理和实时需求 5. 数据模型 首先,须要注意的是,这里所谓的结构化数据和做DBMS的说的结构化数据不全然是一回事.后者定义的

模式识别和机器视觉智能方面的论文投稿---国际著名期刊杂志论文投稿

http://www.computer.org/portal/web/tpami---pami 模式分析和机器智能期刊ieee的 像图像增强有cvpr---里面有许多中国人的高质量论文,比如说微软研究院香港科技大学教授何开明啊 想跟踪模式识别有pami---中科院的博士王文峰.杨晓鸥等等都有再投重点稿件 sci 基本上是灌水的 Computer Vision Conf.:Best:      ICCV, Inter. Conf. on Computer Vision     CVPR, IEEE

谷歌技术"三宝"之BigTable

2006年的OSDI有两篇google的论文,分别 是BigTable和Chubby.Chubby是一个分布式锁服务,基于Paxos算法:BigTable是一个用于管理结构化数据的分布式存储系统, 构建在GFS.Chubby.SSTable等google技术之上.相当多的google应用使用了BigTable,比如Google Earth和Google Analytics,因此它和GFS.MapReduce并称为谷歌技术"三宝". 与GFS和MapReduce的论文相比,我觉得BigT

谷歌技术"三宝"之BigTable(转)

原文地址:   http://blog.csdn.net/opennaive/article/details/7532589 2006年的OSDI有两篇google的论文,分别是BigTable和Chubby.Chubby是一个分布式锁服务,基于Paxos算法:BigTable是一个用于管理结构化数据的分布式存储系统,构建在GFS.Chubby.SSTable等google技术之上.相当多的google应用使用了BigTable,比如Google Earth和Google Analytics,因

(zz) 谷歌技术"三宝"之BigTable

006年的OSDI有两篇google的论文,分别是BigTable和Chubby.Chubby是一个分布式锁服务,基于Paxos算法:BigTable是一个用于管理结构化数据的分布式存储系统,构建在GFS.Chubby.SSTable等google技术之上.相当多的google应用使用了BigTable,比如Google Earth和Google Analytics,因此它和GFS.MapReduce并称为谷歌技术"三宝". 与GFS和MapReduce的论文相比,我觉得BigTabl

[转]谷歌技术"三宝"之BigTable

谷歌技术"三宝"之BigTable 2006年的OSDI有两篇google的论文,分别是BigTable和Chubby.Chubby是一个分布式锁服务,基于Paxos算法:BigTable是一个用于管理结构化数据的分布式存储系统,构建在GFS.Chubby.SSTable等google技术之上.相当多的google应用使用了BigTable,比如Google Earth和Google Analytics,因此它和GFS.MapReduce并称为谷歌技术"三宝". 与

浅析 Bigtable 和 LevelDB 的实现

在 2006 年的 OSDI 上,Google 发布了名为 Bigtable: A Distributed Storage System for Structured Data 的论文,其中描述了一个用于管理结构化数据的分布式存储系统 - Bigtable 的数据模型.接口以及实现等内容. 本文会先对 Bigtable 一文中描述的分布式存储系统进行简单的描述,然后对 Google 开源的 KV 存储数据库 LevelDB 进行分析:LevelDB 可以理解为单点的 Bigtable 的系统,虽

MongoDB---前世今生

MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本人也刚买了<MongoDB TheDefinitive Guide>的影印版,还没来得及看,本文原作者将其书中一些关于MongoDB内部现实方面的一些知识介绍如下,值得一看. 今天下载了<MongoDB The Definitive Guide>电子版,浏览了里面的内容,还是挺丰富的.是官网文档实际应用方面的一个补充.和官方文档类似,介绍MongoDB的内部原理是少之又少,只有在附

MONGODB全面总结

关于Mongodb的全面总结,学习mongodb的人,可以从这里开始! 分类:            MongoDB2013-06-08 09:5610213人阅读评论(0)收藏举报 目录(?)[+] BSON 效率 传输性 性能 写入协议 数据文件 名字空间和盘区 内存映射存储引擎 其他 MongoDB的架构 MongoDB的特点 MongoDB的功能 MongoDB的局限性与不足 适用范围 MongoDB的不适用范围 要点 MongoDB分布式复制 MongoDB语法与现有关系型数据库SQL