Bigtable和MapReduce、GFS之间的关系是什么?
【一文详解Hive的谓词下推,bigtable】
GFS、Bigtable、MapReduce的关系GFS(Google File System)使Google的分布式文件系统,Bigtable也是构建在GFS之上的,MapReduce也需要利用GFS作为数据的输入和输出 。Bigtable是什么Bigtable是分布式表格系统,表格由很多行组成,每行通过一个rowkey唯一标识,每行包含很多列,多个列组成列族 。
列族是访问控制的基本单元 。Bigtable构建在GFS之上,并且依赖于Goole的Chubby进行服务器的选举和全局信息的维护 。读写当有客户端向 发送写操作时,它会先向 tablet log追加一条记录,在日志成功追加之后再向 memtable 中插入该条记录,写比较方便 。当有客户端进行读操作时,会在 memtable 和 SSTable 上进行合并查找 。
读就比较复杂了,还需要确认数据在哪里,当然这里会使用很多优化的方法,比如缓存数据,使用Bloom lters快速确认数据是不是存在一个SSTable里 。memtable和SSTable中的数据都是有序的,SSTable是由memtable生成的,当memtable达到一定量时,就会被冻结,新的memtable就会被生成,被冻结的memtable就会转化成SSTable,并写入到GFS上 。
LevelDB 是对Bigtable 论文中描述的键值存储系统的实现,并且由 Bigtable 的作者 Jeff Dean 和 Sanjay Ghemawat 共同完成,可以参考下LevelDB的实现 。总结了解Bigtable,需要了解下LSM树,现在的数据存储引擎一般就是哈希、B树、LSM树 。像我们使用的mysql的InnoDB存储引擎就是B 树 。
推荐阅读
- 新孙膑铭文怎么搭配,王者荣耀新版孙膑铭文搭配详解
- 无烬圣龙黑金怎么获得,《妖神记》反派人物全面详解
- 详解卷积神经网络,cnn卷积神经网络
- 鬼鲛奥义怎么说,干柿鬼鲛决斗详解
- 盗墓笔记法宝怎么用,《盗墓笔记》装备详解和分析
- dnf国庆套什么时候多少钱,2020国庆套价格详解
- 怎么做贺卡?DIY立体纸艺贺卡做法及步骤图详解
- 如何下载丁香园上最新ppt,一文教你如何高效获取医药行业数据
- 如何建立账套?超详细操作方法及步骤图详解
- 一文带你了解车载,车载芯片
