第4章 データ管理 データ管理パターン
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
データ は、すべてのアプリケーションの鍵である。単純なエコー・サービスでさえ、レスポンスを送信するために受信メッセージのデータに依存する。この章では、クラウド・ネイティブ・アプリケーションにおけるデータとその管理について説明する。
まず、データアーキテクチャに焦点を当て、クラウド・ネイティブ・アプリケーションでデータがどのように収集、処理、ストアされるかを説明する。次に、アプリケーションでの使用方法、データ構造、データ規模に基づいて、データを複数の次元で分類し、データを理解する。さらに、考えられるストレージと処理の選択肢と、特定のタイプのデータから最適な選択をする方法について説明する。
その後、集中型データと分散型データ、データ構成、キャッシュ、管理、パフォーマンス最適化、信頼性、セキュリティに焦点を当て、データに関連する様々なパターンの説明に移る。また、この章では、これらのクラウド・ネイティブ・アプリケーションの開発パターンを効果的に実装するために、現在業界で使用されているさまざまなテクノロジーについても取り上げる。
このようにデータ、パターン、テクノロジーに関する知識を組み合わせることで、特定のユースケースや、アプリケーションが扱うデータの種類に合わせてクラウド・ネイティブ・アプリケーションを設計することができる。
データアーキテクチャ
クラウド ネイティブ・アプリケーションは、我々のユースケースを満たす方法でデータを収集、ストア、処理、提示できなければならない(図4-1)。
ここでのデータソースは、ユーザ入力やセンサ読み取りなどのデータをフィードするクラウドネイティブアプリケーションである。メッセージブローカーなどのデータ処理システムにデータを供給したり、可能であればデータストアに直接書き込むこともある。データ受信システムは、データをイベント/メッセージとして他のアプリケーションやデータストアに転送することができる。これらを通じて、信頼性の高い非同期データ処理を実現することができる。(第5章にデータ受信システムについての詳細がある)。
図4-1. クラウドネイティブアプリケーションのデータアーキテクチャ
データストアは、このアーキテクチャの重要な部分である。ユースケースを容易にするために、様々な形式で、大規模にデータをストアする。データストアはレポートを作成するためのソースとして使用され、データAPIのベースとしても使用される。データストアの詳細は以下のセクションで説明する。
リアルタイム およびストリーム処理 システムは、その場でイベントを処理し、ユースケースに有用な洞察を生み出すだけでなく、イベントが発生したときにアラートや通知を提供する。第6章では、これらについて詳しく説明する。バッチ処理システムデータソースからのデータをバッチ処理し、処理された出力をデータストアに書き戻す。このような場合、処理システムは、ファイルシステムから読み取り、リレーショナルデータベースに書き込むなど、あるタイプのストアからデータを読み取り、別のタイプのストアに書き込むことがある。クラウドネイティブデータのバッチ処理は、従来のバッチデータ処理と同様であるため、ここでは詳細を説明しない。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access