メインコンテンツに移動

データベース管理とは何ですか?

データベース管理システムは、組織がデータを保存し、アクセスし、ビジネスチーム、ソフトウェアアプリケーション、およびエンドユーザーと共有するのに役立ちます。組織が大量のデータを必要とする生成 AI テクノロジーで革新を進めるにつれて、安全で効率的で管理されたデータベースストレージの重要性が高まっています。

ただし、データベースにはさまざまな種類があり、それぞれが特定のビジネス目標とプロジェクト要件に合わせて調整されています。例えば、Microsoft SQL Server などの従来のリレーショナルデータベース管理システム (DBMS) は、電子商取引などの構造化データの保存や複雑なクエリの実行に適しています。開発者は SQL データ操作言語を使用して、テーブルの列と行のデータを追加、変更、削除します。

一方、ソフトウェアチームは、非構造化データへのアクセスを必要とする NoSQL データベースプロジェクトをしばしば使用します。  リレーショナルデータベース管理システムとは異なり、NoSQL データベースは柔軟なデータ制御言語を使用してキーと値のペア、ドキュメント、ワイドカラムストアを処理します。

組織に適したデータベース管理システムを選択するときは、次の点を考慮してください。

  • ライセンス、実装、およびデータベースメンテナンスのコスト。
  • 需要の増大に合わせてデータベースのプロビジョニング、設計、サポート、スケーリングを行う社内の専門知識。
  • データレジデンシー、サービスの可用性、データプライバシーを含むセキュリティおよび規制コンプライアンス要件。
  • データベースにアクセスするアプリケーション、サービス、またはユーザーに関するユースケース。

組織によっては、最初はオンプレミスでリレーショナルデータベースを管理し、最終的にはクラウドまたはハイブリッドアーキテクチャに移行してより効率的なデータ取得を行う場合もあります。データベースに関する考慮事項をビジネス目標と整合させることで、データベースを設定した後の複雑さを回避できます。データベース管理者は、リソースの割り当て、データの完全性の制約の克服、およびデータの相互運用性の管理を行うことができます。

データベース管理戦略とは何ですか?

データベースは、ビジネスプロセス、アプリケーション、およびユーザーアクセスの基盤として機能します。そのため、組織は設置したデータベースシステムに対して戦略的にアプローチする必要があります。以下では、データ品質の維持、コストの削減、優れたユーザーエクスペリエンスの確保に役立つデータ管理手法を紹介します。

スケーラビリティを念頭に置いた設計

スケーラブルなデータベースにより、組織は、プロセッサやデータストレージなどの既存のコンピューティングリソースを限界に到達させる可能性があるトラフィック量の増加を緩和できます。データベースは水平方向と垂直方向にスケーリングできます。

水平スケーリング

水平スケーリングでは、トラフィックを単一のデータベースに転送するのではなく、データクラスターをさらに追加する必要があります。この方法では、受信トラフィックが均等化され、データベースシステム全体が過負荷になるのを防ぎます。受信したリクエストは、データを含む特定のコンポーネントにリダイレクトできるため、データの取得が高速になります。データベースを水平方向にスケーリングするために、次の方法を実装できます。

  • データベースシャーディング。データベースを分割して小さな部分に分散させます。
  • 負荷分散。ネットワークトラフィックをデータベースクラスターに分散する手法です。
  • リードレプリカ。メインデータベースを複製し、特定のデータに頻繁にアクセスする必要があるアプリケーションに提供します。

垂直スケーリング

垂直スケーリングは、データベースが使用するコンピューティングリソースを増やすアプローチです。水平スケーリングと同様に、トラフィックが急増してもデータベースシステムが確実に動作できます。ただし、垂直スケーリングではデータベース設計を変更する必要はありません。

組織は追加のデータベースサーバーに投資し、それに応じてプロビジョニングする必要があるため、オンプレミスの物理データベースを垂直方向にスケーリングするにはコストがかかります。垂直スケーリングをより簡単かつ手頃な価格で行うためには、組織はクラウドデータベースを基盤にします。AWS クラウドデータベースを使用すると、次のことが可能になります。

  • サーバーインフラストラクチャをプロビジョニングせずにデータベースをデプロイします。
  • データベースを必要な容量にスケーリングします。
  • 使用したコンピューティングリソース分のみを支払います。

データバックアップ戦略の確立

データベースを扱うとき、データの完全性と可用性を確保し、データセキュリティリスクを最小限に抑える責任は組織にあります。優れたバックアップ戦略には、データを複製して安全に保存することが含まれます。さらに、迅速に復旧し、業務の中断を防ぐための対策も含まれています。

効果的なデータベースバックアップ戦略があれば、ダウンタイムから迅速に回復し、ビジネスの継続性を確保できます。例えば、データベースの変更を継続的にログに記録する場合、変更されたか、使用できなくなった前の時点までそれらを回復できます。 

特定の業界の組織は、特定の期間の履歴データのコピーを保管することが法律で義務付けられています。データベースバックアップの作成は、データベースシステムをあるインフラストラクチャから別のインフラストラクチャに移行する場合にも役立ちます。このようなタスクには、多くの場合、リレーショナルデータベースなどのさまざまなソースからのデータを統合し、新しいセットアップで復元することが含まれます。このプロセス中、後続のデータ変換は細心の注意を払って実行されますが、それでもデータが不正確になる可能性があります。その場合は、バックアップを使用して変更をロールバックできます。

