type
status
date
slug
summary
tags
category
icon
password
书籍
理論
リアルタイムデータ処理とスキーマレスデータベースに関するAWSのベストプラクティス
1. リアルタイムデータ処理
リアルタイムでデータを収集・処理するシステムは、遅延を最小限に抑え、迅速なデータストリームの処理が求められます。AWSでは以下のサービスが主に使用されます:
- Amazon Kinesis Data Streams: 高スループットのデータストリームを処理するためのサービス。継続的なデータ収集とリアルタイム処理に最適。
- Amazon Kinesis Data Firehose: ストリームデータを簡単にデータレイクやデータベースに送信できるサービス。ストリームのバッチ処理や圧縮、変換も可能。
- Amazon Managed Streaming for Apache Kafka (MSK): Kafkaを利用した分散型ストリーム処理。特にカスタムデータ処理に強みを持つ。
2. スキーマレスデータベース
スキーマレスなデータベースは、柔軟なデータモデルが必要なシステムに適しており、AWSには以下の選択肢があります:
- Amazon DynamoDB: NoSQLデータベースで、低遅延かつスケーラブル。JSON形式のデータを直接保存可能。
- Amazon Keyspaces (for Apache Cassandra): Cassandra互換の分散型データベース。スキーマレスで広範囲なデータを扱う場合に適している。
3. 各選択肢の適用例
- Kinesis Data Streams + DynamoDB: リアルタイムで大量のデータを収集し、スキーマレスデータベースに保存する場合に理想的。例:IoTデバイスやセンサーからのデータ収集。
- Kinesis Data Firehose + Keyspaces: バッチ形式でデータを処理し、NoSQLデータベースに保存する場合に適している。例:大規模なログデータの保存。
- MSK + Aurora: 複雑なデータ処理や分散処理が必要な場合に有用。例:トランザクションデータのリアルタイム分析。
実践
略
一問道場
質問 #323
ある会社が環境データを処理しています。この会社は都市のさまざまなエリアから継続的にデータをストリームとして提供するセンサーを設置しました。
データはJSON形式で利用可能です。
会社は、固定スキーマを必要としないデータベースにデータを送信するために、リアルタイムで動作するAWSソリューションを使用したいと考えています。
どのソリューションが最小限の管理作業でこれらの要件を満たすことができますか?
A. Amazon Kinesis Data Firehoseを使用してデータをAmazon Redshiftに送信する。
B. Amazon Kinesis Data Streamsを使用してデータをAmazon DynamoDBに送信する。
C. Amazon Managed Streaming for Apache Kafka (Amazon MSK)を使用してデータをAmazon Auroraに送信する。
D. Amazon Kinesis Data Firehoseを使用してデータをAmazon Keyspaces (for Apache Cassandra)に送信する。
解説
環境データをリアルタイムで処理し、固定スキーマを必要としないデータベースに保存するためのAWSソリューションを検討する際、以下の選択肢があります。
選択肢の評価:
- A. Amazon Kinesis Data Firehoseを使用してAmazon Redshiftにデータを送信する。
Amazon Redshiftはリレーショナルデータベースであり、固定スキーマを必要とします。したがって、スキーマレスデータの保存には適していません。
- B. Amazon Kinesis Data Streamsを使用してAmazon DynamoDBにデータを送信する。
Amazon DynamoDBはスキーマレスのNoSQLデータベースであり、JSON形式のデータを保存できます。Kinesis Data Streamsはリアルタイムデータの取り込みに適しています。この組み合わせは要件を満たします。
- C. Amazon Managed Streaming for Apache Kafka (Amazon MSK)を使用してAmazon Auroraにデータを送信する。
Amazon Auroraはリレーショナルデータベースであり、固定スキーマを必要とします。スキーマレスデータの保存には適していません。
- D. Amazon Kinesis Data Firehoseを使用してAmazon Keyspaces (for Apache Cassandra)にデータを送信する。
Amazon KeyspacesはスキーマレスのNoSQLデータベースであり、JSON形式のデータを保存できます。Kinesis Data Firehoseはリアルタイムデータの取り込みに適しています。この組み合わせも要件を満たします。
推奨される解決策:
- *B. Amazon Kinesis Data Streamsを使用してAmazon DynamoDBにデータを送信する。**この組み合わせは、リアルタイムでスキーマレスのJSONデータを処理し、保存する要件を満たします。DynamoDBはスケーラブルで高可用性のNoSQLデータベースであり、Kinesis Data Streamsはリアルタイムデータの取り込みに最適です。
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/177d7ae8-88e2-808e-a8bb-eee61ec4a216
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章