ビッグデータ時代の課題とGreenplumのアプローチ
さて、ビッグデータと言った場合、システム設計時に考慮するべき点は3つあると言われています。
- データ量の多さ「ボリューム(Volume)」
- データ処理に求められる高い性能「速度(Velocity)」
- データの種類の多さ「多様性(Variety)」
GreenplumDBでは、このうち「ボリューム」と「速度」に対応するためにスケールアウトテクノロジーを基本アーキテクチャとして採用しました。
スケールアウトテクノロジーとは、多数のサーバやストレージを高速なインタコネクトで接続することにより、演算処理の高速化と容量の確保を図るアプローチです。なお、この対局にある考え方はスケールアップテクノロジーです。
スケールアップテクノロジーはサーバの台数は1台のままとし、サーバの性能以上に高い性能が必要となる場合、さらに大きなサーバへシステムをリプレースしていきます。容量の確保にはサーバへのより多くのストレージの接続を行います。このため、サーバの追加ができるスケールアウトテクノロジーと比較して性能向上のための作業が煩雑となります。加えて、リプレースの頻度を抑えるよう、将来必要となる処理性能を見越したサーバの設計が必要となるため、コストパフォーマンスという面でスケールアウトテクノロジーよりも効果が出にくいという難点があります。
なお、3点目の「多様性」とは、これまでRDBが扱ってきた構造化された数値やテキストだけでなく、画像、音声と言ったバイナリデータやテキストであっても文章のように構造化されていない種類のデータも処理対象とする要件が高まっていることを指します。
GreeplumDBは構造化データを得意としているため、「多様性」へはGreenplumDBだけではなく、Hadoopのような非構造化データの処理に長けた技術が必要です。このためGreenplumDBはHadoopとの高速なデータ連携の仕組みを追加し、「多様性(Variety)」に対応しています。Hadoopとの連携については、今後の連載の中で解説していきます。