为什么使用Hadoop生态系统处理大数据而不是高性能关系型数据库
面对这样的问题,不知道大家会什么样的思考,建议大家先思考一下然后带着自己的答案,在来看看我的看法。当然,这只是我个人的见解并非绝对的标准,其实这也没有一个固定的答案。
在设计使用分布式Hadoop生态系统,如使用HDFS进行冗余、高容错地存储大数据、使用MapReduce分布式并行离线处理大数据等。而没有使用高效性能的关系型数据库,尽管关系型数据库可以快速处理用户事务数据,可以实现较为复杂的表间关联操作等。首先,是因为考虑磁盘瓶颈的原因,磁盘读写最大的瓶颈就是处理速度,如今的磁盘一般可能在100MB/S或者可能再好一些,但是就是这样的读取速度,如果要读取1TB的数据大约要2.5小时。那么面对如今动辄几百TB,有时甚至是更加庞大的PB级数据(随着数据量增大,更加大级也必然到来)。因为磁盘是寻址读取方式,而且通常是要读取所有的数据才能进行操作,可想如果是几百TB的数据,那么可能就读取就需要几百上千个小时。那么如果能把数据分散在多台机器上并行读取那么理论上其速度必然是大幅度提升,如1TB存放在100个磁盘上,那么每个存放10GB的数据,读取完1TB数据大约需要100S。而且HDFS提供的是流式数据处理,也就是数据读取部分即可处理而并非读取所有数据。可能会问这样怎么对数据做整体操作,这个问题被考虑在MapReduce框架中,因为MapReduce计算框架