type
status
date
slug
summary
tags
category
icon
password
书籍
理論
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 Serverless、Amazon Redshift Serverless、Amazon 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を使用して、すべての受信データをマイクロサービスと分析データベースに送信します。
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/17cd7ae8-88e2-80d7-a32c-e3f25e18c6fb
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章