Hadoop死了吗? 第二部分



本文的翻译是专门为数据工程师课程的学生准备的。


阅读第一部分

没人需要大数据


当您听到“没人需要大数据”时,请查看演讲者的简历。 一位经历惊人增长的非洲电信运营商不会与新的JavaScript Web开发人员联系,也不问他是否可以帮助开发其数据平台并优化计费计算。 您可以在航空公司总部找到许多内部Web应用程序,但是在分析PB遥测数据以进行预防性维护时,该项目中可能没有一个PHP开发人员。

上面的项目通常不会以使Web开发人员可以找到它们的方式发布。 这就是为什么有人可以花几年的时间来研究处于增长和数据积累方面处于其S曲线底部的新项目的原因,并且在大多数情况下,从来没有发现对数据处理的需求超出了可以在一台计算机上放入RAM。

在过去的25年中,Web开发一直是程序员数量增长的主要推动力。 大多数自称为程序员的人最经常创建Web应用程序。 我认为他们拥有的许多技能与数据设计所需的技能非常一致,但它们通常缺乏分布式计算,统计和讲故事的技能。

网站通常不会给任何一个用户带来沉重的负担,通常的目标是使支持大量用户的服务器上的负担保持在最大硬件阈值以下。 数据世界由工作负载组成,其中一个请求会尽一切可能最大限度地利用大量机器,并尽快完成工作,同时降低基础架构成本。

PB数据公司通常在其库中拥有经验丰富的顾问和解决方案提供商。 我很少见到有人被其雇主退出网络开发并转移到数据平台开发领域。 这几乎总是漫长的自我训练的结果。

该数据集可以存在于RAM中


我听说有人说“数据集可以容纳在内存中”。 最近,即使在云中,RAM的数量也显着增加。 存在具有2 TB RAM的EC2实例。 通常,RAM可以12-25 GB / s的速度使用,具体取决于安装的体系结构。 如果机器发生电源故障,仅使用RAM不能从故障中恢复。 此外,与使用驱动器相比,每GB的成本将是巨大的。

磁盘也越来越快。 最近宣布的是能够以15 GB / s的速度读写 PCIe 4.0 NVMe 4 x 2 TB SSD卡。 PCIe 4.0 NVMe驱动器的价格与RAM具有相当的竞争力,并将提供非易失性内存。 我迫不及待地希望看到使用这些驱动器的网络具有良好的HDFS群集,因为它将通过具有丰富现有Hadoop生态系统工具的非易失性存储来演示数据归档在内存中的外观。

工程超负荷


我不想花6位数或7位数来开发数据平台和一个团队,而这个团队的业务规模无法超出一位开发人员的笔记本电脑所能容纳的范围。

从工作流的角度来看,我的日子主要包括使用BASH,Python和SQL。 许多应届毕业生都具备以上条件。

Petquet数据Parquet可以轻松地分布在S3上的一百万个文件中。 与上述相关的计划并不比考虑如何在S3上存储100,000个微数据包文件复杂得多。 仅仅因为解决方案是可扩展的,并不意味着它是冗余的。

只是使用PostgreSQL?


我也听到过这样的论点,即像MySQL和PostgreSQL这样的面向行的系统可以满足分析工作负载及其传统事务性工作负载的需求。 这两项建议都可以通过分析来完成,如果您查看的数据少于20 GB,那么扩展可能就不值得了。

我必须使用每天向MySQL加载100亿行的系统。 在MySQL和PostgreSQL中,没有任何东西可以处理这样的负载。 在面向行的存储中,即使连续几天存储数据集的基础架构成本,也掩盖了员工成本。 切换到该客户端的列存储解决方案可减少基础架构成本,并将查询时间缩短两个数量级。

PostgreSQL有许多用于在多台计算机上存储和分发查询的插件。 我见过的最好的例子是商业报价。 宣布的Zedstore可能在某种程度上支持建立列存储作为标准的PostgreSQL内置功能。 有趣的是,将来单个请求的分配和存储的分离是否将成为标准功能。

如果您需要事务性数据集,那么最好使用事务性数据仓库来隔离此工作负载。 这就是为什么我期望MySQL,PostgreSQL,Oracle和MSSQL能够持续很长时间的原因。

但是您是否希望因为他们的Presto请求之一导致意外行为而在Uber中休息了4小时? 您想让您的公司了解每月计费的必要性,为什么您必须关闭网站一周,以便有足够的资源来执行此任务? 分析工作负载不应与事务工作负载相关联。 您可以通过在单独的基础架构中运行设备来降低运营风险并选择最合适的设备。

而且,由于您使用单独的硬件,因此无需使用相同的软件。 胜任的PostgreSQL工程师固有的许多技能非常适合面向分析的数据世界。 与网络开发人员跳入大数据空间相比,这是一个很小的步骤。

未来会是什么样?


在可预见的将来,我将继续分析和扩展我的数据技能。 在过去的12个月中,我一直在使用Redshift,BigQuery和Presto进行几乎相同数量的工作。 我尝试下注,因为我还没有找到预测指标的有效水晶球。

我真正期望的是更多的分散性,以及更多的参与者进入和离开该行业。 存在大多数数据库的原因,但是它们可以提供服务的用例可能有限。 同时,好的卖家可以扩大任何报价的市场需求。 我听说人们相信,建立具有商业质量的数据库大约需要1000万美元,而这可能是获得风险投资的最佳场所。

有许多建议和实现方式使客户产生不愉快的回味。 云价格标签也给我们带来了震惊。 有些解决方案不错,但是由于聘请专家的成本太贵了。 行业中的销售和营销专业人员将忙于讨论上述折衷方案。

Cloudera和MapR可能现在正处于困难时期,但我还没有听到这样的消息,我无法相信AWS EMR,DataBricks和Qubole可以与之竞争。 甚至Oracle也发布了Spark驱动的产品。 如果该行业在Hadoop中看到的不仅仅是Cloudera的产品,并且意识到这些公司以及Facebook,Uber和Twitter对Hadoop的世界做出了重大贡献,那将是很好的。

今年与Cloudera合并的Hortonworks是Azure HDInsight的平台提供商,由Microsoft Hadoop管理。 公司中有些人可以为第三方云服务提供商提供一个不错的平台。 我希望他们正在处理的任何提案都将专注于这种供应。

我怀疑Cloudera的早期客户是HBase,Oozie,Sqoop和Impala的用户。 很高兴看到他们没有为这么长的开发时间和即将与Airflow,Presto和最新版本的Spark一起发行的平台的未来版本竞争。

最后,如果您的公司计划部署数据平台,它将无法找到一个能彻底研究,仔细计划并快速识别故障的有远见的管理团队的替代者。

Source: https://habr.com/ru/post/zh-CN476908/


All Articles