翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
専用データベースを検討する
概要
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 (オンデマンドモード
AWS は、専用のオープンソース互換リレーショナルデータベースを使用するが、アプリケーションに大幅なコード変更を行うことができない、または行う意思がない場合、Babelfish for Aurora PostgreSQL
アプリケーション専用リレーショナルデータベースを選択するときは、アプリケーションに必要なのと同じ (または機能的に同等の) 機能を保持することが重要です。この推奨事項では、アプリケーションのプライマリデータストアとして専用データベースに対処します。特定のアプリケーション (キャッシュなど) については、他の推奨事項で説明されています。
コストへの影響
専用データベースを に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 |
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互換性のあるライブラリを使用すると、専用データベースにアクセスできます。その例を以下に示します。
-
Amazon DynamoDB NoSQL データベースの使用 (AWS SDK for .NET ドキュメント)
-
MongoDB C# ドライバー
(MongoDB ドキュメント) -
。NET (タイムストリームドキュメント)
-
Cassandra の使用。NET プログラムで Amazon Keyspaces にアクセスするためのコアクライアントドライバー (Amazon Keyspaces ドキュメント)
-
.NET を使用して Neptune DB インスタンスに接続する (Neptune ドキュメント)
専用構築データベースに移行する場合は、 から以下のツールを使用して移行プロセス AWS に役立てることができます。
-
AWS Schema Conversion Tool (AWS SCT)
は、SQLサーバースキーマを Amazon Aurora および Amazon DynamoDB に変換するのに役立ちます。 -
AWS Database Migration Service (AWS DMS)
は、SQLサーバーから Aurora または DynamoDB にデータを 1 回または継続的に移行するのに役立ちます。 -
Babelfish Compass
は、Babelfish for Aurora Postgre とのSQLサーバーデータベースの互換性を確認するのに役立ちますSQL。
追加リソース
-
SQL サーバーを Amazon Aurora Postgre に移行するためのガイダンスSQL
(AWS データベースブログ) -
。NET モダナイゼーションワークショップ
(AWS Workshop Studio) -
Babelfish APP Modernization Immersion Day
(AWS Workshop Studio) -
。NET イマージョンデー
(AWS Workshop Studio) -
での Amazon Timestream の開始方法。NET
(GitHub) -
最新の 用の専用データベース。NET アプリケーション AWS
(AWS プレゼンテーション)