你好,Hadoop
为什么不能用配有大量硬盘的数据库来进行大规模数据分析?为什么需要用 Hadoop?
- 如果数据访问模式中包含大量的硬盘寻址,那么读取大量数据集就会必然会花更长的时间(相较于流数据读取模式,流读取主要取决于传输速率)。
- 如果数据库系统只更新一小部分记录,那么传统的 B 树更有优势。但数据库系统中如果有大量数据更新时,B 树的效率就明显落后于 MapReduce,因为需要使用“排序/合并”(sort/merge)来重建数据库。
Hadoop 相关开源项目
- 数据格式:Avro、Parquet
- 数据读取:Flume、Sqoop
- 数据处理:Pig、Hive、Crunch、Spark
- 存储:HBase
- 协作:ZooKeeper