AWS Backup は、クラウド環境とハイブリッド環境の両方にわたってデータのバックアップと保護を簡素化します。データ保護を自動化し、データ資産を監視し、ディザスタリカバリ機能を提供することで、コンプライアンスガイドラインを満たすことが可能になります。AWS データベースのバックアップを開始する方法を次に示します。

  1. AWS にサインアップして AWS Backup コンソールを起動します。
  2. バックアップ計画を作成し、バックアップのポリシー、方法、レポート、およびその他のパラメーターを構成します。
  3. Amazon Elastic Block Store (EBS) ボリュームAmazon Relational Database Service (RDS) データベースAmazon DynamoDB テーブルなどの、バックアップしたいデータベースを割り当てます。
  4. バックアップを開始します。
  5. バックアップを監視し、必要に応じて復元します。

きめ細かいアクセス制御の適用

組織は、データベースに保存されている情報に誰がアクセスできるかを管理する必要があります。アクセス制御メカニズムには認証と承認が必要です。認証により、データベースへのアクセスを要求しているユーザーの身元を確認できます。一方、承認は、特定のユーザーにアクセス権を付与すべきかどうかを示します。これらが一緒になって、最新のデータベースを安全に保つ、次のようなアクセス制御方法の基礎を形成します。

  • ロールベースのアクセス制御 (RBAC) は、最小特権の原則に基づいてデータベースアクセスを提供します。この方法では、ユーザーの役割に必要なデータのみへのアクセス権をユーザーに付与します。
  • 属性ベースのアクセス制御 (ABAC) は、特定のデータへのアクセスを許可する前に、時間、場所、ユーザーの要件などの変化する要素を考慮します。

アクセスを規制することに加えて、組織はデータベースを継続的に監視および監査して、不正な試みを検出し、セキュリティレジリエンスを強化する必要があります。

AWS IAM を使用すると、クラウドワークロードへのきめ細かなアクセス権を適用する許可ガードレールを設定できます。最も権限の低いポリシーの生成、許可の確認、アクセス権をさらに制限する条件の設定を行うことができます。ヘルスケアプラットフォームプロバイダーである Wellola は、IAM を使用して、開発者にその機能へのアクセスを許可するときに、厳格なデータガバナンスと保護を実施しています。

パフォーマンスの監視とファインチューニング

データベースシステムでは、時間の経過とともにパフォーマンスが低下し、ボトルネックが発生する可能性があります。対処しないままにしておくと、データベースに依存するアプリケーションとサービスが悪影響を受けます。保存されたデータへの信頼性の高いアクセスを確保するには、データベースのパフォーマンスを継続的に監視し、ファインチューニングする方法が必要です。例えば、複数のユーザーが急速に変化するデータを扱うときは特に、データベースで同時実行制御の問題が発生する可能性があります。これにより、データに不整合が生じる可能性があります。

従来のデータベース監視は、手動による介入に大きく依存していたため、問題の特定から是正措置の実施までに遅延が生じていました。最新のデータベースは、自動パフォーマンス監視の恩恵を受けて、問題解決を迅速化します。

Amazon Relational Database Service (Amazon RDS) を使用すると、データベースの主要な指標を自動的に表示するダッシュボードにアクセスできます。例えば、データベースが稼働しているかどうか、データベースが消費しているリソース、リードレプリカのステータスを確認できます。さらに、AWS RDS を他の AWS サービスと統合できます。例:

  • Amazon CloudWatch を使用すると、組み込みの RDS メトリックスをモニタリングし、アラームをトリガーして後続のアクションをアクティブにできます。
  • Amazon EventBridge は、Amazon RDS 環境の変化を示すイベントをキャプチャして他の AWS サービスにルーティングします。
  • Amazon CloudTrail は、データベースにアクセスしたときに RDS に対して行われた API コールを記録します。

分析のためのデータ統合を確立

各アプリケーションデータベースは、組織内のサイロとして存在します。分析を通じて実用的な洞察を引き出すには、複数のデータベースからデータを統合する必要があります。例えば、構造化データ、非構造化データ、半構造化データが混在して格納されているデータベースのグループがあるとします。ただし、それらを分析するには、より柔軟なデータモデルと複雑なデータ構造をサポートするストレージにデータを抽出、変換、ロード (ETL) する必要があります。

そのための最善の方法は、関連するデータベースをデータウェアハウスまたはデータレイクに接続するデータパイプラインをセットアップすることです。これにより、取引データや業務データを、ビジネスインテリジェンス (BI) アプリケーションが効果的に分析できる形式に変換できます。

Amazon Redshift は、複雑なデータパイプラインを必要とせずにデータベースを統合するのに役立つクラウドデータウェアハウスです。ゼロ ETL 機能により、Amazon RDS、Amazon AuroraAmazon DynamoDB からのデータインジェストが自動化され、ほぼリアルタイムの分析が可能になります。例えば、e コマースアプリケーションが AWS がホストする構造化クエリ言語 (SQL) データベースにトランザクションを保存すると、データは自動的に変換されて Amazon Redshift に送信されます。 

AWS はデータベース管理システムをどのようにサポートできますか?

データベースシステムの管理では、セキュリティ、スケーラビリティ、機能性、ガバナンスのバランスをとる必要があります。このような取り組みには、専門知識、技術、データ専門家と主要な利害関係者間の協力が必要です。効果的なデータベース管理戦略に支えられると、インフラストラクチャのコストを削減し、データの整合性を維持し、クラウドでより効率的に革新できます。

最新のアプリケーションのための強固なデータ基盤の構築に役立つ AWS データベースサービスをご覧ください。