専用データベースを検討する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

専用データベースを検討する

概要

Microsoft ベースのワークロードを実行する際の最もコストのかかる側面の 1 つは、SQLサーバーなどの商用データベースのライセンスです。多くの場合、企業はSQLサーバー上で任意のデータベースプラットフォームとして標準化され、組織の開発文化に深く根付いています。デベロッパーは通常、ユースケースに関係なくリレーショナルSQLサーバーベースのモデルを選択します。その理由には次のようなものがあります。

  • ビジネスには、既にSQLサーバーインスタンスやライセンスが利用可能です。

  • チームは、共有ライブラリ、、ORMsビジネスロジックを使用してSQLプログラミングモデルに慣れています。

  • マネジメントは代替案を認識していません。

  • デベロッパーは代替案を認識していません。

専用データベースは、ユースケースのデータアクセスパターンに対応できます。これらのデータベースは、より近代的なアーキテクチャ (マイクロサービスなど) を採用し、個々のアプリケーションの範囲が狭まるにつれて、企業によってますます採用されています。

専用に構築されたデータベースは、リレーショナルモデルを除外したり、いいSQLえ (非リレーショナル) モデルを必要としたりしません。実際、リレーショナルデータベースは、ワークロードの特定のニーズに応じて選択された場合、専用であると見なされます。専用データベースを使用すると、チームは アプリケーションNETに関連するデータベースコストを削減しながら、スケーラビリティ、耐障害性、差別化されていない重労働の削減など、標準的なクラウド上の利点を得ることができます。

次の表は、 が提供する専用データベースを示しています AWS。

データベース タイプ 特性
Amazon Aurora PostgreSQL または Amazon Aurora MySQL リレーショナル

データが固定構造を持つユースケース

リレーショナルデータベースはACID、トランザクションを通じてデータの一貫性を自然に維持します。

Amazon DynamoDB キーと値のペア

ハッシュテーブルのデータ構造を使用してデータを保存するデータベースがないSQL

非構造化データの高性能ストレージと取得

ユースケースには、ユーザープロファイル、セッション状態、ショッピングカートデータが含まれます。

Amazon ElastiCache インメモリ

高性能 非構造化データをミリ秒未満のアクセス時間でメモリに保存するデータベースなしSQL

ユーザーセッションなどの頻繁にアクセスされるエフェメラルデータや、他の遅いデータストアの前でのキャッシュレイヤーとして使用されます。

ElastiCache (Redis OSS) と ElastiCache (Memcached) の両方のサポートが含まれます。

Amazon MemoryDB 耐久性のあるインメモリ 耐久性のあるストレージを備えた Redis 互換の専用データベース
Amazon Timestream 時系列

高スループットのデータ取り込みを時間順で行えるように設計されたデータベース

ユースケースには、モノのインターネット (IoT) アプリケーションやメトリクスやテレメトリデータの保存が含まれます。

Amazon DocumentDB ドキュメント

指定された構造や他のデータとの関係が強制されることなくデータを保存するデータベースがないSQL

製品カタログなどの読み取り負荷の高いワークロードによく使用されます

Amazon Neptune グラフ

データおよびデータ項目間の接続の表現の両方を保持するデータベースがないSQL

ユースケースには、不正検出、レコメンデーションエンジン、ソーシャルアプリケーションが含まれます。

Amazon Keyspaces ワイド列

Apache Cassandra に基づく高性能分散データベース

ユースケースには、IoT アプリケーション、イベント処理、ゲームアプリケーションが含まれます。

専用データベースの採用の大きな要因は、商用ライセンスの廃止に起因する可能性があります。ただし、DynamoDB (オンデマンドモード を含む)、Aurora Amazon NeptuneAmazon Keyspaces などのデータベースの自動スケーリング機能を使用すると、ピーク使用量ではなく、平均ケースの容量をプロビジョニングできます。Timestream などの専用データベースはサーバーレスで、事前プロビジョニングなしで需要に合わせて自動的にスケーリングされます。

AWS は、専用のオープンソース互換リレーショナルデータベースを使用するが、アプリケーションに大幅なコード変更を行うことができない、または行う意思がない場合、Babelfish for Aurora PostgreSQL を提供します。場合によっては、Babelfish では、変更をほとんど行わずに、既存のSQLサーバーアクセスコードを使用できます。

アプリケーション専用リレーショナルデータベースを選択するときは、アプリケーションに必要なのと同じ (または機能的に同等の) 機能を保持することが重要です。この推奨事項では、アプリケーションのプライマリデータストアとして専用データベースに対処します。特定のアプリケーション (キャッシュなど) については、他の推奨事項で説明されています。

コストへの影響

専用データベースを にNET採用すると、ワークロードがコンピューティングの消費/コストに直接影響する可能性は低いものの、 NETアプリケーションが消費するデータベースサービスのコストに直接影響する可能性があります。実際、俊敏性、スケーラビリティ、耐障害性、データ耐久性という付加的な利点と比較すると、コスト削減が副次的な目標になる可能性があります。

このガイドの範囲外では、アプリケーション専用データベースを選択し、効果的に使用するためのデータ戦略を再設計する完全なプロセスについて説明します。詳細については、 AWS チュートリアルディレクトリの「専用データベース」を参照してください。

次の表は、SQLサーバーを専用データベースに置き換えることでアプリケーションコストがどのように変化するかを示すいくつかの例を示しています。これらは単なる概算であることに注意してください。正確な本稼働コストを計算するには、実際のワークロードのベンチマークと最適化が必要です。

これらは、オンデマンドコンピューティングと の 100 GB SSDの単一インスタンスデータベースを含む、一般的に使用される専用データベースの見積もりですus-east-1。ライセンスコストには、SQLサーバーライセンスとソフトウェア保証が含まれます。

次の表は、商用データベースの例の推定コストを示しています。

データベースエンジン ライセンスモデル インスタンスタイプ/仕様 AWS コンピューティング + ストレージコスト ライセンスコスト 月額総コスト
SQL Amazon の Server Standard Edition EC2 ライセンスインクルード r6i.2xlarge (8 CPU/64 GB RAM) $1,345.36 $0.00 $1,345.36
SQL Amazon での Server Enterprise Edition EC2 ライセンスインクルード r6i.2xlarge (8 CPU/64 GB RAM) $2,834.56 $0.00 $2,834.56
SQL Amazon の Server Standard Edition EC2 BYOL r6i.2xlarge (8 CPU/64 GB RAM) $644.56 $456.00 1,100.56 ドル
SQL Amazon での Server Enterprise Edition EC2 BYOL r6i.2xlarge (8 CPU/64 GB RAM) $644.56 $1,750.00 $2,394.56
SQL Amazon の Server Standard Edition RDS   db.r6i.2xlarge (8 CPU/64 GB RAM) $2,318.30 $0.00 $2,318.30
SQL Amazon での Server Enterprise Edition RDS   db.r6i.2xlarge (8 CPU/64 GB RAM) $3,750.56 $0.00 $3,750.56

次の表は、専用サンプルの推定コストを示しています。

データベースエンジン インスタンスタイプ/仕様 AWS コンピューティング + ストレージコスト ライセンスコスト 月額総コスト
Amazon Aurora PostgreSQL r6g.2xlarge (8 CPU/64 GB RAM) 855.87 ドル $0.00 855.87 ドル
DynamoDB プロビジョンドベース 100 WCU/400 RCU $72.00   $72.00
Amazon DocumentDB db.r6i.2xlarge (8 CPU/64 GB RAM) $778.60   $778.60
重要

この表は、購入から 3 年間におけるソフトウェアアシュアランス付きSQLサーバーの推定ライセンスコストに基づいています。SQL Server Standard Edition の場合: $4,100、2 コアパック、3 年間。SQL Server Enterprise エディションの場合: $15,700、コアパック 2 個、3 年間。

専用データベースを採用する前に、コストへの影響を考慮することをお勧めします。例えば、専用データベースを使用するようにアプリケーションを更新するコストは、アプリケーションとソースデータベースの複雑さに関連しています。このアーキテクチャスイッチを計画するときは、総所有コストを必ず考慮してください。これには、アプリケーションのリファクタリング、新しいテクノロジーに関するスタッフのスキル向上、ワークロードごとに予想されるパフォーマンスと消費の綿密な計画が含まれます。そこから、投資がコスト削減に値するかどうかを決定できます。ほとんどの場合、製品を維持すること end-of-supportはセキュリティとコンプライアンスのリスクであり、それを修復するコストは労力と初期投資の価値があります。

コスト最適化に関する推奨事項

サーバーNETにアクセスしている アプリケーションにはSQL、専用リレーショナルデータベース用の代替ライブラリがあります。これらのライブラリをアプリケーションに実装して、同様のSQLサーバーアプリケーションの機能を置き換えることができます。

次の表は、多くの一般的なシナリオで使用できるいくつかのライブラリを示しています。

[Library] (ライブラリ) データベース の置き換え フレームワークの互換性
Npgsql エンティティフレームワークコアプロバイダー Amazon Aurora PostgreSQL エンティティフレームワークコアSQLサーバープロバイダー 最新 。NET
Npgsql エンティティフレームワーク 6 プロバイダー Amazon Aurora PostgreSQL Entity Framework 6.0 SQLサーバープロバイダー 。NET フレームワーク
Npgsql (ADO.NET 互換 PostgreSQL ライブラリ) Amazon Aurora PostgreSQL ADO.NET 。NET フレームワーク/最新 。NET
エンティティSQLフレームワークコアプロバイダー Amazon Aurora MySQL エンティティフレームワークコアSQLサーバープロバイダー 最新 。NET
ポメロEntityFrameworkCore。MySql Amazon Aurora MySQL エンティティフレームワークコアSQLサーバープロバイダー 最新 。NET

Babelfish を使用して Amazon Aurora PostgreSQL に接続する場合、接続に特別なコーディングは必要ありません。ただし、すべてのコードは使用前に徹底的にテストする必要があります。

その他の専用データベースには、 にアクセスするためのライブラリがあります。NET互換性のあるライブラリを使用すると、専用データベースにアクセスできます。その例を以下に示します。

専用構築データベースに移行する場合は、 から以下のツールを使用して移行プロセス AWS に役立てることができます。

追加リソース