SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

ビッグデータのリーサルウェポン!徹底解析GreenplumDB

GreenplumDBが持つ高速化機能とワークロード管理・可用性機能

005


連載第5回目の今回は、前回に引き続き、効率的なデータ処理を行うための技術動向とGreenplum DBが持つ高速化機能、およびワークロード管理・可用性機能について解説いたします。まずは、データのストア方式についてです。

Greenplum Polymorphic Data Storage(ポリモーフィックデータストレージ)

ローストアとカラムストア

 エドガー・F・コッド博士が発表した論文から始まったリレーショナルデータベースの過去40年に渡る歴史を振り返ってみても、この1、2年は、新たな局面を迎えたといえるでしょう。主なトピックは、RDBMSベンダーの合併・買収やビッグデータ分析の盛り上がりなどです。

 技術面においても「カラムストア」と呼ばれるデータアクセス高速化機能の話題を目にすることが多くなってきています(「カラム型」「列指向」「Columnar(カラムナー)」などとも呼ばれています)。

 ローストア・カラムストアとは、その名の通り、データベースへのデータ格納方式を表しています。ローストアというのは、データを行(ロー)単位で格納する方式で、一般的なRDBMS製品はローストアを採用しています。一方、カラムストアというのは、データを列(カラム)単位で格納する方式で、従来よりSybase IQがこの仕組みを採用しています。

 Greenplum DBはどちらなのかといいますと、両方をとりいれた「ハイブリッド型」です。ローストアとカラムストアの両方のデータ格納方式を、テーブル単位やパーティション単位で使い分け・組み合わせることが可能です。つまり、(この後で説明しますが)ローストアとカラムストアをハイブリッドで構成し、両方のメリットを”いいとこどり”することができるのです。

 ちなみにGreenplum DBと比較されることの多い、他のDHW向けRDB製品では、最近発表されたTeradataの最新バージョンではカラムストアを実装し、ローストアとカラムストアのハイブリッド構成を取れるように追随しつつあるようです。一方、Oracle ExadataのHybrid Columnar Compression機能はカラムストアと見なされることもありますが、これはテーブルをCompression Unit(CU)という単位(圧縮方式によって異なる複数行単位)で分割し、CU内のデータをカラムごとに圧縮する方式であり、カラム圧縮ではありますが、今回取り上げているカラムストアとは異なります。

カラムストアが得意とするワークロード

 従来のRDBMSは主にオンライントランザクション処理(OLTP)を意識して設計・開発されてきました。そのため、行単位の参照・更新に適したローストアを採用し、OLTPを効率化しました。

 その後、ERPやCRMなどに蓄積された企業活動結果のデータを利用して、経営や企業活動に対する意思決定支援を行うオンライン分析処理(OLAP)が普及しました。OLAPでは集計処理が中心のため、テーブル中の特定列のみが読み込まれるというようなデータアクセスの傾向があります。この性質のある処理をローストアのRDBMSで行うと集計不要な列も読み込まれてしまい、I/Oのオーバーヘッドが大きくなるため、処理効率が非常に悪くなります。

 一方、カラムストアでは、集計に必要な列だけを読み込むことでI/Oのオーバーヘッドを大きく削減することができるため、ローストアと比較すると処理が大幅に高速化されます。このように集計処理を非常に高速化できるのがカラムストアのメリットです。

 また、それぞれの列で格納されているデータは同一属性のため、一般的に、重複・類似データを多数含みます。したがって、カラムストアでは圧縮効率が高くなるというメリットもあります。これはI/Oのオーバーヘッドのさらなる削減にもつながります。

 それではカラムストアのデメリットは何でしょうか?上記で述べたことの反対となりますが、行単位でのデータの参照・更新処理が苦手というところです。したがって、当たり前ではありますが、カラムストア型のRDBMSは、このデメリットから逃れられないということが問題となります。

次のページ
テーブル毎もしくはテーブル内で、柔軟にストア方式を指定した利用例

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
ビッグデータのリーサルウェポン!徹底解析GreenplumDB連載記事一覧

もっと読む

この記事の著者

松下正之(マツシタマサユキ)

  EMCジャパン株式会社 データ・コンピューティング事業本部 テクニカル・コンサルタント。   外資系H/Wベンダーにて、Oracle DB/RACを使った大規模・高可用性システムの提案・導入技術支援を中心に、ISV(独立系ソフトウェアベンダー)とのテクニカルアライア...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/3720 2012/02/10 18:37

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング