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

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

大数据经典论文解读

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

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

大数据经典论文解读

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

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

大数据经典论文解读

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

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

大数据经典论文解读

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

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

大数据经典论文解读

9、Bigtable(二):不认识“主人”的分布式架构

你好,我是徐文浩。上一讲里我们一起分析了如何对一个MySQL集群进行扩容,来支撑更高的随机读写请求。而在扩容过程中遇到的种种不便,也让我们深入理解了Bigtable的设计中需要重点解决的问题。 第一个问题,自然还是如何支撑好每秒十万、乃至百万级别的随...

大数据经典论文解读

8、Bigtable(一):错失百亿的Friendster

你好,我是徐文浩。 过去两周,我们一起看完了GFS和MapReduce的论文。相信这个时候的你一定自信满满,有一种“我上我也行”的感觉。的确,GFS和MapReduce通过非常简单的设计,帮助我们解决了海量数据的存储、顺序写入,以及分布式批量处理的问...

大数据经典论文解读

7、MapReduce(二):不怕失败的计算框架

你好,我是徐文浩。 通过上节课的学习,现在你已经知道MapReduce的编程模型是怎么回事儿了。对于开发者来说,你只需要写一个Map函数和一个Reduce函数,就能完成数据处理过程。具体这些任务用了多少服务器,遇到了失败是怎么解决的,你并不需要关心。...

大数据经典论文解读

6、MapReduce(一):源起Unix的设计思想

你好,我是徐文浩。 在解读完GFS的论文之后,相信你现在对“分布式系统”已经有了初步的了解。本质上,GFS是对上千台服务器、上万块硬盘的硬件做了一个封装,让GFS的使用者可以把GFS当成一块硬盘来使用。 通过GFS客户端,无论你是要读还是写海量的数据...

大数据经典论文解读

5、The Google File System (三): 多写几次也没关系

你好,我是徐文浩。在前面的两讲中,我们一起探讨了GFS系统设计中秉持的两个原则,分别是“保持简单”和“根据硬件特性设计系统”,而今天我们要讨论的GFS的最后一个设计特点,是“放宽数据一致性的要求”。 分布式系统的一致性要求是一个很有挑战的话题。如果说...

大数据经典论文解读
11415161718268