700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mysql合并表查询 Bigtable和MapReduceGFS之间的关系是什么 – 数据库 – 前端 mysql 集群主从

mysql合并表查询 Bigtable和MapReduceGFS之间的关系是什么 – 数据库 – 前端 mysql 集群主从

时间:2019-11-15 10:21:35

相关推荐

mysql合并表查询 Bigtable和MapReduceGFS之间的关系是什么 – 数据库 – 前端 mysql 集群主从

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+树。

希望对你有所帮助,有帮助记得点赞哦!可以关注下,后面持续分享架构和Java的文章,谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。