「風が吹けば桶屋が儲かる」の精度を上げられる可能性を持つ「Amazon Redshift」とは?

はじめに

この記事では、AWSのデータウェアハウスサービス「Amazon Redshift」の特徴や料金、利用方法について紹介します。Amazon Redshiftがどのようなサービスか知りたいという方、GCPやMicrosoft Azure等のその他クラウドサービスで提供されているデータウェアハウスとの比較検討をしているという方、またAWSのその他データベース関連サービスと何が違うのか知りたいという方はぜひご覧ください。

広がるビジネスでのデータ活用

ビジネスにおいてデータの活用はいまや欠かせない事柄の一つとなっています。データ活用と聞くとIT業界独自のものというイメージをする人がいるかもしれませんが、実際はIT業界に限ったことではなくサービス業界、ホテル業界、航空業界といった様々な業界で売上アップや顧客満足度の向上のために利用されています

2023年現在ではDX(デジタルトランスフォーメーション)やIoT、高度IT人材といった言葉が頻繁に使われるように、ITはパソコンの利用というだけに止まらず業界の枠を超えて様々なシステム・サービスとして浸透している状況です。

マーケティングのためにデータ収集・分析システムを利用して営業や販売の戦略を立てるということを実施している企業は以前より見られましたが、近年はその収集範囲や量、活用方法の幅が進んでいます。例えばプロ野球業界では以前よりのデータの活用がされており、特に野村克也氏の「ID(import data)野球」が有名となっていますが、そのデータは球団関係者によって手で収集されていたので情報量には限界がありました。

しかし近年のメジャーリーグでは動作解析が可能なモーションキャプチャシステム用カメラが何台も設置されていたり、投球データ、打撃データを瞬時に割り出せるトラッキングシステムを利用したりと、IT技術をフルに生かして野球のレベルアップを計るだけではなく、ファンをも楽しませてくれるようになっています。そのため近年の野球を見ているとこれまでではありえないような極端な守備体系を敷いたり、特殊な打順の組み立て方をしたりという光景が珍しいものではなくなっています。これらは単に気を衒った奇襲というだけではなくテータに基づいたものがほとんどです。この傾向は日本のプロ野球界だけではなくアマチュア界にも広がりつつあります。

なおこの記事のタイトルにある「風が吹けば桶屋が儲かる」ということわざですが、この意味はご存知でしょうか。言葉の意味のまま、風が吹くことで結果的に桶屋が儲かるという簡単なことではあるものの、一見しただけではこの間に因果関係がないように見受けられます。しかしその間にはいくつもの原因があって、大小様々な原因が連結することで最終的に「桶屋が儲かる」状況となることを表しています。

このように世の中には、例えば「飲み物を飲み干した結果飲み物がなくなる」という単純な因果もあれば、いくつものことが絡み合って複雑な因果関係がある現象もあります。複雑すぎるものに関しては人間の操作できない部分である「運」とされることもでしょう。2023年には大量のデータを収集して運の正体を暴くということを題材にした秋元康氏原作のドラマもありました。運を操るとまではいかないまでも、不確定要素を膨大なデータ分析を基にある程度予測可能とできる昨日の一つが今回取り挙げるデータウェアハウスです。

データウェアハウスとは?

データウェアハウスは「DWH(Date Ware House)」と表記されることもあるデータの格納場所です。データの格納場所というとデータベースを挙げる人も多いと思いますが、格納目的がそれぞれ異なるためその分仕様も違ってきます。

データウェアハウスではデータ分析を行うことを目的に大量データを蓄積し、その分析結果を経営戦略やマーケット等の意思決定をするために利用します。データベースでも分析は可能で、実際にデータベースを利用してデータ分析を行うサービスもたくさん存在します。しかしどちらかというとデータベースはある特定のシステムにおける顧客情報や商品情報、営業情報等、複数のシステムに渡って利用することはなく、かつシステムから常時データの参照や追加・更新・削除が行える状態で運用されることが主な役割となります。仮にデータベースで複数システムのデータを集約して分析するとなると、システムの仕様による違いを調整したうえで分析しなければならず、そのための工数が別途発生します。対するデータウェアハウスでは、複数サービスのデータを収集したうえでそれぞれの違いを考慮しながらの分析が可能となります。例えば会員IDという項目が存在する複数システムにおいて、IDとして扱う対象が数字10桁、英数字11文字以上、メールアドレスとそれぞれ異なっていることがあります。データベースの場合だとこれらは全て別項目と認識されてしまいますが、データウェアハウスの場合は同じ会員IDとして扱うことが可能となります。大企業であれば部門ごとに利用するツールが異なるということも珍しくないので、それらを全て集約してデータ分析に生かす際はデータウェアハウスが適していると言えるでしょう。

