分布式数据库资料

2023-11-04

Hadoop是很多组件的集合,主要包括但不限于MapReduce,HDFS,HBase,ZooKeeper。MapReduce模仿了Google MapReduce,HDFS模仿了Google File System,HBase模仿了Google BigTable,ZooKeeper或多或少模仿了Google Chubby(没有前3个出名),所以下文就只提MapReduce、HDFS、HBase、ZooKeeper吧。

作者:林老师
链接:http://www.zhihu.com/question/19898246/answer/13289151
来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


简单来讲,
  • HDFS和HBase是依靠外存(即硬盘)的分布式文件存储实现和分布式表存储实现。HDFS是一个分布式的“云存储”文件系统,它会把一个文件分块并分别保存,取用时分别再取出、合并。重要的是,这些分块通常会在3个节点(即集群内的服务器)上各有1个备份,因此即使出现少数节点的失效(如硬盘损坏、掉电等),文件也不会失效。如果说HDFS是文件级别的存储,那HBase则是表级别的存储。HBase是表模型,但比SQL数据库的表要简单的多,没有连接、聚集等功能。HBase的表是物理存储到HDFS的,比如把一个表分成4个HDFS文件并存储。由于HDFS级会做备份,所以HBase级不再备份。
  • MapReduce则是一个计算模型,而不是存储模型;MapReduce通常与HDFS紧密配合。举个例子:假设你的手机通话信息保存在一个HDFS的文件callList.txt中,你想找到你与同事A的所有通话记录并排序。因为HDFS会把callLst.txt分成几块分别存,比如说5块,那么对应的Map过程就是找到这5块所在的5个节点,让它们分别找自己存的那块中关于同事A的通话记录,对应的Reduce过程就是把5个节点过滤后的通话记录合并在一块并按时间排序。MapReduce的计算模型通常把HDFS作为数据来源,很少会用到其它数据来源比如HBase。
  • ZooKeeper本身是一个非常牢靠的记事本,用于记录一些概要信息。Hadoop依靠这个记事本来记录当前哪些节点正在用,哪些已掉线,哪些是备用等,以此来管理机群。
GFS是分布式文件系统,BigTable 是建立在GFS之上的。就像文件系统需要数据库来存储结构化数据一样,GFS也需要Bigtable来存储结构化数据,每个Table都是一个多维的稀疏图,为了管理巨大的Table,把Table根据行分割,这些分割后的数据统称为:Tablets。每个Tablets大概有 100-200 MB,每个机器存储100个左右的 Tablets。底层的架构是:GFS。由于GFS是一种分布式的文件系统,采用Tablets的机制后,可以获得很好的负载均衡。比如:可以把经常响应的表移动到其他空闲机器上,然后快速重建。
既然如此,那在GFS之上,还可以有其他的类似BigTable的数据庫了?
不谈原理,从性质上来说,GFS是不是相当与NTFS,BigTable就是SQLSEVER?






相比较而言,
  • Storm本身主要是一个分布式环境下的实时数据计算模型,没有外存存储部分。Storm的应用场景是,数据来的特别快、并且要求随来随处理。比如Twitter服务器自身每秒收到来自全世界的推能达几千条,并且要求收到后还需立即索引,以供查询。这用传统的方法乃至Hadoop都是比较难的,因为外存的使用会带来较大的延迟,这时可以用Storm。Storm节点对内存中的数据进行操作,然后流出数据到下一个节点,以此来维系节点间的协作、达到高速协同处理。
  • Storm有一个总的控制节点Nimbus来与ZooKeeper交流、进行集群管理。
  • Storm还没有做到数据备份,这是它的不足(2013年Update: 较新的Storm已引入了类事务的概念,会有重做的操作来保证数据的处理)。


所以,Hadoop和Storm都是分布式环境下的计算平台,不过前者依赖外存,适应批处理情形,后者依赖内存,适应实时处理、超低延迟、无需大量存储数据情形。前类出现的时间较早(03年GFS的论文),后类出现的时间较晚(10年Yahoo! S4的论文)。我不大赞同“Storm改进了Hadoop的缺点”的说法——这种说法有点像“轮船改进了汽车的哪些缺点”——因为它们本身即不太同类。Storm和Hadoop有很多相似也有很多区别,适用的场景是不一样的,主要取决于使用者自己的需求。

