虽然开源软件有声誉成为业余爱好者和业余开发者,但这个商业世界在任务关键型环境中已经有一段时间了。
公司选择开源软件的一些原因包括:
可以说,开源最大的优势之一是它庞大而专注的开发者社区。最流行的开源项目有一个庞大的开发者基,致力于修补和改进技术。开发人员被吸引来获取其竞争特性和创新能力的开源,与传统软件可以创造的相比,这尤其有价值。
开源尤其有利于那些没有内部开发或 IT 资源来构建自己的软件的公司。或者,拥有这些资源的公司转向开源,为员工提供他们更感兴趣的领先技术。
开源技术有着大量的承诺。但这不是没有挑战。根据 2016 年北桥与黑鸭未来开源研究报告,近 33% 的公司没有识别、跟踪或补救已知开源漏洞的流程,这可能会让他们对安全威胁保持开放。
开源对大数据社区非常有利。借助它随时可用的代码,开源软件使公司能够更快地将产品推向市场。但它一直存在一定风险。OpenSSL 2014 年的心脏安全漏洞只是其漏洞的一个例子。
尽管有许多贡献者获得了好处,但开源软件对普通的编程错误和安全混淆是不可取的。大多数软件工程师不会跟踪开源使用,因此许多公司不知道他们可能面临的安全和合规风险。
为了使开源完全可用和有效,大多数企业需要将其整合并在一定程度上获得支持。这比所做的要简单,因为从某种意义上说,开源永远不会完成。总是有新的工作要做。此外,开源产品通常不容易使用。使用开源软件可能需要培训。与现有应用程序和硬件的兼容性是另一个问题。大多数公司最终通过另一家公司采用开源技术。
Oracle、Databricks 和 DataStax 等公司一直以这种方式与开源技术合作。这些公司为企业带来了开源,使其完全可用。这有很大的好处,因为这些公司通过提交和各种其他改进为开源增加价值。
在 2017 年的开源峰会上,Linux 创始人 Linus Torvalds 了解了企业在开源项目上的影响力并开展工作,并对此表示欢迎。“拥有开源公司非常重要,”他说。“这是我非常高兴的一件事。
2017 年,Oracle 被评为开发和维护开源软件的前 35 家企业。通过在 2010 年购买 Sun Microsystems,Oracle 继承了世界上一些广受欢迎的开源技术。我们对开源大数据技术的支持在过去几年中一直是我们的主要增长驱动力之一。Oracle 继续支持开源开发和基础。
就大数据而言,Oracle 尤其积极主动地使用开源软件。下一节将介绍 Oracle 如何在大数据平台的各个领域使用开源技术。在 Oracle,处理大数据涉及三个关键步骤:
我们的许多大数据客户都特别要求提供开源产品。Oracle 致力于开发、支持和推广开源技术。Oracle 数据集成产品(例如 Oracle Data Integration 和 Oracle GoldenGate)包括开源技术以及其他许多平台。
我们还注意到,许多客户希望实现开源框架的现代化,并注意到不断变化的支持技术。在数据集成方面,我们目前支持大约 25 种不同的开源技术、数据源、目标和执行框架。我们支持的一些技术包括:
如今,客户所看到的是他们的大数据产品的成熟程度。要考虑的最重要因素之一是供应商是否围绕大数据框架制定了可接受的支持策略。供应商对开源技术的承诺并不随意,这一点至关重要。
随着产品成熟,大数据业务解决方案通常将是开源和非开放源代码的组合。公司一直在使用开源解决方案解决大数据问题,但需要大量的承诺、奉献精神和专业知识。
您可以在需要时利用开源技术。但通常情况下,您还需要与其他各种供应商技术合作。
例如,在建立数据湖的早期阶段,公司希望利用像 Kafka 这样的产品,并能够获取许多投入并分发到许多输出。但让 Kafka 更可靠、更强大,需要 Oracle GoldenGate 等技术。虽然 GoldenGate 不是开源的,但 GoldenGate 和 Kafka 一起为数据湖提供了更好的摄取选项,而不是使用 Sqoop 等 Kafka 产品,因为 GoldenGate 是比 Sqoop 更强大和成熟的产品。
从数据管理的角度来看,Oracle 大数据产品堆栈主要基于开源技术。
Oracle 选择此方法来充分利用开源创新并更好地控制为客户提供的功能。利用大数据,堆栈中的多个组件不断发展。这就是为什么我们决定拥有自己的开源 Hadoop 分发。
我们还认为,通过使用开源软件,Oracle 可以为客户提供更好的支持。与此同时,我们知道,其他软件生态系统正在开发正在发展的有趣的开源项目。这就是为什么 Oracle 继续为许多不同的开发社区做出贡献的原因。例如,Oracle 的开发工作正逐渐发展为将对象存储用作数据湖。
Oracle 积极为开源社区做出贡献,并为客户提供我们自己的部分 IP 以提升性能和功能。
在 Oracle,我们不仅采用了 R,而且还实际得到了改善。Oracle 支持的开源 R(免费下载)重新分发与在数据库和 Hadoop 中运行兼容,并且现在变得更快,因为我们实现了并行化。
R 可以在多个节点和集群上运行,而不是在单个计算机上运行,因此客户可以在更多数据集上运行更大规模、更复杂的算法,而无需依赖采样。Oracle 对 R 的改进允许用户使用 R 语法并在其下方提供不同的实现,从而使其可扩展且高性能。
此外,Oracle 对 R 进行了以下改进:
Oracle 还扩展到了 Hadoop 空间,引入了适用于 Hive 的 R 接口。
Oracle 对 R、Hadoop 和开源的承诺不只是技术问题。当 R 社区在 2015 年创建了 R Consortium 时,Oracle 是创始成员。R Consortium 创立是为了向 R 开源社区提供利益和支持。Oracle 继续支持 R 的发展和开发,并鼓励采用 R 包质量的最佳实践。
Oracle Spatial 和 Oracle 图形分析服务和数据模型支持 Apache Hadoop 和 NoSQL 数据库技术上的大数据负载。同时引入开源库和组件来完善我们的产品。Oracle 已将其中多个组件用于基础设施,主要用于基于 Apache 的项目。
Oracle 将关系视为互利关系。例如,我们对空间/图形端的分析是定制的,但我们加快了这一过程,因为我们基于一个名为 Green-marl 的开源项目,这是一个特定于域的图形数据分析语言,这使我们能够更快地为客户运行分析问题。
当 Oracle 为开源做出贡献时,我们通常会利用开源技术、对其进行定制和增强。以下是 Oracle 对开源贡献的示例:
注:为免疑义,本网页所用以下术语专指以下含义: