Amazon Redshiftとは大規模なデータを格納するためのデータの貯蔵庫であり、別名データウェアハウス(DWH)と呼ばれています。
RedshiftはEC2のように個人開発で使う機会は少なく、使ったことがないとイメージが湧きづらいサービスだと思います。
そのため、Amazon Redshift未経験の方でもわかりやすいように本記事で解説できればと思います。
目次
AWSのデータウェアハウスサービス Amazon Redshiftとは?
RedshiftとはAWSから提供されているデータウェアハウス(DWH)サービスです。
データウェアウェアハウス(DWH)とはデータの貯蔵庫と直訳されますが、一言で言うと分析用途で使われるデータの貯蔵庫です。
様々なデータソースからETL処理(分析等目的でデータを抽出・変換・出力する処理のこと)し、Redshiftに分析用に加工されたデータを格納します。
そしてRedshiftに蓄積された膨大なデータを利用し、データの解析やビジネスの戦略等に用いることができます。
また、Redshiftのメリットとしては下記のような項目が挙げられます。
- コストパフォーマンスが良い
- 膨大なデータに対して高速なクエリを実行できる
- 他のAWSサービスとの連携がしやすい
- ネット上に多くの学習資料がありキャッチアップしやすい
一般的なデータベースとデータウェアハウスの違いとは?
データベースとデータウェアハウスは「データを格納する」という意味で共通していることから違いがよくわからないと聞くことがあります。
確かにデータを格納・保持するのは同じですが、データの保存目的、保存期間が異なります。
下記にそれぞれデータベースの特徴、データウェアハウスの特徴を列挙します。
一般的なデータベースの特徴とは?
まずは一般的なデータベースの特徴を下記の通り列挙いたします。
- データの保存を目的とし、必要に応じてデータの取得・更新・作成・削除を行う
- 長期的・膨大なデータの保存は向いていない(クエリ処理時間増につながるため)
- 上記理由から、適宜データの削除・集約が必要となる
データウェアハウスの特徴とは?
続いてデータウェアハウスの特徴を列挙します。
- データの長期的な保存に向いている
- RDBMSでありテーブルを組み合わせてでのデータ取得が可能
- 高コストのストレージを使用しクエリを実行できる
- 膨大な量のデータ(ビッグデータ)の保存に向いている
- 貯蔵したデータからBIツール(Tableau等)でデータの可視化を行う
- 可視化したデータから分析を行い、効果的な意思決定を行う
- 膨大なデータに対し高速なクエリを実行できるよう最適化されている
- 想定ユーザはビジネスアナリスト
データレイク(DataLake)とデータウェアハウス(DWH)の違いとは?
データウェアハウスと対比されるサービスとしてデータレイクというサービスがあります。
どちらも膨大なデータを格納するという点で共通していますが、詳細な違いを説明する場合説明が難しいと思います。
また、AWSではデータレイク構築のサービスとしてAWS Lake Formationというサービスがあります。
(実際にデータレイクと呼ばれるデータの貯蔵先はAmazon S3にデータを格納します。)
今回の記事ではAWS Lake Formationの説明は省略させていただきます。
それではデータウェアハウスとデータレイクの違いについて明確にしていきましょう。
データレイクの特徴とは?
では早速データレイクの説明をしていきます。
簡単に言うと、データレイクとは加工しない大量の生のデータを保存するデータの貯蔵庫です。
データレイクには下記のような特徴があります。
- 様々なタイプのデータ(画像や動画、バイナリデータ等)を格納
- 膨大なデータの貯蔵・格納に向いている
- 低コストのストレージを使用しクエリを実行できる
- 貯蔵したデータをそのまま使える場合もある
- 貯蔵したデータをAWS Glue等で加工し使う場合もある
- 貯蔵したビッグデータは機械学習等で用いられる
- 想定ユーザはデータサイエンティスト
データウェアハウスとの大きな違いはデータの利用用途と格納するデータの種類です。
まとめると下記がデータウェアハウス(Redshift)とデータレイク(Lake Formation + S3)の利用シーンです。
- データをBIツール等で可視化しビジネスを分析するならRedshift
- 機械学習のための学習データの貯蔵ならデータレイク(Lake Formation + S3)
さいごに
ここまでお読みいただきありがとうございました。
本記事では詳細なRedshiftの仕様の話ではなく、Redshiftの概要、一般的なデータベースとデータレイクとの対比をメインで解説しました。
機会があれば、Redshiftの技術的な話(分散キーやソートキー)もしたいと思います。
僕のブログサイト「kzy.tech〜日本脱出のための教科書〜」がどのようなサービスで作られているかが気になる方は以下別記事にてご説明していますので、ご覧いただけますと小躍りして喜びます💃
また、海外移住のために 英語とプログラミングを習得することを推奨しています。
これは私の経験則から言えることですが、上記二つのスキルがあれば海外移住は絶対に実現できます。
以下に僕が実際に使って効率よくプログラミング学習ができるおすすめサービスを載せます😌
速習!おすすめプログラミング勉強法【Udemy】
いくつかプログラミング学習サービスを利用しましたが、一番効率よく勉強できると感じたのはUdemyでした。
Udemyでは動画での説明や解説等もあり親切で、学習教材も豊富にあることから プログラミング初学者の方が短期間でエンジニアを目指したいのであれば、非常に良い教材だと思います。
ちなみに私は文系卒で社会人になってから独学でudemyを使ってプログラミングの勉強をして、実際にエンジニアとして採用されました
Udemyのコースは1つ1,000円ほどなので、ITの参考本を一冊(3,000円)を買うよりもUdemyのコースを購入する方が安い上により効率的にプログラミングを勉強できると思います。
世界最大級のオンライン学習サイトUdemy
また、別記事にてダナンでの生活やIT関連についても記事を書いていますのでクリックいただけると嬉しくて踊ります💃