回想一下著名的BigTable论题

GFS捕捉一些业务场景的分布式文件系统的需求。很自然。此外还有一些与他们一些业务或依赖于文件系统是不那么容易,他们需要一个分布式数据库系统。

BigTable那是,Google结构化数据处理的需求而产生的。

论文摘要涉及的“关键”字为:

1. 结构化数据

2. 数据量大

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

4. 批处理和实时需求

5. 数据模型

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

对于批处理业务,能够理解为其处理时间须要的比較多,至少不是秒级的响应时间。而对于实时需求,应该也不是实时操作系统。怎么也应该是毫秒甚至秒级别的响应时间吧。

从上面这些简单的分析能够看出,非常多术语的准确含义是须要上下文才干够对照。否则easy望文生义。

数据模型相对照较好理解,既然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有三个组要的模块:client/函数库、Master server、Tablet servers。

具体内容须要阅读第五节。

这里列出须要注意的问题:

1. Master的职责

2. Tablet的职责

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

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

5. 元信息的特殊处理

6. tablet的增减、合并

7. 日志

8. 三种compaction

9. 恢复等等。

这里头涉及到的细节比較多,须要慢慢的品味。

而一涉及性能优化,就会比較发散到压缩、布隆过滤器等等比較通用的算法/技术。有些东西没我完成了,了解也比较浅,留下来继续学习。。。。。

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-12-28 10:16:48

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

回顾一下著名的BigTable论文

GFS解决了某些业务场景对分布式文件系统需求,很自然的,也有某些业务仅仅靠文件系统用起来还是不那么方便,它们需要分布式数据库系统.BigTable就是Google为了解决内部对大规模结构化数据处理的需求而产生的.论文摘要涉及的"关键"字为: 1. 结构化数据 2. 数据量大 3. 典型应用:Web索引,Google Earth,Google Finance 4. 批处理和实时需求 5. 数据模型 首先,需要注意的是,这里所谓的结构化数据和做DBMS的说的结构化数据不完全是一回事.后者定

一周热门回想:P2P行业收益率迎来普降期

[编者按]时值周末,这周您投资的平台收益如何,作为与您投资息息相关的第三方资讯平台,网贷之家将通过<一周热点回顾>定期为您梳理一周P2P网贷界要闻大事,探寻最新动向走势,甄别秘诀,拿捏脉点. 一周热点消息: 红岭创投刷新单日成交量新纪录的当面 目前,网贷行业充满着硬实力的比拼,太多的关注点都聚焦在比风投资金.拼股东背景,通过红岭创投"双十一"成交量的纪录发明,兴许市场能得到更多的启发,把眼光更多的关注在软实力建设,只有软实力跟硬实力的有效联合才干真正使一个平台在互联网金融的

BigTable之Tablet查找

前面提到的SSTable是数据存储的一个文件,BigTable说到底还是一个由表组成的数据库,当我们查找数据时还是要告诉BigTable数据所在的表的名称,在BigTable中,数据表是由Tablet组成的,每个Tablet包含有多个SSTable,并且Tablet的存储是分布式的,意味着,同一个表中的不同Tablet可能会被存储到不同的Tablet服务器上. 当用户想通过表的名字获取表内的数据时,首先要通过表名得到这个表中所有Tablet的位置信息,Tablet的索引结构如下图: 在Chubb

著名清理软件(CCleaner) 5.24.5841 中文版

软件名称: 著名清理软件(CCleaner) 软件语言: 多国语言 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 5.7MB 图片预览: 软件简介: CCleaner的体积小,运行速度极快,可以清理系统临时文件夹.历史记录.回收站垃圾文件,还可以扫描清理注册表的垃圾及无效项.附带软件卸载功能. CCleaner中文绿色版下载,CCleaner清理器是一款很不错的.免费的系统优化和隐私保护工具.CCleaner 主要用来清除 Windows 系统不再使用的垃圾文件,以腾出更

谷歌技术&quot;三宝&quot;之BigTable

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

HYSBZ 3209: 花神的数论题

题目连接:http://www.lydsy.com/JudgeOnline/problem.php?id=3209 花神的数论题 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1148  Solved: 535[Submit][Status][Discuss] Description 背景众所周知,花神多年来凭借无边的神力狂虐各大 OJ.OI.CF.TC …… 当然也包括 CH 啦.描述话说花神这天又来讲课了.课后照例有超级难的神题啦…… 我等蒟

HYSBZ 3209 花神的数论题(数位dp)

3209: 花神的数论题 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1148  Solved: 535 [Submit][Status][Discuss] Description 背景 众所周知,花神多年来凭借无边的神力狂虐各大 OJ.OI.CF.TC -- 当然也包括 CH 啦. 描述 话说花神这天又来讲课了.课后照例有超级难的神题啦-- 我等蒟蒻又遭殃了. 花神的题目是这样的 设 sum(i) 表示 i 的二进制表示中 1 的个数.给出

BZOJ3209: 花神的数论题

3209: 花神的数论题 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 689  Solved: 334[Submit][Status] Description 背景众所周知,花神多年来凭借无边的神力狂虐各大 OJ.OI.CF.TC …… 当然也包括 CH 啦.描述话说花神这天又来讲课了.课后照例有超级难的神题啦…… 我等蒟蒻又遭殃了.花神的题目是这样的设 sum(i) 表示 i 的二进制表示中 1 的个数.给出一个正整数 N ,花神要问你派(S

BigTable——针对结构型数据的一种分布式存储系统

摘要 结构型数据,用超大尺寸设计的,以PB级的数据量穿梭在成千上万的商业服务器上面.BigTable正是针对于管理这种结构型数据而设计的.Google的许多大型项目都用到了这种BigTable,包括Web indexing(网络索引),Google earth(谷歌地球),Google finance(谷歌财经),着眼于从网页链接到卫星图像这样的数据尺寸和从后台数据的批量处理到实时数据服务,这些应用都在BigTable上有着不同的需求.尽管谷歌的这些产品在需求上有着极大的不同,但是BigTabl