在裸机云上运行大数据分析

大数据分析可以定义为处理复杂数据集以发现市场趋势、相关性和隐藏数据模式的技术和过程的集合。它使组织能够做出明智的商业决策,并帮助研究人员验证他们的科学模型。

大数据分析已经成为所有业务的重要组成部分,无论是财务分析、零售、广告还是医疗保健。全球数据量呈指数级增长,预计从今年的33ZB跃升至2025年的175ZB。这不仅创造了巨大的机遇,也对运行大数据分析的基础架构提出了巨大的要求,并给数据工程师带来了新的挑战。

Analytics(分析)工作量有什么独特之处?

首先,让我们就分析工作负载的定义达成一致。科特·莫纳什认为,“分析是交易的反义词。”虽然事务处理(OLTP)的特征是少量的离散操作、每秒大量的事务和严格的数据完整性,但分析工作负载的特征通常是用户较少,用户对数据源的操作更复杂,消耗大量资源。

在幕后发生了巨大的并行性,并且通过使计算尽可能接近数据来最小化数据移动。大量数据、复杂模型和计算都是由分布式系统完成的——所有这些都给执行这些任务的基础架构带来了真正的负担。

在裸机云上运行大数据分析@

考虑过渡到云?

构建和维护您的大数据分析堆栈不是闹着玩的,因此公司经常选择将其分析工作负载迁移到云中,以降低复杂性并提高运营效率。根据经验,在准备向云过渡时,有两点需要考虑:数据存储和数据处理。

要存储的数据山

对于大数据项目,首先要考虑的是分布式数据存储。参照布鲁尔定理,分布式数据存储不能同时提供两个以上的保证:一致性、可用性或分区容限。因此,最好选择两个。一如既往,选择取决于您的应用。

为了保持大数据轮旋转,需要高度可扩展、高效且经济高效的存储。几乎总是有某种类型的NoSQL数据库——今天,你可以选择超过225个NoSQL数据库。

还记得布鲁尔定理吗?这时你开始做出牺牲。如果您可以容忍某些数据不可用的风险(牺牲可用性),那么您可以采用一个具有简单查询功能的高度灵活且易于扩展的文档数据库,例如MongoDB。如果您的客户可能读取不一致的数据(牺牲一致性),这并不是什么大不了的事情,那么您可能需要选择一个容错且可线性扩展的数据库,例如Cassandra。

当您考虑使用传统的关系数据库管理系统(如MySQL或PostgreSQL)并牺牲分区容忍度时,甚至还有一些特殊的用例。尽管这可以验证您的专家身份,但它可能会涉及数据库碎片,并且几乎不可能处理非结构化数据。让我们只使用SQL来查询数据仓库,对吗?

无论您选择哪个数据库,大多数数据库都可以在商用硬件上运行良好。尽管所有超大规模云提供商现在都在提供托管数据库服务——其中一些不愿意让开源成为中指——但当优秀的开源产品出现时,他们不需要被困在自己的生态系统中。

例如,您可以使用硬盘、固态硬盘或NVMe直连存储在裸机云上运行MongoDB集群,导致每个节点上的输入/输出操作激增。此外,如果你是一个真正的速度爱好者,你可能需要建立一个内存数据库,如Ignite或Redis。

让我们处理数据!等等,但是如何?

data是新石油,并非没有理由。我们喜欢数据;它帮助我们更好地理解事物并揭示可行的观点。为此,我们必须以这样或那样的方式处理数据。

首先是Hadoop,它基于MapReduce计算范式的批处理计算框架。生活是美好的,当工程师们扩展他们的大数据集群并采用大规模并行时,我唱歌。每个节点对分配给它的映射数据执行一个给定的缩减函数,因此处理大量数据块变得容易。

这也是谷歌启动搜索引擎的方式。随着时间的推移和大数据行业的成熟,Hadoop生态系统迅速扩展,并引入更多抽象层来解决新问题。它仍然是当今数据行业中最重要和最常用的工具,您可以在简单的商业服务器上轻松运行。只要确保您的节点上有快速、直接连接的存储,因为Hadoop MapReduce是磁盘绑定的。

虽然批处理是一个非常强大的概念,但是我们首先需要存储数据进行处理。当您想要开始使用连续数据流进行实时预测时,这会带来困难。要使算法股票交易或野火监控正常工作,数据必须一目了然。显然,我们需要一个不同的范例,Apache Spark站在流处理创新的最前沿。

该项目最初旨在解决Hadoop在流分析方面的弱点。Spark没有文件管理系统,因此它依赖于HDFS或任何其他存储集群。它从集群中读取数据,一步完成操作,然后将数据写回集群。这可能比Hadoop快100倍,因为Spark默认在内存中运行。为星火集群选择合适的基础架构时,请寻找强大的内存。

