1.背景

分布式计算的发迹应该是google在2003年发表的三篇paper。各自是GFS、MapReduce、BigTable。

当中MapReduce大家都非常熟悉了。不懂的同学也能够看看我之前写的文章【分布式计算】MapReduce的替代者-Parameter Server

为什么google会搞分布式计算这件事儿呢,由于在那个年代每天会产生几个T的日志,可是当时的磁盘仅仅同意存储几百G的文件,07年之前淘宝的全部数据都是用完就删除的,由于没地方存。后来,人们认识到数据是值钱的,所以须要一种存储策略来存储大数据。于是google就用了分布式存储系统。
这里主要介绍下GFS和BigTable。

2.DFS(相应hadoop的HDFS)

DFS是一种分布式文件存储系统。常规的文件系统是树状结构存储的,每一个文件有一个指针指到磁盘上的某个区域。
早期的DFS是单点结构的。有一个master节点负责管理每一个文件的namespace(文件存储在哪个机器的哪个磁盘上。如s3/dick2)。要存储一个非常大的数据。例如说一个10P的数据,首先是切片,例如说依照64M切片。每一个block存在某一个机器的某个磁盘上。总体的结构例如以下:
这里面就会衍生出三个问题,
       第一个是master节点假设挂了,整个文件系统就不能work了,这个是单点的一个缺陷。

       第二个问题是,一但slave中的某个磁盘破损了,磁盘破损率在2%左右,也就是每天都有破损的。这里有一个冗余机制,就是每一个block会分配到多个磁盘上备份~
       第三个问题是,磁盘是不停的被读写的,master是怎样获得每一个磁盘的信息的,这个功能依赖于一种叫做heart-beat的机制,每隔几秒钟,master就要遍历每一个slave得到它们的最新状况。

3.BigTable(相应Hadoop的HBase)

假设说DFS是磁盘级别的分布式存储。那么BigTable就是内存级别的分布式存储。

BigTable的存储结构是HashTable,以key-value的形式存储。

应用场景是一些在线的service。

例如说GoogleEarth,每一个地名(key)会相应一系列的meta(value),世界上有无数个地名,这是一个非常大的文件。假设从磁盘中拿,例如说输入一个巷子的名字,过10分钟用户才干拿到结果。这是不能接受的。我们须要将这些key-value做成cache缓存在内存中。显然单机内存的极限。例如说300G也是无法缓存这么大的文件的。这就须要多个机器一起缓存,这个策略就是BigTable。

可是,一但一个机器出现failover的情况。整个缓存就出现了gap,BigTable有一个机制就是,不断地将文件underfile到DFS中。防止文件丢失。

/********************************

* 本文来自博客  “李博Garvin“

* 转载请标明出处:http://blog.csdn.net/buptgshengod

******************************************/

【分布式计算】DFS && BigTable的更多相关文章

  1. [MapReduce] Google三驾马车:GFS、MapReduce和Bigtable

    声明:此文转载自博客开发团队的博客,尊重原创工作.该文适合学分布式系统之前,作为背景介绍来读. 谈到分布式系统,就不得不提Google的三驾马车:Google FS[1],MapReduce[2],B ...

  2. Dynamo和Bigtable对比

    数据结构化问题        首先要提到的是两者存储数据属性上的区别,虽然两者都是以key/value形式进行存储,但Dynamo偏向存储原数据,因为其所存储的数据是非结构化数据,对value的解析完 ...

  3. Google MapReduce/GFS/BigTable三大技术的论文中译版

    今天查找分布式计算的有关资料,发现Google的三大核心技术MapReduce.GFS和BigTable的论文都已经被翻译成高质量的中文,更巧的是,这三篇中译版的原发地都是CSDN的Blog.其中最新 ...

  4. 大数据基础知识:分布式计算、服务器集群[zz]

    大数据中的数据量非常巨大,达到了PB级别.而且这庞大的数据之中,不仅仅包括结构化数据(如数字.符号等数据),还包括非结构化数据(如文本.图像.声音.视频等数据).这使得大数据的存储,管理和处理很难利用 ...

  5. 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)

    大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...

  6. [IR] Bigtable: A Distributed Storage System for Semi-Structured Data

    良心博文: http://blog.csdn.net/opennaive/article/details/7532589 这里只是基础简述 众人说: 链接:http://blog.csdn.net/o ...

  7. 分布式计算(一)Ubuntu搭建Hadoop分布式集群

    最近准备接触分布式计算,学习分布式计算的技术栈和架构知识.目前的分布式计算方式大致分为两种:离线计算和实时计算.在大数据全家桶中,离线计算的优秀工具当属Hadoop和Spark,而实时计算的杰出代表非 ...

  8. 分布式计算开源框架Hadoop入门实践

    目录(?)[+] Author :岑文初 Email: wenchu.cenwc@alibaba-inc.com msn: cenwenchu_79@hotmail.com blog: http:// ...

  9. 分布式系统漫谈一 —— Google三驾马车: GFS,mapreduce,Bigtable

    分布式系统学习必读文章!!!! 原文:http://blog.sina.com.cn/s/blog_4ed630e801000bi3.html 分布式系统漫谈一 —— Google三驾马车: GFS, ...

随机推荐

  1. 聊聊、Nginx 参数合法性

    我们接着上篇文章来讲讲 ngx_get_options 函数. 这个函数就在 nginx.c 文件中,我们来看看. 参数 argc,argv 我们在前面的文章中都已经提到了,在这里我们看 ngx_ge ...

  2. js时间格式化工具,时间戳格式化,字符串转时间戳

    在开发中经常会用到时间格式化,有时候在网上搜索一大堆但不是自己想要的,自己总结一下,写一个时间格式化工具方便以后直接使用,欢迎大家来吐槽…… 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  3. 用java通过键盘输入若干个int,直到输入#结束

    转 import java.util.ArrayList; import java.util.Scanner; public class Test { public static void main( ...

  4. Java众神之路(1)-语言介绍

    Java语言介绍 1.Java的历史 我个人认为,学习一种技术,不止要关注技术本身,也应该去了解一下它的发展史,这一方面是对技术本身的尊重,另一方面也是希望能够通过该技术的发展历史推测出其未来可能的发 ...

  5. SpringBoot jackson传入List引起的坑

    一.jackson无法解析value为[]的json 当入参为{xxxx1:[1,2,3],xxxx2:[obj1,obj2,obj3]}时,springmvn controller接收入参写为Lon ...

  6. maven项目中配置mvn源

    在pom.xml中配置 <repositories> <!--for others--> <repository> <id>alimaven</i ...

  7. Docker 通俗易懂的入门

    这篇转的文章讲的通俗易懂,算个入门的东西了- 转自:http://www.csdn.net/article/2014-07-02/2820497-what's-docker 尽管之前久闻Docker的 ...

  8. css选择器浅谈

    css选择器有很多,种类的话总结起来有5种.即: id选择器,class选择器,elements选择器,级联选择器,相邻选择器. 前三个没什么好说的,分别是id,class和标签的选择,注意选中对象的 ...

  9. Chrome 浏览器如何完美实现滚动截图技巧

    一.前言 我们平时在浏览网页时,想把碰到好的网页内容或者文章截屏保存,但是网页的长度常常会超出屏幕高度,一般的截屏功能只能截取显示在屏幕上的内容,那我们该如何方便快捷截取全部内容?今天就分享一个如何利 ...

  10. 深入了解Entity Framework框架及访问数据的几种方式

    一.前言 1.Entity Framework概要 Entity Framework是微软以ADO.NET为基础所发展出来的对象关系映射(O/R Mapping)解决方案.该框架曾经为.NET Fra ...