10、Bigtable(三):SSTable存储引擎详解

你好,我是徐文浩。 在上一讲里,我们已经了解了Bigtable的整体架构,知道作为一个分布式数据系统,里面“分布式”的部分是怎么设计的了。那么,今天我就带你一起来详细深入到Bigtable的“数据”部分里,去看看它是怎么回事儿。而且今天的这一讲,我们...

大数据经典论文解读

11、通过Thrift序列化:我们要预知未来才能向后兼容吗

你好,我是徐文浩。 现在,我们已经解读完了GFS、MapReduce以及Bigtable这三篇论文,这三篇论文之所以被称为Google的三驾马车,一方面是因为它们发表得早,分别在2003、2004和2006年就发表了。另一方面,是这三篇论文正好覆盖了...

大数据经典论文解读

12、分布式锁Chubby(一) :交易之前先签合同

你好,我是徐文浩。 在过去的十几讲课程里,我带你一起学习完了GFS、MapReduce,以及Bigtable这三篇被称之为Google的“三驾马车”的论文。不知道你有没有发现,这三篇论文有一个共同点,那就是这三个系统都是一个单Master系统。而这就...

大数据经典论文解读

13、分布式锁Chubby(二) :众口铄金的真相

你好,我是徐文浩。 上一讲里,我为你解析了两阶段提交和三阶段提交是怎么回事儿。相信你和我一样,对这两种解决方案都不太满意。虽然它们可以帮助我们实现一个分布式的事务,但同时也有着很明显的缺陷:这两个都是一个“单点”特别明显的系统,一旦作为单点的“协调者...

大数据经典论文解读

14、分布式锁Chubby(三) :移形换影保障高可用

你好,我是徐文浩。 过去的两讲里,我们都在尝试做一件事情,就是在Master和Backup Master之间保持数据的同步复制。无论是通过分布式事务的两阶段提交算法,还是通过分布式共识的Paxos算法,都是为了做到这一点。 而我们要去保障Master...

大数据经典论文解读

15、Hive:来来去去的DSL,永生不死的SQL

你好,我是徐文浩。 通过过去几篇论文的解读,相信现在你已经深入掌握好了大数据系统的基本知识。而在Google的这些论文发表之后,整个工业界也行动起来了。很快,我们就有了开源的GFS和MapReduce的实现Hadoop,以及Bigtable的实现HB...

大数据经典论文解读

16、从Dremel到Parquet(一):深入剖析列式存储

你好,我是徐文浩。 在解读Hive论文的过程中,我们看到Hive已经通过分区(Partition)和分桶(Bucket)的方式,减少了MapReduce程序需要扫描的数据,但是这还远远不够。 的确,MapReduce有着非常强的伸缩性,架起一个100...

大数据经典论文解读

17、从Dremel到Parquet(二):他山之石的MPP数据库

你好,我是徐文浩。 在上节课里,我们看到了Dremel这个系统的数据存储是怎么回事儿的。不过,只是一个支持复杂嵌套结构的列存储,还没有发挥Dremel百分之百的威力。像Hive也在2011年推出了自己的列存储方案RCFile,并在后续不断改进提出了O...

大数据经典论文解读

18、Spark:别忘了内存比磁盘快多少

你好,我是徐文浩。 过去几讲里,无论是Hive这样基于MapReduce的系统,还是Dremel这样抛开MapReduce的系统,其实都已经反映了MapReduce这个大数据处理的计算模型,在2010年这个时间节点已经有一些“落后”了。来自Faceb...

大数据经典论文解读

19、Megastore(一):全国各地都能写入的数据库

你好,我是徐文浩。 大数据技术一开始,更像一个专有系统。但是随着时间的推移,工程师们越来越多地让这些大数据系统支持上了SQL的特性。于是我们看到了Hive让大家可以用SQL来执行MapReduce任务,Dremel这样的系统更是一开始就支持了SQL。...

大数据经典论文解读