474-AWS SAP AWS 「理論・実践・一問道場」OLAP

 

理論


1. OLAPとは

  • OLAP (Online Analytical Processing) は、大量のデータを分析してビジネス上の意思決定を支援するための技術です。
    • 主にデータ分析やレポート生成に使用されます。
    • データを多次元的に分析し、トレンド、パターン、相関関係を発見するのに役立ちます。

OLAPの特徴

  • 用途: データマートやデータウェアハウスでの分析。
  • ワークロード: 読み取り専用の複雑なクエリが中心。
  • データベース例: Amazon Redshift、Google BigQuery、Snowflake。

OLTP (Online Transaction Processing)との違い

特徴
OLTP
OLAP
主な目的
トランザクション処理
データ分析
データ量
少量、頻繁に更新される
大量、基本的に読み取り専用
クエリの種類
簡単なクエリ
複雑な集計クエリ
MySQL、PostgreSQL、Aurora MySQL
Redshift、Snowflake

2. イベント駆動型アーキテクチャ

イベント駆動型アーキテクチャでは、システム内の変更(イベント)をリアルタイムで検知し、それに応じた処理をトリガーします。

主な特徴

  • リアルタイム性: イベントが発生するたびに処理を実行。
  • 疎結合: 各コンポーネントが独立して動作可能。
  • スケーラビリティ: 必要な処理だけをスケールアップ/ダウン可能。

主なコンポーネント

  • イベント発生元: データ変更やユーザー操作がイベントを発生させる(例: IoTデバイス、API)。
  • イベントルーター: Amazon EventBridgeやSNSを使用してイベントを適切なコンシューマにルーティング。
  • イベントコンシューマ: イベントを処理するアプリケーションやサービス(例: AWS Lambda、Kinesis)。

3. この問題に関連する設計パターン

データベースの選択

  • OLAP分析: Amazon Redshift Serverless
    • 高速なクエリ性能とスケーラビリティを提供。
  • OLTPトランザクション: Amazon Aurora Serverless MySQL
    • 自動スケーリングにより効率的なトランザクション処理を実現。

イベントルーティング

  • Amazon EventBridge:
    • イベントのルーティングとスケジュール管理が可能。複数のターゲットにデータを配信。

リアルタイム処理

  • サーバーレス技術(AWS Lambda、Fargate)を活用して高スケーラビリティを実現。

4. 結論

  • OLAP分析はデータウェアハウスを使用してトレンドやインサイトを取得するのに適しています。
  • イベント駆動型アーキテクチャを採用することで、リアルタイム処理と柔軟なスケーラビリティを提供できます。
  • AWSでは、Amazon Aurora ServerlessAmazon Redshift ServerlessAmazon EventBridgeなどのサービスを組み合わせて、効果的なソリューションを構築可能です。

実践

一問道場

質問 #474
小売業の会社がアプリケーションアーキテクチャの改善を検討しています。
同社のアプリケーションは、新規注文の登録、商品の返品処理、分析を行っています。アプリケーションはMySQLデータベースとOracle OLAP分析データベースに小売データを保存しています。すべてのアプリケーションとデータベースはAmazon EC2インスタンス上でホストされています。
各アプリケーションは注文処理の異なる部分を処理する複数のコンポーネントで構成されており、これらのコンポーネントは異なるソースからのデータを使用します。また、別のETLジョブが毎週実行され、各アプリケーションから分析データベースにデータをコピーしています。
ソリューションアーキテクトは、このアーキテクチャをイベント駆動型のソリューションに再設計し、サーバーレスサービスを使用する必要があります。このソリューションは、リアルタイムに近い形で更新された分析情報を提供しなければなりません。
次のどのソリューションがこれらの要件を満たしますか?

A. 各アプリケーションをマイクロサービスとしてAmazon Elastic Container Service(Amazon ECS)のAWS Fargateを使用するコンテナに移行します。
小売MySQLデータベースはAmazon EC2上に維持し、分析データベースをAmazon Neptuneに移行します。
Amazon Simple Queue Service(Amazon SQS)を使用して、すべての受信データをマイクロサービスと分析データベースに送信します。

B. 各アプリケーションのためにAuto Scalingグループを作成します。
各Auto Scalingグループに必要な数のEC2インスタンスを指定します。
小売MySQLデータベースと分析データベースをAmazon Aurora MySQLに移行します。
Amazon Simple Notification Service(Amazon SNS)を使用して、すべての受信データを正しいEC2インスタンスと分析データベースに送信します。

C. 各アプリケーションをマイクロサービスとしてAmazon Elastic Kubernetes Service(Amazon EKS)のAWS Fargateを使用するコンテナに移行します。
小売MySQLデータベースをAmazon Aurora Serverless MySQLに移行し、分析データベースをAmazon Redshift Serverlessに移行します。
Amazon EventBridgeを使用して、すべての受信データをマイクロサービスと分析データベースに送信します。

D. 各アプリケーションをマイクロサービスとしてAmazon AppStream 2.0に移行します。
小売MySQLデータベースをAmazon Aurora MySQLに移行し、分析データベースをAmazon Redshift Serverlessに移行します。
AWS IoT Coreを使用して、すべての受信データをマイクロサービスと分析データベースに送信します。
475-AWS SAP AWS 「理論・実践・一問道場」AWS CloudTrail マルチアカウント管理473-AWS SAP AWS 「理論・実践・一問道場」RDSプロキシ
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

名前: みなみ一人会社
性別:
国籍: China 🇨🇳
政治スタンス: 民主主義支持者
完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
独学で合格できる学習法や勉強法、試験対策を発信中!

📚 発信内容

  • 💻 IT・システム開発
  • 🏠 不動産 × 宅建士
  • 🎓 MBA 学習記録