2018 年, 关于大数据基础设施的讨论不再围绕使用高质量的数据布局算法减少网络流量的方法展开. 相反, 现在有更多关于如何可靠地降低分布式存储成本的讨论.
传统的 Hadoop 架构是建立在相信通过大规模分布式数据处理获得良好性能的唯一途径是将计算带入数据. 在本世纪初, 这确实是事实. 当时, 典型的企业数据中心的网络基础架构不能完成在服务器之间移动大量数据的任务, 数据必须与计算机共存.
现在, 企业数据中心的网络基础设施以及公有云提供商的网络基础设施不再是大数据计算的瓶颈, 是时候将 Hadoop 的计算与存储解耦. 不少行业分析师也认识到了这一点, 正如最近 IDC 关于分离大数据部署计算和存储的报告中指出:
"解耦计算和存储在大数据部署中被证明是有用的, 它提供了更高的资源利用率, 更高的灵活性和更低的成本." - Ritu Jyoti,IDC
2018 年, 关于大数据基础设施的讨论不再围绕使用高质量的数据布局算法减少网络流量的方法展开. 相反, 现在有更多关于如何可靠地降低分布式存储成本的讨论.
Hadoop 开源社区最近引入了 Apache Hadoop 版本 3.0, 即便被 Gartner 连续唱衰, 但 Hadoop 发布的 3.0 版本还是有不少值得注意的改进. 这一版本的发布也将计算和存储解耦的讨论推向舆论高峰. Hadoop 3.0 的一个关键特性是 Hadoop 分布式文件系统 (HDFS) 的 Erasure Coding (擦除编码). 作为历史悠久的 HDFS 3x 数据复制的替代方案, 在配置相同的情况下, Erasure Coding 与传统 3x 数据复制相比, 可以将 HDFS 存储成本降低约 50%.
在过去几年, Hadoop 社区已经讨论了 Erasure Coding 将为 HDFS 带来的潜在存储成本的降低. 鉴于过去十年在硬件和网络方面的进步, 许多人质疑 3x 数据复制是否有存在的意义. 现在, HDFS Erasure Coding 已经从根本改变了 Hadoop 的存储经济性 --Hadoop 社区也最终承认这一事实: 数据不必与计算位于同一位置.
为了了解这个结果有多么戏剧性, 我们可以比较一下 2010 年雅虎发布的关于 Hadoop 扩展的性能数据, 并将其与 HDFS 和 Erasure Coding 进行比较.
如下的幻灯片上呈现的是 DFSIO 基准测试, 读取吞吐量为 66 MB / s, 写入吞吐量为 40 MB / s.Sort 基准测试的性能数据是基于非常仔细的调优之后获得的. 曾经, 在 HDFS 中使用 3x 复制被认为是数据保护和性能提高的强大工具.
在如下的幻灯片上, 同样基于 DFSIO 基准, 具有 3x 复制的 HDFS 读取吞吐量为 1,262MB / s, 而对于使用 Erasure Coding(6+3 Striping)的 HDFS, 读取吞吐量为 2,321MB / s. 这是 30 个同步映射器, 并没有提到仔细的应用程序调优! HDFS 使用的 3x 复制现在被视为实现 (有限) 数据可靠性的陈旧, 昂贵和不必要的开销.
带有 Erasure Coding(EC)的 HDFS 利用网络为每个文件读写. 这也在间接承认网络不是性能的瓶颈. 事实上, HDFS EC 的主要性能影响是由于其 CPU 周期消耗而非网络延迟. 总的来说, 这表明存储成本显著降低(在这种情况下, 可降低 6 美元 / TB), 而不会牺牲性能.
即便接连被不看好, 但 Hadoop 依旧是大数据领域坚实的底层基础. 随着新版本被正式推入生产环境, Hadoop 生态也开始逐渐壮大, 取其精华, 去其糟粕, Hadoop 生态一直在努力改善表现不佳的组件, 并不断根据新的业务需求进行扩展, Hadoop 生态或许并不是老了, 而是成熟了.
来源: http://bigdata.51cto.com/art/201805/572837.htm