雖然開放原始碼軟體的聲譽仍然是嗜好人和業餘開發者,但這個商業世界已經在任務關鍵環境中採納了開放原始碼,已經一段時間仍然存在。
公司選擇開源軟體的一些原因包括:
相反地,開放原始碼的最大優點之一就是它大型且著重於開發人員社群。最受歡迎的開源專案擁有大量的開發人員,致力於修補和改進技術。開發者的競爭功能和創新功能的開源軟體比傳統軟體能夠創造的產能特別有用。
開放原始碼對沒有內部開發或 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;實際上已經改善了 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 對開源的貢獻範例: