- AWS Redshiftとは
- AWS Redshiftの大規模なデータセットにおける仕組み
- AWS Redshiftの主要なアーキテクチャーの構成要素
- AWS Redshiftのウェアハウスへのデータの取り込み
- AWS Redshiftの価格について
-
Integrate.ioを活用すると
企業が成長するにつれ、企業のデータとそのデータの複雑さも増していきます。そして、そのデータを活用できるかどうかが、競争力を維持する鍵になります。Infinidatのワールドワイドマーケティング担当副社長であるキャサリン・ヴレミンク氏は、「ストレージ統合はコスト削減、俊敏性の向上、多すぎるベンダーとの取引の複雑性の軽減をします。簡単に言えば、解放されるのです。」と言っています。Amazon Redshiftは、企業全体の膨大な情報を集約するためのソリューションであるデータウェアハウスです。情報が一箇所に保存されているため、スムーズにクエリや分析に使用することができ、このデータは、情報に基づいた意思決定を行うために不可欠なものとなります。本記事では、AWS Redshiftの仕組み、大規模データセットに最適な理由、価格オプションについてご紹介致します。
AWS Redshiftとは
ガートナーによると、資産としての情報はまだ「初期導入」の段階にあり、デジタル変革に注力する先進的な企業にとっては競争上の差別化要因となり、それに伴い、データと分析が戦略的な優先事項となります。したがって、その情報を効率的に保管・管理する必要性がこれまで以上に高まっているのです。
Amazon Redshiftは、AWS(Amazon Web Services)が提供するクラウドネイティブのデータウェアハウスプラットフォームです。エクサバイト級の膨大な量の構造化・非構造化データを扱えることが特徴であり、大規模なデータセットに対して高性能なバッチ分析を行うことも可能です。Redshiftを使用することで、企業は「クラウドの弾力性という経済性を活用し、パブリッククラウドプロバイダーと同期したイノベーションのペースから恩恵を受けることなどができます」と、ガートナーのVP アナリストであるデイビッド・スミス氏は述べています。
Redshiftの大規模なデータセットにおける仕組み
このプラットフォームが大規模なデータセットに理想的である理由は、その卓越した性能にあり、この強力なウェアハウスは、他の選択肢を凌駕する多くの機能を導入しています。
・MPP(超並列処理)
複雑なクエリは、通常は反応の遅さに悩まされますが、このプラットフォームでは、MPP(超並列処理)を用いて、複雑なクエリの高速実行を可能にしています。このアプローチでは、複数の計算ノードがクエリ処理を行い、各ノードが情報セット全体の異なる部分に対するクエリを実行します。そしてその結果は最終的に集約されます。
・データ圧縮
AWS Redshiftは、システム内の情報を圧縮してストレージの必要量を減らし、ディスクI/Oを削減します。クエリが開始されると、圧縮された情報がメモリに読み込まれ、クエリ実行中に圧縮が解除されます。より少ない情報をメモリに読み込むことで、他の処理タスクのためにメモリを利用できるようになります。
・結果キャッシュ
結果キャッシュは、高速アクセスのために特定の種類のクエリをメモリに保存するプロセスです。クエリが送信されると、Redshiftはキャッシュをチェックし、そのクエリの結果がキャッシュにあるかどうかを判断します。もしあれば、その結果は返され、データベースはクエリを実行しません。
・ワークロード管理
従来のデータベースでよくあるもう1つの課題は、短時間で実行されるクエリが、長時間実行されるクエリの完了を待って動けなくならないように、ワークロードを管理することです。Redshiftは、クエリキューを作成することでこの問題を解決しています。ウェアハウスでは、キューごとに定義された構成パラメータが使用され、キュー内のアイテムの優先順位を決定します。
AWS Redshiftの主要なアーキテクチャーの構成要素
Redshiftの優れた性能は、複数のワーカーノードとノード間の広帯域ネットワーク接続を利用したアーキテクチャによるものです。
・ノード
ノードは、ウェアハウスのワーカーコンポーネントのことです。各ノードには、専用のCPU、メモリ、および付属のディスクストレージが備わってます。プラットフォームには、リーダーノードとワーカーノードの2種類があり、リーダーノードは、一連のワーカーノード間の作業を調整します。
・ノードスライス
コンピュートノードは、スライスに分割され、それぞれがノードのメモリとディスクスペースの一部を受け取ります。各スライスは、そのノードに割り当てられたワークロードの一部の処理をしますが、スライスは、割り当てられた作業を処理するために並列に動作します。
・クラスタ
クラスタは単独または複数のノードで構成されます。複数のノードがある場合は、一つのノードにリーダーを割り当てて、作業負荷を分散させます。
・コネクション
クライアントアプリケーションは、JDBC用のデータベースドライバーとPostgreSQL用のODBCドライバーを使用してウェアハウスと通信します。
・社内ネットワーク
コンピュートノードは孤立したネットワーク上で動作しており、クライアントから直接アクセスすることはできません。そのため、プラットフォームは広帯域の内部ネットワークとカスタム通信プロトコルを使用することで、ノード間の通信を高速化することができます。
・データベース
データベースはコンピュートノードに保存され、クエリ実行時には、SQLクライアントがワーカーノードに順次作業を振り分け、リーダーノードと通信します。
AWS Redshiftのウェアハウスへのデータの取り込み
この強力なデータベースへの情報の出し入れは、多くのコネクタや統合をサポートしているため、比較的簡単です。
・S3Amazon RedshiftとAmazon S3間の情報移動
すでにAmazon S3(Amazon Simple Storage Service)を利用している企業は、Redshiftへの情報移行は簡単です。AWSは、S3バケットに保存されたファイルから情報を読み込むために、並列処理を使用し、ユーザーはウェアハウスからAmazon S3バケットにデータをエクスポートすることも可能です。
・Amazon RedshiftとAmazon DynamoDBの組み合わせ
DynamoDBは、AmazonのNoSQLデータベースサービスで、ウェアハウスと簡単に統合できます。ユーザーはCOPYコマンドを使用して、DynamoDBからウェアハウスに情報を格納できます。
・SSHでリモートホストからの情報取込
COPYコマンドは、Amazon EMRクラスタ、Amazon EC2インスタンス、またはその他の外部ソースなどの他のソースからデータを格納するために使うこともできます。COPYコマンドは、リモートホストへのSSH接続を使用し、情報は並行して格納されます。
・ETL(抽出、変換、格納)
ユーザーは、AWS Data Pipelineと呼ばれるAmazonの別のサービスを使って、プラットフォームへのデータ転送と変換を自動化することができ、このサービスでは、複雑な変換や格納を処理するための定期的なジョブの予定を組むことができます。また、企業はIntegrate.ioのようなETLツールを使用して、AWS redshiftで強力なデータパイプラインを構築することができます。
AWS Redshiftの仕組み:価格設定
このウェアハウスは、価格設定が非常に柔軟で、企業支出のより精緻な予測・管理を可能にしますが、価格帯はわかりにくいかもしれません。以下では、各オプションの価格について簡単に説明します。
・オンデマンド価格
これは最もシンプルな料金体系で、企業は使用した容量に対して時間単位で支払うモデルです。長期契約などのコミットメントや初期費用は不要で、料金はクラスタ内のノード数に基づいています。部分的な時間単位は1秒単位で課金され、ウェアハウスが一時停止された場合は、バックアップストレージの料金のみを支払います。
・同時実行スケーリング価格
Redshiftは、クラスタの性能が最大限に発揮されるように自動的にスケーリングします。これには初期費用はかかりませんが、企業のアカウントに割り当てられた無料クレジットを超えて使用される同時実行スケーリングクラスタには、秒単位のオンデマンド料金が課されます。
・Amazon Redshiftマネージドストレージ価格
マネージドストレージは、地域によって異なる1ヶ月あたり固定GBの料金でストレージの利用料を請求します。利用料金は、保存されたデータの総量に基づき、時間単位で計算され、料金には、自動および手動スナップショットによるバックアップやストレージの料金は含まれません。
・リザーブドインスタンス価格
安定した生産ワークロードを持つ企業は、リザーブドインスタンスの恩恵を受けられます。リザーブドインスタンスでは、価格が標準であり、オンデマンドの変動コストが発生しません。このオプションは、1年または3年のコミットメントが必要です。
Integrate.ioを活用すると
Amazon Redshiftにデータを統合する場合、Integrate.ioはウェアハウスとの標準的な統合を備えており、さっと稼働させられ、この統合はコードを必要とせず、技術的な知識に関係なく誰でも数分で強力なデータパイプラインを構築できます。
Integrate.ioのAPIをはじめとしたプラットフォームの詳細、ご相談、14日間無料トライアルにつきましては、こちらのリンクよりご登録をお願い致します。
その後、弊社担当者よりご連絡させて頂きます。