像大多数伟大的技术一样,斯巴克已经改变了很多。目前,它是一个统一的分析引擎,具有强大的交互式查询、图形处理和迭代算法。例如,您可以轻松构建机器学习工作流,并使用Spark上最流行的一些算法遍历数据集和构建机器学习模型。如今,它甚至可以处理批处理作业。斯巴克最大的优点是什么?它是完全免费的。

云还是不云

好吧,你口袋里只有这些强大的开源工具。现在,您需要为项目选择合适的基础设施。如果您购买裸机服务器并在本地托管,您可以利用原始基础架构的大部分优势,但这需要大量前期资本投资和进一步的维护成本。

虽然这个选项对于大企业来说仍然是相当可观的,但是中小型企业必须更加敏捷。另一方面,租用基础设施是一个更方便的选择,因为你不用投资硬件就可以按使用付费。假设您最终决定迁移到云。但是选择哪一个呢?

每个超大规模提供商,无论是AWS、Azure还是GCP,都有广泛的托管服务组合,可以服务于大数据社区,从托管数据库到集成的机器学习框架。这似乎是一个通用的解决方案,但是他们的大多数托管服务与他们的免费开源服务具有大致相同的功能。如果您仍然希望从基础架构中完全抽象出来,并将其锁定在提供商中,那么您可以准备好接收不断增长的发票并使用复杂的定价计算器。有趣的是,即使是云经济学家的角色也能帮助你解决AWS发票问题。

好的,所以你想要完全控制你的云堆栈,并且总是有选择它驻留在哪里的自由。如前所述,开源技术如Hadoop和Spark在商业硬件上运行良好,所以主要问题是选择哪个基础设施作为服务提供商。历史上,典型的云产品包括虚拟机,这些虚拟机拥有超额订购的硬件资源,并且经常导致工作负载变化和增加的安全风险。尽管云服务生态系统已经大大扩展,但基础架构服务仍然严重依赖虚拟机管理程序。

块上的裸金属云

裸机云不同。没有底层虚拟化层,您仍然拥有完全自动化的基础架构配置。这很好,有几个原因。首先,所有服务器都是严格意义上的单个租户,您是整个计算机的唯一所有者。单身生活不会带来太多乐趣,但在云中很棒:你没有吵闹的邻居,没有硬件超额预订,没有虚拟机管理程序开销,安全风险更低。简而言之,裸机云是托管资源密集型应用程序的更清洁方式。裸机云对于需要强大基础架构和增强安全性的数据分析工作负载来说是无与伦比的。

裸机的原始马力

在裸机上运行大数据集群可以给您带来更多优势。RESTful应用编程接口使得在几分钟内扩展和缩小服务器变得容易,这在运行分布式系统时至关重要。如果没有虚拟化和硬件超额预订,您可以以最大容量运行应用程序,并且仍然具有稳定的工作负载。如果这还不够,您可以根据需要定制服务器硬件。Hadoop集群只有在构建机器学习模型时,通过添加GPU加速器、添加内存来扩展内存数据库或者将NVMe存储放入服务器,才能快速发展。你还能从哪里得到如此简单的专用硬件?裸机云可以通过消除虚拟机管理程序开销和引入定制硬件,按需为您提供最高效的基础架构。原始而简单。

增强的隐私和安全性

在大数据世界中,安全性非常重要。可以理解,您需要相应地选择基础架构。处理敏感数据通常意味着您必须存储和处理个人身份信息(PII),并遵守法律法规。确保您的供应商符合GDPR的要求或获得行业认可的认证(如国际标准化组织27001)始终是一个好主意。此外,在法律上,您有义务拥有一个私有的、孤立的基础设施。裸机云本质上是一个租户,您不必为此付出任何代价。

遵守法律很重要,但系统安全也很重要。在大数据上,分布式计算集群应该在节点之间私下移动数据。为此,您通常需要一个专用网络子网。在裸机云中,每台服务器都会自动分配一个专用网络接口。这使您能够在10G带宽的快速安全局域网上内部处理数据。

数据传输便宜100倍

当然,您试图使计算尽可能接近数据的位置。当你的数据集很大时尤其如此,因为移动计算比移动数据便宜。但是,您仍然需要将数据移入和移出群集。超大规模提供商吹嘘他们的数据传输价格很低,从每TB 50美元到超过100美元不等,但是在裸机云上,您可以以每TB 1美元的价格在互联网上来回发送数据。这完全不同,不是吗?

现在由您决定

市场上仍然只有少数裸机云提供商,甚至更少的提供商能够提供完全自动化且易于定制的基础架构。因此,如果您计划用下一件大事征服世界,请考虑选择一个更加灵活、高效和经济高效的云平台来升级您的大数据应用程序。

极牛网精选文章《在裸机云上运行大数据分析》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/3501.html

(33)
打赏 微信公众号 微信公众号 微信小程序 微信小程序
主编的头像主编认证作者
上一篇 2019年11月15日 下午2:45
下一篇 2019年11月15日 下午2:48

相关推荐

发表回复

登录后才能评论
扫码关注
扫码关注
分享本页
返回顶部