AWS Kenesis
##基本機能
SQSのようにデータをためる。取得しても24時間残る。
大量に連続して発生するストリーミングデータをAWS上に格納するための受け口となる、フルマネージドサービスです。 高い信頼性、耐久性と、コストパフォーマンスに優れたバッファとして利用する事ができます。
Q: Amazon Kinesis と Amazon SQS の違いは何ですか?
Amazon Kinesis では、ストリーミングビッグデータをリアルタイムで処理できます。レコードを並べ替えることができ、複数の Amazon Kinesis アプリケーションに対して同じ順序でレコードを読み取ったり再生したりできます。Amazon Kinesis クライアントライブラリ(KCL)は特定のパーティションキーに対するすべてのレコードを同じレコードプロセッサに提供し、同じ Amazon Kinesis ストリームから読み取る複数のアプリケーションの構築を容易にします(たとえばカウント、集計、フィルタリングの実行など)。
Amazon Simple Queue Service(Amazon SQS)は、コンピューター間でやり取りされるメッセージを保存するための、信頼性のある、拡張性の高い、ホスティングされたキューを提供しています。Amazon SQS を使用すると、分散したアプリケーションコンポーネント間でデータを簡単に移動でき、自動化されたワークフローのようなメッセージレベルでの確認/失敗セマンティクスを備えたメッセージを独立して処理するアプリケーションを構築できます。
Q: Amazon Kinesis および Amazon SQS はそれぞれどのような場合に使用する必要がありますか?
Amazon Kinesis は次のような要件のユースケースに推奨されます。
関連性のあるレコードを同じレコードプロセッサにルーティングする場合(MapReduce のストリーミングなど)。たとえば、特定のキーに対するすべてのレコードを同じレコードプロセッサにルーティングすると、カウントや集計が簡単になります。
レコードを並べ替える場合。例えば、ログステートメントの順序を維持しながら、アプリケーションホストから処理/アーカイブホストにログデータを転送できます。
複数のアプリケーションが同じストリームを同時に使用する機能。例えば、リアルタイムダッシュボードを更新するアプリケーションと、データを Amazon Redshift にアーカイブするアプリケーションがあるものとします。両方のアプリケーションで、同じストリームからのデータを同時に、独立して使用できます。
レコードを数時間後に同じ順序で使用する機能。例えば、請求アプリケーションと、請求アプリケーションから何時間か後に実行する監査アプリケーションがあるものとします。Amazon Kinesis はデータを最大で 24 時間保管するので、請求アプリケーションより最大 24 時間後に監査アプリケーションを実行できます。
Amazon SQS は次のような要件のユースケースに推奨されます。
メッセージングセマンティクス(メッセージレベルの確認/失敗など)および可視性タイムアウト。例えば、作業項目のキューがあり、各項目の正常な完了を個別に追跡するものとします。Amazon SQS は確認/失敗を追跡するので、アプリケーションでは永続的なチェックポイント/カーソルを保持する必要がありません。Amazon SQS は、確認されたメッセージを削除し、失敗したメッセージは設定されている可視性タイムアウトの後で再配信します。
個別メッセージの遅延。例えば、ジョブキューがあり、遅延のある個別のジョブをスケジュールする必要があるものとします。Amazon SQS では、個々のメッセージに最大で 15 分の遅延を設定できます。
読み取り時における同時性/スループットの動的な拡張。例えば、作業キューがあり、バックログが解消されるまでリーダーを追加する必要があるものとします。Amazon Kinesis では、十分な数のシャードに拡張できます(ただし、前もって十分なシャードを準備しておく必要があります)。
Amazon SQS の機能を利用した透過的な拡張。例えば、負荷の一時的な上昇や事業の自然な成長の結果として、バッファ要求や負荷が変化するような場合です。各バッファ要求は個別に処理できるので、ユーザーがプロビジョニングを指示しなくても、Amazon SQS は透過的に拡張して負荷を処理できます。
AWS Redshift
##基本機能
クラウド上のDWH。
データウェアハウスとは、直訳すれば「データの倉庫」である。利用者により定義範囲は異なるが、一般に時系列に整理された大量の統合業務データ、もしくはその管理システムを指す。
Amazon Redshiftは、PostgreSQL8.0.2に準拠した環境・技術仕様となっています。ですので、PostgreSQLをこれまでに扱っていた場合であれば特に意識せず扱える事が出来ますし、そうでない場合でもPostgreSQLの情報を参考にRedshiftの学習や実践を行なう事が出来ます。
そのため、Amazon Redshiftで諸々の作業を行なう際には、CUIであればPostgreSQLのpsqlコマンドがそのまま活用出来ます。
特徴
MPP:Massive Parallel Processing
1つのタスクをリーダーノードがコンピュートノードに分散して処理する。
シェアードナッシング:ディスクをノードで共有しない。
ノード追加時はノードとディスクがセットで増えていく。シェアすると追加時の処理が大変になるため。
スライス:メモリとディスクを処理単位で分割した論理的な処理範囲
##まとめ
トランザクションがたくさん来るケースではなく、
データ格納として利用する。