X

Big Data、Data Integration、Data Lakeに関するテクノロジー、製品・サービス情報、セミナー情報などをお届けします

オブジェクトストレージ それはデータレイクの新しい選択肢

オンプレミスが第一の選択肢であった時代においてデータレイクにとってHadoopが支配的なポジションを占めていました。しかし、今日の急速に変化する技術の世界では、新しいアプローチが普及しつつあります。それはApache Spark クラスタとオブジェクトストレージの組み合わせによるものです。

この記事では、このアプローチの背景を掘り下げ、なぜクラウド時代における最適な選択肢であるのか解説していきます。

クラウド時代に求められるデータレイク

2000年代初頭に誕生したApache Hadoopは、ビッグデータ用の基盤として着実な成果を上げてきました。
特に、ここ5年は、機械学習ブームも相まり確固たるデファクトの地位を築いてきました。

様々なエコシステムが特徴のHadoopですが、主たる機能としては2つあります。
データ蓄積層である分散ファイルシステムのHDFSとデータ処理層である分散処理フレームワークのMapReduceです。
データドリブンで成功を収める企業が増えてくるにつれ、一般企業でもデータ蓄積の機運が高まり、システムログ、クリックストリーム、センサおよびマシンデータなど
新しいデータソースを気軽に保存できる箱としてHDFSが人気を博しました。
ゲームチェンジャーとして認知されたHadoopは、汎用ハードウェアを集めて、オンプレミスにクラスタを構築するというスタイルで急速な広がりを見せました。

クラウドでも同じアーキテクチャが正しいのか?

Sparkの出現

Object Storage and Big Data

Hadoopの長所は、分散技術ですが、それは同時にボトルネックでもありました。
数千台規模に成長したクラスタは、ハードウェアの故障が頻発し、コスト削減のために導入したHadoopの運用が大変だという声があがりました。
そこで、ハードウェアの保守から解放されるクラウド上のIaaS環境にHadoopクラスタを構築するというスタイルが始まりました。
また、同時期にOSSの世界も進歩し、MapReduceより新しいフレームワークとしてApache Sparkが登場してきました。
Sparkは概念的にはMapReduceに似ています。しかし、主な違いはディスクではなくメモリ内のデータを処理するように最適化されていることです。
もちろん、これはSparkで実行されるアルゴリズムは圧倒的に高速であることを意味します。
今日においては、SparkはMapReduceにとってかわり、分散処理フレームワークの第一選択肢となっています。

Sparkは多くのHadoopディストリビューションにバンドルされているため、HDFSとセットで利用されるケースが多いです。
オンプレミスの環境では、Hadoopとの同居が最適解でしたが、はたしてクラウド時代においては、どうでしょうか。
クラウドの登場により、データを永続化させるためのより良いアプローチがあります。
それはオブジェクトストレージです。

改めてオブジェクトストレージおさらい

オブジェクト内にファイルデータを保持し、オブジェクト内ではメタデータにより情報が管理されています。そのため、通常のファイルシステムで使用される階層構造が不要です。使用できるメタデータには制限がなく、すべてがフラットなアドレス空間に配置され、スケーラビリティの確保が容易です。比較的大きなコンテンツも取り扱うことが可能で、安定したスループットを提供します。データを複数リージョンにまたがって保存し、ペタバイト以上の無制限に拡張できます。

多くの企業において、コンプライアンスの都合上保管しなければならない、大量の構造化されていないデータの長期保管場所としてオブジェクトストレージが選択されます。
しかし、コンプライアンスの理由だけではなく、企業はオブジェクトストレージを利用して、様々な非構造データを格納しはじめました。それはなぜでしょうか?
答えは明確でコストです。一般的にオブジェクトストレージは、通常のブロックストレージに対して1/3~1/5程度のコストです。すなわち、HDFSにデータを保存する場合は、オブジェクトストレージに対して3~5倍のコストが発生することを意味します。