前述したように、データベースの場合は追加・更新・削除といったようにデータに動きが頻繁に発生することが多く、更新前、あるいは削除前のデータ等は実施した時点で保持しなくなります。データウェアハウスの場合はデータを削除することが前提とはされておらず、数年程度のデータを全て蓄積して分析に生かすことで、通常であれば気づくのが困難な予測や傾向を導き出すことができるようになっています。仮にデータの上書きが発生したとしても、古いデータも同時に保持するのがデータウェアハウスであり、その新旧両方のデータを保持することによって初めて導き出せる分析結果もあります。

各サービスの詳細は省きますが、Redshift以外の有名な他社のデータウェアハウスサービスとしては「SOFIT Super REALISM」「AnalyticMart」「Azure Synapse Analytics」等が挙げられます。

データベース、データウェアハウス、データマート、データレイク、BIツールの関係性

データベースやデータウェアハウスと似た仕組みにデータマートというものもあります。データマートは特定の目的に特化したデータのみを抽出して格納し、不要なデータを除外することで分析の効率を挙げるとともに、不用意に個人情報を取得できてしまうリスクを防ぐこともできます。営業部門、経営部門、システム部門でそれぞれ必要とする情報は異なります。例えばシステム部門で分析に利用したいエラーログの情報を経営部門で分析したい状況となることは考えづらいです。このような時にデータマートを利用します。

しかしながら近年は各部門で必要とする情報が多様化しており、限られたデータのみ抽出するデータマートであるとかえって非効率的になるという状況も発生しています。そのような中「データレイク」という仕組みが採用される傾向もあります。データレイクはリポジトリであり一元管理が可能ですが、格納するデータは構造化データ、非構造化データを問わずそのまま保存可能となっています。そのため格納する際、抽出する際等にデータ整形といった作業をする必要はなくなります。今後必要となるかどうかその時点で不明なデータを保存しておく際にもデータレイクは適していると言えます。

またBIツールもデータウェアハウスと関連性の深いシステムです。BIは「ビジネスインテリジェンス」の略で、BIツールを利用することで蓄積したデータを可視化し、ITシステムに詳しくない人でも簡単に分析が行え、業務上の意思決定に利用できる状態となります。有名なBIツールとしてはTableau、Zoho Analytics、Power BI、Google Data Portal等があり、AWSでは「Amazon QuickSight 」というサービスが提供されています。もちろんRedshiftはAmazon QuickSightと連携してデータの可視化をすることが可能です。

ここまでに紹介したサービスの関係性をまとめると、データベースで特定システムのデータを運用しながら蓄積し、それらをETL(Extract「抽出」、Transform「変換」、Load「書き出し」の略)等の機能を使ってフォーマットしてデータウェアハウスへ格納します。この蓄積したデータをBIツールで可視化して誰でも業務に生かしやすい状態にするという流れになります。なおデータレイクを利用する場合は、一時的なデータ蓄積場所としてデータベースとデータウェアハウスの間に設置され、データマートを利用する場合はデータウェアハウスとBIツールの間に設置されて必要データのみ抽出して各部門に提供されます。

「クラウドファースト」の動きが加速している背景もあって仮想マシン、ストレージといったサービスのクラウド化が進んでいるのと同様、これらデータウェアハウスやデータベース関連のシステムもクラウド上で実現可能となっている状況です。そんなデータウェアハウスサービスの一つが「Amazon Redshift」です。

データウェアハウスはどのように活用されているか

「ebay」という海外の巨大ECサイトでは100PB以上のデータをデータウェアハウスに貯め、どの程度サイト内に滞在したか、商品をどのような順を辿って閲覧したかといった情報から顧客分析を行ったり、売り上げと画像の質には関係性があるということを突き止めたりしています。その他のECサイトでも不正行為の監視やサーバ監視、セキュリティといった業務のためにデータウェアハウスが利用されていることがあります。