*上面很多叙述方法是为了读者的更好理解,不尽完全准确,比如HBase是有内存缓冲机制的,并非只依赖外存,再比如Nimbus实质上是某个节点上的守护进程,而非节点本身。

最终,关于这几者各自具体是什么,我的建议是读下列论文:
  • 2003 The Google file system
  • 2005 MapReduce: Simplified data processing on large clusters
  • 2008 TheBigtable: A distributed storage system for structured data Google file system
  • 2010 S4: distributed stream computing platform
  • 2011 Fast Crash Recovery in RAMCloud
和Storm的主页: nathanmarz/storm · GitHub中wiki的Rational页。
1、针对标题问题。BigTable是有部分关系模型支持的,更像是表,底层存储是GFS。与Mapreduce的关系就跟GFS与MapReduce的关系没啥区别吧。 2、针对内容问题,没有仔细看storm,但是从大致个人了解来说,storm是一个为支持实时计算的框架。而Hadoop是更适用于… 显示全部
1、针对标题问题。BigTable是有部分关系模型支持的,更像是表,底层存储是GFS。与Mapreduce的关系就跟GFS与MapReduce的关系没啥区别吧。
2、针对内容问题,没有仔细看storm,但是从大致个人了解来说,storm是一个为支持实时计算的框架。而Hadoop是更适用于批量计算。不太同类,没啥好比较的吧。

至于 MapReduce,则是 Google 提出的一种分布式开发模型,可以简单理解为算法


