这些问题的答案来自磁盘的另一个发展趋势:寻址时间的提高远远慢于传输速率的提高。寻址是将磁头移动到特定磁盘位置进行读写操作的过程。它是导致磁盘操作延迟的主要原因,而传输速率取决于磁盘的带宽。

如果数据访问模式中包含大量的磁盘寻址,那么读取大量数据集所花的时间势必会更长(相较于流式数据读取模式),流式读取主要取决于传输速率。另一方面,如果数据库系统只要更新一小部分,那么传统的B树更有优势(关系型数据库中使用的一种数据结构,受限于寻址的比例)。但数据库系统更新大部分数据时,B树的效率比MapReduce低的多,因为需要使用“排序/合并”来重建数据库

hadoop数据库获取当前时间 hadoop数据库读取大量数据_结构化

MapReduce和关系型数据库之间的另一个区别在于他们所操作的数据集的结构化程度。结构化数据是具有既定格式的实体化数据,诸如xml文档或满足特定预定义格式的数据库表。这是RDBMS包括的内容。另一个方面,半结构化数据比较松散,虽然可能有格式,但经常被忽略,所以它只能用作对数据结构的一般指导。例如,一张电子表格,其结构是由单元格组成的网格,但是每个单元格自身可保存任何形式的数据。非结构化数据没有什么特别的内部结构,例如纯文本或图像数据。MapReduce对于非结构化或半结构化数据非常有效,因为在处理数据时才对数据进行解释。换句话说:MapReduce输入的键和值并不是数据固有的属性,而是由分析数据的人员来选择的。

hadoop数据库获取当前时间 hadoop数据库读取大量数据_数据_02