さらに飛行機の座席予約システムにデータウェアハウスを利用している例もあります。予約後のキャンセルや当日の急なキャンセル等がありうまく満席になるようにコントロールすることが難しいものですが、ユーザーの過去の行動データを分析してキャンセルを予測することである程度予測が可能な状態に近づけることができます。

他にもAWSの公式サイト上ではRedshiftの導入事例としてマクドナルド、SUBARU、MORI、FOX、NTT docomoといった国内外様々な大企業の成功例が紹介されており、その活用方法は千差万別となっていました。

Amazon Redshiftの概要

ここまではデータウェアハウス全般の特徴を紹介してきましたが、続いてAmazon Redshiftならではの特徴を紹介します。RedshiftはAmazonの提供する総合的なクラウドサービス「AWS(Amazon Web Services)」の中の一つであり、データウェアハウスに特化した機能を備えています。高速な分析、機械学習を利用した高度な分析が可能な他、クラウドならではの柔軟な拡張性やパフォーマンスの良さを備えています

なおデータベースエンジンの「PostgreSQL」をベースとして開発されているものの、特に専用のデータストレージスキーマやクエリ実行エンジンにおいては全く仕様が異なっています。またPostgreSQLは小規模開発に適した機能を実装していますが、Amazon Redshiftは大規模なデータセットに対する複雑なクエリの実行が必要となるシステムに適した仕様になっており、パフォーマンスを上げるために小規模開発向けの機能は省かれています。具体的に挙げるとテーブル分割、テーブルスペース、データベースロール、継承、インデックス、ウィンドウ関数のNULLS句、トリガー、添字付き式・配列コンストラクタ・行コンストラクタといった値式、テーブル関数、シーケンス、フルテキスト検索等、中には当然のようにPostgreSQLで利用している機能が利用できないこともあるので注意が必要です。さらに「制約」においてはAmazon Redshiftの場合、Unique、外部キー、主キーが情報提供専用となっています。

Amazon Redshiftの代表的な特徴

Amazon Redshiftの特徴の一つは、高速なデータ分析処理が可能という点です。スーパーコンピュータよりコストを抑えて科学技術計算等を高速に行える「MPP(Massively Parallel Processing:超並列処理)」といったアーキテクチャを備えているうえ、AQUA(Advanced Query Accelerator) for Amazon RedshiftやRA3インスタンスを組み合わせて利用することでさらに高速なクエリパフォーマンスを実現できます。RedshiftではMPPが簡単に追加でき、これによって複数ノードでSQLのクエリ処理を分散して並列実行できるようになるため高速になるといった仕組みです。

なおRA3インスタンスについてはノードタイプの部分で後述します。AQUAはキャッシュサービスであり、利用することでアクセス頻度が高いデータをキャッシュ領域で高速処理することが可能となります。

二つ目の特徴は「列指向」という点です。一般的なデータベースはレコード指向(行指向)であるため不要な項目があったとしても行単位でのスキャンが欠かせませんが、Redshiftの場合は必要な列のデータのみをスキャンできるため、これもクエリの高速化に繋がり、かつストレージのコスト削減もできます。

三つ目はその他AWSサービスとの連携がしやすいという点です。Redshiftは政府機関のシステム等でも採用されておりセキュリティに関しては堅牢であるイメージが強いですが、暗号化に特化した「AWS Key Management Service(KMS)」や、権限管理サービス「IAM」、監査ログの取得を行う「CloudTrail」といったAWSのセキュリティサービスと連携することによって、より安全性の高いシステム運用が可能となります。またストレージサービスの「Amazon Simple Storage Service(Amazon S3)」と連携することでRedshiftのバックアップを取ったり、S3側に保存されているデータを読み込んで分析に利用したりということも可能となります。

またRedshiftには専用のコンソールがあるためシステムの稼働状況やパフォーマンスを監視することができますが、複数のRedshiftを管理する場合やその他AWSサービスもまとめて監視したい場合は、監視に特化したサービスである「Amazon CloudWatch」を別で利用することをおすすめします。

