(合计1286字,用时40min——)
1.5 相较于其他系统的优势
(资料图片)
1.5.1 关系型数据库管理系统
原理:
寻址时间的提升远远不敌于传输速率的提升;
寻址是将磁头移动到特定硬盘位置进行读/写操作的过程;
它是导致硬盘操作延迟的主要原因,而传输速率取决于硬盘的带宽;
如果数据访问模式中包含大量的硬盘寻址,那么读取大量数据集就必然会花更长的时间(相较于流数据读取模式,流读取主要取决于传输速率);
如果数据库系统只更新一小部分记录,那么传统的B树(关系型数据库中使用的一种数据结构,受限于寻址的速率)就更有优势;
数据库系统如果有大量数据更新时,B树的效率就明显落后于MapReduce,因为需要使用“排序/合并”(sort/merge)来重建数据库。
适用范围:
在许多情况下,可以将MapReduce是为关系型数据库管理系统的补充;
MapReduce比较适合解决需要以批处理方式分析整个数据集的问题,尤其是一些特定目的的分析;
RDBMS适用于索引后数据集的点查询(point query)和更新,建立索引的数据库系统能够提供对小规模数据的低延迟数据检索和快速更新;
MapReduce适合一次写入、多次读取数据的应用,关系型数据库则更适合持续更新的数据集。
关系型数据库和Hadoop系统之间的关系:
关系型数据库已经开始吸收Hadoop的一些思想;
诸如Hive这样的Hadoop系统不仅变得更具交互性(通过从Hadoop中脱离出来),而且增加了索引和事务这样的特性,使其看上去更像传统的关系型数据库。
概念:
结构化数据(structured data):是具有既定格式的实体化数据,如XML文档或满足特定预定义格式的数据库表——这是RDBMS包括的内容;
半结构化数据(semi-structured data):比较松散,虽然可能有格式,但经常被忽略,所以它只能作为数据结构的一般性指导——例如电子表格,它在结构上是由单元格组成的网格,但是每个单元格内可以保存任何形式的数据;
非结构化数据(unstructured data):没有什么特别的内部结构——例如纯文本或图像数据。
结构化程度:
Hadoop对非结构化或半结构化数据非常有效,因为它是在处理数据时才对数据进行解释(即所谓的“读时模式”);
—这种模式在提供灵活性的同时避免了RDBMS数据加载阶段带来的高开销,因为在Hadoop中仅仅是一个文件拷贝操作。
规范:
关系型数据库往往是规范的(normalized),以保持其数据的完整性且不含冗余;
规范给Hadoop处理带来了问题,因为它使记录读取称为非本地操作,而Hadoop的核心假设之一偏偏就是可以进行(高速的)流读/写操作。
其他区别:
Hadoop也能够做连接(join)操作,只不过这种操作没有在关系型数据库中用的多;
MapReduce以及Hadoop中其他的处理的处理模型是可以随着数据规模线性伸缩的——对数据分区后,函数原语(如map和reduce)能够在各个分区上并行工作——
如果输入的数据量是原来的两倍,那么作业的运行时间也需要两倍;
如果集群规模扩展为原来的两倍,那么作业的运行速度却仍然与原来一样快;
SQL查询一般不具备该特性。
上一篇:全球球精选!机构:2023年会议平板市场进入恢复性增长阶段
下一篇:最后一页