转载一篇关系数据库与Hadoop的关系的文章

1. 用向外扩展代替向上扩展

扩展商用关系型数据库的代价是非常昂贵的。它们的设计更容易向上扩展。要运行一个更大

的数据库,就需要买一个更大的机器。事实上,往往会看到服务器厂商在市场上将其昂贵的高端机

标称为“数据库级的服务器”。不过有时可能需要处理更大的数据集,却找不到一个足够大的机器。

更重要的是,高端的机器对于许多应用并不经济。例如,性能4倍于标准PC的机器,其成本将大大

超过将同样的4台PC放在一个集群中。Hadoop的设计就是为了能够在商用PC集群上实现向外扩展

的架构。添加更多的资源,对于Hadoop集群就是增加更多的机器。一个Hadoop集群的标配是十至

数百台计算机。事实上,如果不是为了开发目的,没有理由在单个服务器上运行Hadoop。

2. 用键/值对代替关系表

关系数据库的一个基本原则是让数据按某种模式存放在具有关系型数据结构的表中。虽然关

系模型具有大量形式化的属性,但是许多当前的应用所处理的数据类型并不能很好地适合这个模

型。文本、图片和XML文件是最典型的例子。此外,大型数据集往往是非结构化或半结构化的。

Hadoop使用键/值对作为基本数据单元,可足够灵活地处理较少结构化的数据类型。在hadoop中,

数据的来源可以有任何形式,但最终会转化为键/值对以供处理。

3. 用函数式编程(MapReduce)代替声明式查询(SQL )

SQL 从根本上说是一个高级声明式语言。查询数据的手段是,声明想要的查询结果并让数据库引擎

判定如何获取数据。在MapReduce中,实际的数据处理步骤是由你指定的,它很类似于SQL

引擎的一个执行计划。SQL 使用查询语句,而MapReduce则使用脚本和代码。利用MapReduce可

以用比SQL 查询更为一般化的数据处理方式。例如,你可以建立复杂的数据统计模型,或者改变

图像数据的格式。而SQL 就不能很好地适应这些任务。

4.

分布式文件系统(dfs)和分布式数据库都支持存入,取出和删除。但是分布式文件系统比较暴力,

可以当做key/value的存取。分布式数据库涉及精炼的数据,传统的分布式关系型数据库会定义数据元

组的schema,存入取出删除的粒度较小。

分布式文件系统现在比较出名的有GFS(未开源),HDFS(Hadoop distributed file system)。

分布式数据库现在出名的有Hbase,oceanbase。其中Hbase是基于HDFS,而oceanbase是自己内部

实现的分布式文件系统,在此也可以说分布式数据库以分布式文件系统做基础存储。

转自csdn  yuanxiaopang ,应该也是转载的,来自图书的前言什么的,文件系统转载自知乎 ,作者egral

hadoop与mysql的区别_数据库与hadoop与分布式文件系统的区别和联系相关推荐

  1. nchar在mysql是什么_数据库char,varchar,nchar类型区别

    数据库char,varchar,nchar类型区别 1.char 类型是一个字节 char(8)只能存8字母,char定长,不足长度加SPACE 2.nchar  类型是双字节 nchar(8)能存8 ...

  2. Hadoop实战(6)_搭建Apache Hadoop的Eclipse开发环境

    系列目录: Hadoop实战(1)_阿里云搭建Hadoop2.x的伪分布式环境 Hadoop实战(2)_虚拟机搭建Hadoop的全分布模式 Hadoop实战(3)_虚拟机搭建CDH的全分布模式 Had ...

  3. mysql数据库的行级锁有几种_数据库行级锁和表锁区别

    MyISAM和InnoDB MyISAM MyISAM使用B+tree作为索引结构,叶节点存放的是数据地址. MyISAM不支持事务和外键. MyISAM是表锁,对数据库写操作时会锁住整个表,效率低. ...

  4. mysql 时间 设计模式_数据库时间设计模式

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. mysql变红_数据库变成红色紧急

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. mysql schema和database_数据库中的Schema和Database的区别

    在mysql中创建一个Schema和创建一个Database的效果好像是一样的,但是在sqlserver和orcal数据库中效果又是不同的,目前我只能理解为在mysql中schema<==> ...

  7. 各类分布式文件系统的区别和概述 | HDFS、GFS、Ceph、TFS、Moosefs、IPFS等

    文章目录 参考 分布式文件系统定义 各类系统对比图 各类文件系统简介 shepdog shepdog基本架构 Ceph FastDFS fastDFS介绍 Tracker server 追踪服务器 S ...

  8. 数仓和mysql的区别_数据库和数据仓库的区别和联系

    数据库与数据仓库的区别和联系https://www.zhihu.com/video/1252167793992593408 在以往我们和客户的沟通过程中,大家经常会问到这样的一个问题,数据库和数据仓库 ...

  9. mysql内连接和外连接的区别_数据库左连接、右连接、内连接、全连接区别

    基本定义: left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录. right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录. inner j ...

最新文章

  1. Linux下mysql支持中文,linux下mysql环境支持中文配置步骤
  2. 操作系统安全加固原理
  3. 5. extjs 中buttonAlign什么意思
  4. 深度揭秘:大数据时代企业卖技术还是卖数据?
  5. 5种比较流行的Linux发行版
  6. 新概念英语(1-11)Is this your shirt ?
  7. java.lang.class_关于Java.lang.Class的一些疑问
  8. vrml行走和静止的人代码_CAE二次开发的核心不是代码
  9. 买了一个鼠标一个交换机,京东分别快递了发票
  10. html5 3d gallery,使用jQuery制作3d画廊房间
  11. c语言int转为dint,【转】IQMATH使用
  12. HTAP的下一步?SoTP初探(上):从“大”数据到“小”而“宽”数据
  13. LoRa自动组网实现方案
  14. day 83 Vue学习三之vue组件
  15. unity 实现物体破碎效果的一些方法 - 细雨淅淅
  16. 使用docker安装RAP2心得
  17. BootstrapTable之千分位分隔符设置
  18. C# LINQ标准查询操作符
  19. java.sql.SQLNonTransientConnectionException Public Key Retrieval is not allowed
  20. 51信用卡2018校园招聘编程题学习

热门文章

  1. spring源码解析bean定义五ContextNamespaceHandler一
  2. HTML5客户端数据存储机制Web Storage和Web SQL Database
  3. OpenCV3.1.0+VS2013测试程序
  4. 编译型语言VS解释型语言、动态语言、静态语言
  5. laravel按月/时间区间查询数据
  6. javascript ES3小测试
  7. 汽车的盲区在哪里?这几张图让你一眼看懂
  8. swift获取图片像素颜色值
  9. Congestion解决办法
  10. QueryPerformanceFrequency使用方法--Windows高精度定时计数