作者:林老师
链接:http://www.zhihu.com/question/19898246/answer/13289151
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分布式数据库资料 的相关文章

  • Hadoop Core、HBase 、ZooKeeper

    adoop HBase ZooKeeper三者关系与安装配置 复制链接 qqjue 论坛徽章 18 电梯直达 1
  • Hypertable 快速安装,仅需上载一个RPM包,零编译

    Hypertable 快速安装 仅需上载一个RPM包 零编译 Hypertable 快速安装 仅需下载一个RPM包 零编译 本文采用 单机安装 1 Hypertable 安装 Hypertable 的几种安装方式 单机 安装于单机 采用本地
  • Hadoop 2.4.0+zookeeper3.4.6+hbase0.98.3分布式集群搭建

    Hadoop 2 4 0 zookeeper3 4 6 hbase0 98 3分布式集群搭建 博客分类 hadoop Ip 主机名 程序 进程 192 168 137 11 h1 Jdk Hadoop hbase Namenode DFSZ
  • 分布式系统一致性研究,paxos算法

    感谢eric的敦促 感谢shuai的感召 我尝试记录一点混乱的思考 什么是分布式系统 毋庸置疑 Internet和DNS是两个典型的成功的分布式系统 那么 分布式系统是不是就是计算机网络 1990年 Sun Microsystems 公司提
  • 开源大数据利器汇总

    所有分类 gt 服务器软件 gt 分布式 云计算 大数据 开源大数据利器汇总 开源 2015 05 21 21 00 00 发布 您的评价 0 0 收藏 0收藏 类别 名称 官
  • 阿里云数据库配置IP白名单操作方法(以MySQL为例)

    阿里云数据库RDS创建成功后 首次连接访问RDS需要配置IP白名单 在阿里云RDS控制台即可配置IP白名单 阿里云百科来详细说下阿里云服务器RDS配置白名单的方法 阿里云服务器配置IP白名单 阿里云百科以MySQL云数据库为例 RDS My
  • Hbase split的三种方式和split的过程

    Hbase split的三种方式和split的过程 在Hbase中split是一个很重要的功能 Hbase是通过把数据分配到一定数量的region来达到负载均衡的 一个table会被分配到一个或多个region中 这些region会被分配到
  • Spanner vs. F1:谷歌两大数据管理利器的整体对比及关联 2016-05-22 20:36 757人阅读 评论(0) 收藏 举报 目录(?)[+] http://www.csdn.net/a

    Spanner vs F1 谷歌两大数据管理利器的整体对比及关联 2016 05 22 20 36 757人阅读 评论 0 收藏 举报 目录 http www csdn net article 2013 10 10 2817138 f1 a
  • 分布式系统设计的求生之路

    作者 作者 Simon 腾讯后台开发高级工程师 链接 http wetest qq com lab view id 105 著作权归作者所有 商业转载请联系WeTest获得授权 非商业转载请注明出处 分布式系统理念渐渐成为了后台架构技术的重
  • 分布式数据库资料

    Hadoop是很多组件的集合 主要包括但不限于MapReduce HDFS HBase ZooKeeper MapReduce模仿了Google MapReduce HDFS模仿了Google File System HBase模仿了Goo
  • Hash算法的使用

    Hash算法的使用 标签 默认分类 发表时间 2011 08 06 06 35 作者 GliderX khsing 分享到 出处 http hi baidu com gliderx 在对语料文本进行2 3元切分时 需要借助hash表来获得切
  • 分布式查找过程[HBase]Region location

    HBase的table是该region切分的 client操作一个row的时候 如何知道这个row对应的region是在哪台Region server上呢 这里有个region location过程 主要涉及到2张系统表 ROOT META
  • 一、MapReduce已死,Spark称霸

    一 MapReduce已死 Spark称霸 2014 09 17 11 20 王家林 Spark亚太研究院 字号 T T 综合评级 想读 35 在读 13 已读 2 品书斋鉴 0 已有50人发表书评 Spark亚太研究院系列丛书 Spark
  • Hypertable sql

    First create a new namespace called Test CREATE NAMESPACE Test and make it the current namespace USE Test Now let s crea
  • HBase介绍(列存储)

    HBase介绍 列存储 2013 11 26 23 25 5871人阅读 评论 2 收藏 举报 分类 云存储 2 Hbase简介 started by chad walters and jim 2006 11 G release paper
  • Hypertable 简介 一个 C++ 的Bigtable开源实现

    1 Introduction 随着互联网技术的发展 尤其是云计算平台的出现 分布式应用程序需要处理大量的数据 PB级 在一个或多个云计算平台中 成千上万的计算主机 如何保证数据的有效存储和组织 为应用提供高效和可靠的访问接口 并且保持良好的
  • 分布式数据库需要考虑的(BigTable VS Dynamo)

    分布式数据库需要考虑的 BigTable VS Dynamo 在设计 评价分布式数据库的时候需要考虑一些最基本的特性 我想这些特性可能包括 1 存储系统 一种是类似BigTable将存储交给GFS去做 GFS会保证写入数据的完整 另外一种是
  • 1.1.3 Hadoop生态系统

    1 1 3 Hadoop生态系统 2013 05 08 09 38 16 我来说两句 收藏 我要投稿 本文所属图书 gt Hadoop技术内幕 深入解析Hadoop Common和HDFS架构设计与实现原理 Hadoop技术内幕共两册 分别
  • 云数据库知识学习——概述

    一 云计算是云数据库兴起的基础 云计算是分布式计算 并行计算 效用计算 网络存储 虚拟化 负载均衡等计算机和网络技术发展融合的产物 云计算是由一系列可以动态升级和被虚拟化的资源组成的 用户无需掌握云计算的技术 只要通过网络就可以访问这些资源
  • hadoop使用(五)

    博客园 闪存 首页 新随笔 联系 管理 订阅 随笔 247 文章 122 评论 571 hadoop使用 五 第1章 引言 1 1 编写目的 对关于hadoop的文档及资料进行进一步的整理 1 2 相关网站 毋庸置疑 http hadoop