ここまでに、SparkはMapReduceより高速であり、オブジェクトストレージはHDFSより安価であるという話をしてきました。以後、その組み合わせイメージをご紹介します。

オブジェクトストレージにSparkに組み合わせる

オブジェクトストレージとSparkの組み合わせは、Hadoopより弾力性のあるアーキテクチャです。Hadoopは、データローカリティのポリシーの元、ディスクとCPUをセットでクラスタ構成を行います。性能面については有利である一方、ノード追加やリバランス処理などクラスタ管理の苦労が絶えません。
一方でクラウド環境であれば、ディスク(オブジェクトストレージ)とCPU(Spark)を分離して動的に環境が用意であるため、データ保持するだけであればオブジェクトストレージを利用し、データ処理の必要があるタイミングだけ動的にSparkのクラスタを構成し、処理を行うというアーキテクチャが可能になります。.

この新しいアーキテクチャがもたらすもの

1. オブジェクトストレージ + Spark = ビジネスのアジリティ

CPUリソースを必要な時に必要な時だけ利用するといった、クラウドの最大のメリットを享受できる構成です。動的なリソース配置により、固定的なクラスタより、性能的/コスト的な優位性があります。Sparkクラスタを利用しない時は、クラスタをオフにしておくうことが出来、当然その間はコストが発生しないためです。その分、処理時のみに短期集中でCPUを割り当てることが性能優位性をもたらします。
オブジェクトストレージは、データレイクとして永続化する領域となり、データの量に応じて課金が発生します。これもあらかじめディスクを用意する構成に対し柔軟性が高いと言えます。

ここまでの説明で、ビッグデータをオブジェクトストレージに保存してSparkで分析のための前処理を行うバッチ的な運用をイメージされた方も多いでしょう。それは、このアーキテクチャの価値の一面でしかありません。
リソースの柔軟な割り当てによる最大の効果は、ビジネスの変化に機敏に追従することができる点です。新しいビジネス要件が必要になった場合は、独立した別のクラスタをすぐに起動することができます。1つのデータレイク(オブジェクトストレージ)に対して、複数の部門が別のクラスタを用意できるので、データは共有しつつ、新しい要件にすぐに対応できる環境になります。.

2. オブジェクトストレージ + Spark = 基盤業務からの解放

Hadoopは我々に多くのメリットをもたらしたものの、その運用の苦労は多くの場所で語られています。ディスク障害に始まりバージョンアップやリバランス、500を超えるパラメータ調整。
オラクルは、これらの課題に対しOracle Big Data Appliance.というエンジニアドシステムで道を切り開いてきました。

しかし、クラウドは別の選択肢を提供します。フルマネージドサービスとしてSparkとオブジェクトストレージサービスを提供します。バックアップ、レプリケーション、パッチ適用、アップグレード、チューニング、これらすべてをオラクルが請け負います。
クラウドでは、安定性と信頼性の責任がIT部門からクラウドベンダーに移ります。

3. オブジェクトストレージ + Spark = TCO削減

退屈で複雑な基盤の管理業務から解放されることで、担当者はより生産性の高い仕事に集中することができます。従来の基盤作業に追われていたエンジニアは、モデルの精度向上や業務部門との会話により多くの時間を活用できるようになり、結果データドリブンが加速していく体制がもたらされます。単純なコスト削減だけではなく、このようなプラスの効果を生み出すのです。

まとめ

オブジェクトストレージとSparkで構築されたこの新しいデータレイクアーキテクチャの利点は、

    1. ビジネスのアジリティ向上
    2.基盤業務からの解放
    3. TCOの削減

このすべては非常に有効です。

これらはOracle Big Data Cloudによってもたらされます。
無料お試し も可能ですので、ぜひお気軽にご利用ください。

本資料は、Oracle Big Data blog(https://blogs.oracle.com/bigdata/what-is-object-storage)を抄訳したものです。

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha