2022年5月25日
オープンソース・ソフトウェアは、趣味やアマチュアの開発者が好むというイメージがありますが、そのビジネスの世界では、かなり以前からミッション・クリティカルな環境におけるオープンソースの採用が進んでいます。
企業がオープンソース・ソフトウェアを選択する理由には、以下のようなものがあります。
オープンソースの最大のメリットは、大規模で熱心な開発者コミュニティがあることだと言えるでしょう。最も人気のあるオープンソース・プロジェクトには、膨大な数の開発者がいて、パッチを当てたり、テクノロジーを改善したりしています。開発者がオープンソースに惹かれるのは、その優れた競争力と革新的な機能によるものであり、従来のソフトウェアが生み出すものと比べると、特に高い価値があります。
オープンソースは、自社でソフトウェアを構築するための開発リソースやITリソースを社内に持たない企業には、特に有益です。また、そのようなリソースを持つ企業は、オープンソースを利用することで、従業員がより興味を持って働けるような最先端のテクノロジーを提供することができます。
オープンソースのテクノロジーには、大きな期待が寄せられています。しかし、課題がないわけではありません。2016年のNorth Bridge and Black Duck Future of Open Source Studyによると、33%近くの企業が既知のオープンソースの脆弱性を特定、追跡、修正するプロセスを持たず、セキュリティ脅威にさらされている可能性があるとのことです。
オープンソースは、ビッグ・データ・コミュニティにとってとても有益な存在でした。オープンソース・ソフトウェアは、すぐに使えるコードで、企業による製品の迅速な市場投入を可能にしてきました。しかし、常にある程度のリスクを抱えてきました。2014年に発見された、OpenSSLのセキュリティ脆弱性Heartbleedは、そうした脆弱性の一例に過ぎません。
オープンソースソフトウェアは、多くの人が参加できる利点がある反面、通常のプログラミング上のミスやセキュリティ上のミスが発生しやすいという欠点があります。多くのソフトウェア技術者はオープンソースの使用状況を把握しておらず、その結果、セキュリティやコンプライアンス上のリスクに直面している可能性があることを多くの企業が認識していません。
オープンソースを十分に活用し、効果を発揮させるためには、ほとんどの企業で、ある程度の統合とサポートが必要です。しかし、オープンソースはある意味、完成されることがないため、これは言うは易く行うは難しです。常に、新たな取り組みがあります。また、オープンソースの製品は、必ずしも使い勝手が良いとは言えないことが多々あります。オープン・ソースの使用にはトレーニングが必要な場合があります。また、既存のアプリケーションやハードウェアとの互換性も懸念されます。ほとんどの企業は、別の会社を通じてオープン・ソースを採用することになります。
Oracle、Databricks、DataStaxなどの企業は、このようにオープンソースと連携しています。これらの企業は、オープンソースを企業に導入し、完全に使用可能にしました。これらの企業は、コミットやその他の様々な改善を通じてオープンソースの価値を高めるので、大きなメリットがあります。
2017年のオープン・ソース・サミットで、Linux創始者のLinus Torvalds氏は企業の影響力と企業の開発者がオープン・ソース・プロジェクトで行う作業に理解を示し、歓迎しました。「オープンソースの企業があることはとても重要なこと」と述べる同氏は、以下のように語りました。「それが、私がとても嬉しく思っていることです。」
2017年、オラクルはオープン・ソース・ソフトウェアの開発と維持に大きな役割を果たすトップ35社に選出されました。2010年のSun Microsystemsの買収により、オラクルは世界で最も人気のあるオープン・ソース・テクノロジーを受け継ぎました。オラクルのオープン・ソースのビッグ・データ・テクノロジーのサポートは、過去数年間でオラクルにとって主要な成長促進要因の1つです。Oracleは、オープン・ソースの開発と基盤を引き続きサポートしています。
ビッグ・データに関しては、オラクルは特にオープン・ソース・ソフトウェアとの連携を積極的に行っています。次のセクションでは、オラクルがビッグ・データ・プラットフォームのさまざまな領域でどのようにオープンソースを使用しているかについて説明します。Oracleでは、ビッグ・データを操作するには、次の3つの重要なステップが必要です。
ビッグ・データのお客様の多くは、特にオープンソースの提供を求めています。オラクルは、オープンソースの開発、サポート、および普及に取り組んでいます。Oracle Data Integration や Oracle GoldenGate などのオラクルのデータ・インテグレーション製品には、他の多くのプラットフォームとともに、オープン・ソース・テクノロジーが含まれています。
また、オープンソースのフレームワークやそれを支えるテクノロジーは常に変化しているため、多くのお客様が最新化したいと考えていることも認識しています。データ・インテグレーション面では、現在、約25種類のオープンソース・テクノロジー、データ・ソース、ターゲット、実行フレームワークをサポートしています。私たちがサポートするテクノロジーには、以下のようなものがあります。
最近、お客様が注目しているのは、ビッグ・データ製品の成熟度です。考慮すべき最も重要な要素の1つは、ベンダーがビッグ・データ・フレームワークに関して納得のいくサポート戦略を有しているかです。ベンダーがオープンソース・テクノロジーへのコミットメントを軽く考えていないことが重要です。
製品の成熟度とともに、ビッグ・データのビジネス・ソリューションは、通常、オープンソースと非オープンソースが混在することになります。企業はビッグ・データの問題をオープンソースで解決してきましたが、それには多大なコミットメントと献身、そして専門知識が必要です。
オープンソース・テクノロジーは、理にかなっていれば活用できますし、そうすべきです。しかし、ほとんどの場合、他のさまざまなベンダーのテクノロジーとも提携する必要があります。
例えば、データレイク構築の初期、企業はKafkaのような多くの入力を取り込み、多くの出力に分配できる製品を活用したいと望んでいました。しかし、Kafkaの信頼性と堅牢性を高めるには、オラクルのGoldenGateのようなテクノロジーが必要でした。GoldenGateはオープン・ソースではありませんが、SqoopとKafkaのような製品を使用するよりも、Sqoopよりもはるかに堅牢で成熟した製品であるGoldenGateをKafkaと一緒に使用した方が、データ・レイクのインジェスト・オプションとしてはより適切です。
データ管理の観点から、オラクルのビッグ・データ製品スタックは、オープンソースに大きく基づいています。
オラクルは、オープンソースのイノベーションを活用し、お客様に提供する機能をよりよくコントロールするために、この方法を選択しました。ビッグ・データでは、スタック内に複数のコンポーネントが存在し、継続的に進化していきます。そのため、私たちは独自のオープンソースHadoopディストリビューションを持つという決断をしました。
またオラクルは、オープンソース・ソフトウェアを使用することで、お客様により良いサポートを提供することができると考えています。同時に、他のソフトウェア・エコシステムでも、興味深いオープンソース・プロジェクトが開発され、進化していることも把握しています。だからこそ、オラクルはさまざまな開発コミュニティに貢献し続けることができるのです。例えば、オラクルの開発では、オブジェクト・ストアをデータレイクとして利用するように進化しています。
オラクルは、オープンソース・コミュニティに積極的に貢献し、より良いパフォーマンスと機能を実現するために、自社のIPの一部をお客様に提供しています。
オラクルでは、Rを採用しただけではなく、実際に改良を加えています。オラクルがサポートするオープンソースRの再配布(無償ダウンロード)は、データベースやHadoopでの実行に対応し、並列化したため高速化されました。
Rは、単一マシンではなく、複数のノードやクラスタ上で実行できるため、お客様はサンプリングに頼ることなく、より多くのデータセットでより大きく、より複雑なアルゴリズムを実行することができます。オラクルがRを改良したことで、ユーザーはRの構文を使用でき、その下にスケーラブルでパフォーマンスの高いさまざまな実装を提供できるようになりました。
さらに、オラクルはRに以下のような改善を施しました。
オラクルはHadoopの分野にも進出しており、Hive用のRインタフェースを導入しています。
オラクルのR、Hadoop、およびオープンソースへの取り組みは、テクノロジーに関するものだけではありません。2015年にRコミュニティがR Consortiumを創設したとき、オラクルは創設メンバーとして参加しました。Rコンソーシアムは、Rオープンソース・コミュニティにメリットとサポートを提供するために設立されました。オラクルは、Rの成長と発展を継続的に支援しており、Rパッケージの品質に関するベストプラクティスの採用を奨励してきました。
Oracle SpatialとOracle Graph Analytic Servicesおよびデータ・モデルは、Apache HadoopおよびNoSQLデータベース・テクノロジー上でのビッグ・データ・ワークロードをサポートします。どちらも、オープンソースのライブラリやコンポーネントを取り入れて、より充実したサービスを提供しています。オラクルは、主にApacheベースのプロジェクトで、これらのコンポーネントのいくつかを、インフラストラクチャを目的に使用しています。
オラクルは、この関係を相互に有益なものと考えています。例えば、空間/グラフ側の分析はカスタム・ビルドですが、そのプロセスを加速させたのは、お客様向けの分析のための質問をより迅速に実行できるように、グラフ・データ分析のドメイン固有言語であるGreen-marlというオープンソース・プロジェクトをベースにしているためです。
オラクルがオープンソースに貢献する場合、通常、オープンソースを活用し、カスタマイズし、強化します。オラクルのオープンソースに対する貢献の一例をご紹介します。