随机推荐

  • iMazing高效便捷的数据转移功能

    近几年来iMazing设备管理工具被广大苹果用户所青睐 相比苹果的另一个设备管理工具iTunes iMazing更具有操作简单 易掌握的优势 iMazing支持将iOS手机数据备份到电脑 支持将数据恢复到苹果设备中 也支持将手机数据转移到其
  • python 注意事项(—)

    1 优先级高于 1 Since has higher precedence than 3 2 will be interpreted as 3 2 and thus result in 9 To avoid this and get 9 y
  • ChatGPT的Fine-tuning是什么?

    fine tuning基本概念 Fine tuning 微调 是指在预训练过的模型基础上 使用特定任务的数据进行进一步的训练 以使模型更好地适应该任务 在ChatGPT的情况下 Fine tuning是指在预训练的语言模型上使用对话数据进行
  • dyld: Library not loaded:

    dyld Library not loaded 问题 在使用阿里的开源库LazyScrollView的时候出现的这个问题 本地Xcode11 4 1 真机调试 dyld Library not loaded rpath LazyScroll
  • centos查看系统名称、架信息

    centos查看系统名称 架构 hostnamectl
  • 将一个数组中的元素向后移动k位

    设计一个算法 将数组A 0 n 1 中的元素循环右移K位 假设原数组序列为 a0 a0 an 2 an 1 移动后的序列为 an k an k 1 a0 a1 an k ab k 1 要求只用一个元素大小的附加存储 元素移动或变换次数与n线
  • Python 利用Turtle模块绘制国际象棋棋盘

    使用Turtle模块绘制国际象棋棋盘 使用语言 Python 3 7 3 思路 国际象棋是8 8的一个个小正方形 或者说是9横9纵的线组成 作画的时候 先做9横9纵的线 再填上灰色的小正方形 即可完成 本次画的棋盘边长为160 160 1
  • Hive中LIKE和RLIKE的区别

    1 LIKE和RLIKE的使用示例 SELECT name LIKE Alice FROM table1 表示选择name列内以ALICE作为结尾的数据 相同的功能使用RLIKE实现如下 SELECT name RLIKE Alice FR
  • docker commit 命令

    简介 在软件开发中经常需要保存软件状态 比如git 中每次提交的代码都会有版本号 可以根据提交的版本号进行恢复 docker中通过docker commit 命令提供了一个保存镜像状态的方式 使用 比如有一镜像 adaptor 1 通过do
  • cmd怎么另起一行_西语毕业论文怎么写?西语资料去哪儿找?

    西语毕业论文怎么写 西语资料去哪儿找 1 论文结构 西语 学位论文包括前置 主体 附录等三个部分 以下细节无固定先后之分 视具体学校要求而定 1前置 1 封面 由论文 中 西 文题目 姓名 学号 专业 班级 指 导老师姓名和职称 时间组成
  • 数据结构系列——栈 stack

    本期主题 数据结构之 栈 往期链接 数据结构系列 先进先出队列queue 目录 1 栈定义 2 使用动态数组实现栈 3 有趣的例子 1 栈定义 栈是什么 定义 一个后进先出的数据结构 LIFO last in first out 插入操作称
  • 美国地质调查局SRTM--30米DEM数据

    美国地质调查局 USGS SRTM DEM数据 0 简介 1 数据下载 1 1网址 https lpdaac usgs gov https lpdaac usgs gov 1 2搜索 SRTM 以列表展示 选择SRTMGL1 003 1 3
  • 转--Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )

    题目 PRML读书会第十章 Approximate Inference 近似推断 变分推断 KL散度 平均场 Mean Field 转自 http blog csdn net nietzsche2015 article details 43
  • 使用波束搜索的端到端神经网络系统中的上下文语音识别(论文翻译)

    摘要 最近的研究表明 端到端 E2E 语音识别体系结构 如Listen attent和Spell LAS 可以在LVCSR任务中获得最先进的质量结果 这种体系结构的一个优点是它不需要单独训练的发音模型 语言模型和声学模型 但是 这个属性也引
  • Redis 高可用之持久化

    目录 Redis 高可用 Redis 持久化 RDB 持久化 触发条件 执行流程 启动时加载 修改配置文件 AOF 持久化 配置 执行流程 命令追加 append 文件写入 write 和文件同步 sync 文件重写 rewrite 文件重
  • Unity实现一个可扩展的UGUI无限滑动列表控件

    12月20日新增 增加一个可收缩的滑动列表 适用于游戏中的任务系统 成就等 使用说明 创建时需要两个模板slot 一个是button 另一个则是btn下显示的cell 配置如下图添加ExpandableView脚本 新增的IsDefault
  • Python环境配置

    1 python下载 下载地址 https www python org downloads 找到3 10以上的包下载 2 Pycharm下载 Pycharm下载 选择社区版本的下载就够用 3 Pycharm配置Python环境 Proje
  • 华为鸿蒙4本周发布:官方海报大有玄机!告别“人工智障”!

    一年一度的华为开发者大会2023 HDC Together 将于8月4日至8月6日在东莞松山湖举办 相比去年 今年的华为开发者大会足足提前了三个月 而本次大会主角之一无疑是全新国产操作系统鸿蒙4 HarmonyOS 4 官方之前用了三个词来
  • git查看、修改远程仓库地址

    查看 远程仓库 git remote v 修改 git remote set url origin gitUrl 再查看 git remote v 输出已修改过得git仓库地址 即为完成
  • 分布式数据库资料

    Hadoop是很多组件的集合 主要包括但不限于MapReduce HDFS HBase ZooKeeper MapReduce模仿了Google MapReduce HDFS模仿了Google File System HBase模仿了Goo