当前是数据大爆发的时代,数的生成速度正在不断加快。
通过良好的设计,在同等算力下使得问题能够更快的解决。
随着数据量的不断膨胀,我们不再局限于将数据精准记录快速检查、更新的事务性数据库(关系型数据库),更希望能从全量数据中挖掘潜在价值,hadoop应运而生,haoop不仅可以对结构化的数据进行存储分析、更适用于半结构化、非结构化数据。 他相对于传统数据库而言有着明显的优势,是对传统数据库的补充。 他们相互弥补。
haoop上你可以轻松实现上亿条流水级别的关联,在关系型数据库上比较难办到,在关系型数据库中执行多半会报内存不足的。
传统的系统多依赖一个高性能的主机,单挑能力比较强。俗话说好汉架不住人多,并发的优势在于团战。随着硬盘的容量越来越大,但是读写速度却并没质的飞越(100MB/s)。我们从一块磁盘上读取1TB文件,需要2.5H。如果我们从100个硬盘上同时读取数据,那么2分钟就可以完成。 这就是并发带来的好处。
1、磁盘故障率:可以通过多磁盘备份数据(HDFS) 2、如何有效的组合这些分散的数据(MapReduce)
hadoop | RDBMS | |
---|---|---|
数据大小 | GB | PB |
数据存取 | 交互式和批处理 | 批处理 |
更新 | 多次读写 | 一次写入,多次读取 |
事务 | ACID | 无 |
结构 | 事实模式 | 读时模式 |
完整性 | 高 | 低 |
扩展性 | 非线性 | 线性 |
1、更短时间内完成大规模数据的读取和处理 2、需要运行在内部有高速网络连接的数据中心。 3、数据中心的计算机要可靠专业
数据存储在多个节点上。同一个任务被分配到不同的节点去做。当一个节点需要访问的数据量巨大时,就需要大量的网络传输,【网络带宽】即为重要的资源。
hadoop尽可能的将数据存储在本地进行计算,以减少网络传输数量。 系统需要检查各节点的运行状态(检查点),以及做好节点异常之后的数据恢复工作。
随着数据量的增加,不同系统的使用瓶颈在不断变化。当硬件水平突破的时候很多问题将会消失,但同时也会面临新的问题,我们需要做的是找到瓶颈。常见的瓶颈:存储(磁盘)、读写(io)、传输(网络)、计算(cpu)
在hadoop中cpu的使用并不是计算中的主要瓶颈、数据的传输才是。 因为数据量太大传输速度不够用。 如果是小范围数量的多次计算(CPU密集型)任务,
本文仅记录我学习haoop过程中的一些笔记,仅为读者分享Hadoop的基础知识和一些个人见解,不做任何商业活动,如需深入学习,请阅读原著《hadoop权威指南》