数据库与hadoop与分布式文件系统的区别和联系

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

1. 用向外扩展代替向上扩展 
扩展商用关系型数据库的代价是很是昂贵的。它们的设计更容易向上扩展。要运行一个更大
的数据库,就须要买一个更大的机器。事实上,每每会看到服务器厂商在市场上将其昂贵的高端机
标称为“数据库级的服务器”。不过有时可能须要处理更大的数据集,却找不到一个足够大的机器。
更重要的是,高端的机器对于许多应用并不经济。例如,性能4倍于标准PC的机器,其成本将大大
超过将一样的4台PC放在一个集群中。Hadoop的设计就是为了可以在商用PC集群上实现向外扩展
的架构。添加更多的资源,对于Hadoop集群就是增长更多的机器。一个Hadoop集群的标配是十至
数百台计算机。事实上,若是不是为了开发目的,没有理由在单个服务器上运行Hadoop。 
2. 用键/值对代替关系表 算法

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

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

型。文本、图片和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架构

相关文章
相关标签/搜索