他にも柔軟にスケールアップ・スケールアウトが可能、オンプレミスでの運用に比べて大幅にコスト削減が可能といったクラウドサービスならではのメリットも兼ね備えています。ただしデータ分析をする際に必ずしもデータベースよりデータウェアハウスを選んだ方が良いということはなく、データが小規模であったり複雑な処理を必要としなかったりという場合はデータウェアハウスよりコストの安いデータベースを選択した方がコストが最適なことも十分あり得ます

ノードタイプについて

この項目の最後に、Redshiftを利用する際に理解しておいた方が良い「ノードタイプ」という概念について紹介します。ノードタイプについては「Redshiftで取り扱いのあるインスタンスの種類」と思ってもらって問題なく、Redshiftにはこのノードタイプが「DC2」「DS2」「RA3」の3種類用意されています。

「DC2」はコンピューティングノードごとに個々のストレージを保持しており、ストレージにはSSDを採用しているインスタンスであるため高速処理をしたい場合は適しています。対する「DS2」は同じくコンピューティングノードごとに個々にストレージを保持していますが、ストレージはHDDとなっています。そのため速度は求めずに大容量のデータ処理を行いたい場合に適しています。続く「RA3」はノードごとの個々のストレージを持たず、RMS(Redshift Managed Storage)を共有する仕組みであり、データ処理とストレージをそれぞれ独立させています。なおRMSは内部的にS3を利用しており、容易に拡張が可能となっています。

Amazon Redshiftの料金形態

その他のAWSサービスの例に漏れず、Redshiftも基本的な料金体系は従量課金制(オンデマンド料金)であり、コンピューティングノード、利用時間、データストレージが課金対象となります。またRA3インスタンスにおいてRMSを利用する場合はそちらに対しても課金が発生します。

例えば2023年4月時点で「アジアンパシフィック(東京)」リージョンのDC2を利用した場合は0.314USD/1時間となり、 RA3の場合は1.278USD/1時間となっていました。なお1時間未満の時間も秒単位で計算されますが、クラスター(リーダーノード、コンピュートノード、RMS)を一時的に停止した場合、その間は料金が発生しません。料金については変動することも考えられ、リージョンによっても細かく異なるため、詳細については公式ページで確認することをおすすめします。

Redshiftには無料トライアル期間があり、90 日間コンピューティングとストレージの利用を300 USDのクレジット内で利用できます。さらに固定料金を支払う「リザーブドインスタンス」という料金体系も用意されており、こちらを利用することでコストが大幅に割引される他、見積もりもしやすくなります。Redshiftを平均的に常時使用する予定があるという場合は、リザーブドインスタンスにした方が安く済む可能性があります。リザーブドインスタンスの場合は前払いを全くせず1年の間に月分割で支払う方法か、一部を前払いしたうえで残額を1年か3年のどちらかの期間で支払う方法、1年または3年分の料金を全額前払いする方法の3つの中からいずれかを選択できます。

Amazon Redshiftを利用するまでの基本的な流れ

Redshiftを利用する場合はクラスターを作成したうえでそのクラスターに接続を行います。作成時はAmazon Redshiftコンソールにてノードタイプ(DC2, DS2, RA3)やノード数を設定し、ユーザー名・パスワードを入力します。またS3等のその他AWSサービスから接続する場合はIAMロールを設定しておく必要があります。必要に応じてネットワークやバックアップといったオプションも追加設定が可能です。

作成画面の「状態」欄に「Available」と表示されたら作成完了となるので、Redshiftコンソール内にあるクエリエディタやBIツール、SQLクライアント等で接続してクエリの実行をしてみましょう。接続はクラスター作成時のユーザー名・パスワードを入力することで可能です。

まとめ

ハードディスクやメモリ、CPU等は一昔前に比べ価格が下がっているため比較的容易に大容量、高スペックのシステムを運用することが可能となっています。そのためビッグデータのようにとても人間だけでは管理しきれない膨大なデータを格納することもできます。しかしそれだけ多くのデータを持っていたとしても、実際に業務に生かさなければ宝の持ち腐れになるだけではなく、コストの無駄遣いにもなりかねません。

ぜひ今回の記事をきっかけにデータウェアハウスやデータベース、データレイク、データマートの各仕様を理解して適切に使い分けたうえで、BIツール等を活用して業務の意思決定に利用して効率的かつ的を得たマーケティングや経営の戦略を行っていきましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です