翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SQL サーバーデータベースをモダナイズする
概要
スケーラビリティ、パフォーマンス、コスト最適化のためにレガシーデータベースをモダナイズする道のりを歩んでいる場合は、SQLServer などの商用データベースで課題に直面している可能性があります。商用データベースは高価で、顧客をロックインし、懲罰的なライセンス条項を提供します。このセクションでは、SQLサーバーからオープンソースデータベースへの移行とモダナイズのオプションの概要と、ワークロードに最適なオプションの選択について説明します。
Server SQL データベースを Amazon Aurora PostgreSQL などのオープンソースデータベースにリファクタリングして、Windows および SQL Server のライセンスコストを節約できます。Aurora のようなクラウドネイティブの最新のデータベースは、オープンソースデータベースの柔軟性と低コストを商用データベースの堅牢なエンタープライズグレードの機能に統合します。可変ワークロードまたはマルチテナントワークロードがある場合は、Aurora サーバーレス V2 に移行することもできます。これにより、ワークロードの特性に応じてコストを 90% まで削減できます。さらに、 AWS では、Babelfish for Aurora Postgre SQL
データベースの提供
Windows 上の SQL Server から Amazon Aurora、Amazon RDS for My 、Amazon RDS for PostgreSQL などのオープンソースデータベースに移行するとSQL、パフォーマンスや機能を損なうことなく大幅なコスト削減を実現できます。以下の点を考慮します。
-
Amazon の SQL Server Enterprise Edition から Amazon RDS for PostgreSQL または Amazon RDS for MySQL EC2に切り替えると、最大 80% のコスト削減につながります。
-
Amazon の SQL Server Enterprise Edition から EC2 Amazon Aurora Postgre SQL互換エディションまたは Amazon Aurora My SQL互換エディションに切り替えると、最大 70% のコスト削減につながります。
従来のデータベースワークロードの場合、Amazon RDS for PostgreSQL と Amazon RDS for MySQL アドレスの要件と、リレーショナルデータベースの費用対効果の高いソリューションを提供します。Aurora は、これまで高価な商用ベンダーに限定されていた多数の可用性とパフォーマンス機能を追加します。Aurora の耐障害性機能は追加コストです。ただし、他の商用ベンダーの同様の機能と比較して、Aurora の耐障害性コストは、同じタイプの機能に対して商用ソフトウェアが請求するよりも依然として安価です。Aurora アーキテクチャは、標準の MySQL および PostgreSQL デプロイと比較して、パフォーマンスが大幅に向上するように最適化されています。
Aurora はオープンソースの PostgreSQL および MySQL データベースと互換性があるため、移植性にはさらに利点があります。最適なオプションが Amazon RDS for Postgre SQL、Amazon RDS for My 、または Aurora のいずれであるかは、ビジネス要件を理解しSQL、必要な機能を最適なオプションにマッピングすることにあります。
Amazon RDSと Aurora の比較
次の表は、Amazon RDSと Amazon Aurora の主な違いをまとめたものです。
カテゴリ | Amazon RDS for PostgreSQL または Amazon RDS for MySQL | Aurora PostgreSQL または Aurora MySQL |
---|---|---|
パフォーマンス | 優れたパフォーマンス | 3 倍以上のパフォーマンス |
フェイルオーバー | 通常 60~120 秒* | 通常 30 秒 |
スケーラビリティ | 最大 5 つのリードレプリカ 秒単位の遅延 |
最大 15 個のリードレプリカ ミリ秒単位の遅延 |
ストレージ | 最大 64 TB | 最大 128 TB |
ストレージ HA | 1 つまたは 2 つのスタンバイを持つマルチ AZ、それぞれデータベースコピー | デフォルトでは、3 つのアベイラビリティーゾーンに 6 つのデータコピー |
バックアップ | 毎日のスナップショットとログのバックアップ | Amazon S3 への継続的な非同期バックアップ |
Aurora でのイノベーション | 該当なし | 100 GB データベースの高速クローン作成 |
リードレプリカの自動スケーリング | ||
クエリプラン管理 | ||
Aurora Serverless | ||
グローバルデータベースによるクロスリージョンレプリカ | ||
クラスターキャッシュ管理** | ||
パラレルクエリ | ||
データベースアクティビティストリーミング |
*大規模なトランザクションではフェイルオーバー時間が長くなる可能性があります
**Aurora Postgre で利用可能SQL
次の表は、このセクションで説明するさまざまなデータベースサービスの推定月額コストを示しています。
データベースサービス | 1 か月USDあたりのコスト* | AWS Pricing Calculator ( が必要 AWS アカウント) |
---|---|---|
Amazon RDS for SQL Server Enterprise エディション | 3,750 ドル | 見積り |
Amazon RDS for SQL Server Standard エディション | 2,318 ドル | 見積り |
SQL Amazon での Server Enterprise Edition EC2 | 2,835 ドル | 見積り |
SQL Amazon の Server Standard Edition EC2 | 1,345 ドル | 見積り |
Amazon RDS for PostgreSQL | $742 | 見積り |
Amazon RDS for MySQL | $712 | 見積り |
Aurora PostgreSQL | 1,032 ドル | 見積り |
Aurora MySQL | 1,031 ドル | 見積り |
* ストレージ料金はインスタンス料金に含まれています。コストはus-east-1
リージョンに基づきます。スループットと IOPSは前提条件です。計算は r6i.2xlarge インスタンスと r6g.2xlarge インスタンス用です。
コスト最適化に関する推奨事項
異種データベース移行では、通常、データベーススキーマをソースからターゲットデータベースエンジンに変換し、データをソースからターゲットデータベースに移行する必要があります。移行の最初のステップは、SQLサーバースキーマとコードオブジェクトを評価してターゲットデータベースエンジンに変換することです。
AWS Schema Conversion Tool (AWS SCT) を使用して、Amazon RDS for MySQL や Amazon RDS for Postgre 、Aurora My SQL、Postgre などのさまざまなターゲットオープンソースデータベースオプションとの互換性についてデータベースを評価SQLおよび評価できますSQL。Babelfish for Aurora Postgre との互換性を評価するには、Babelfish Compass ツールを使用することもできますSQL。これにより、 AWS SCT と Compass は、移行戦略を決定する前に、関連する先行作業を理解するための強力なツールになります。続行すると、 はスキーマに必要な変更 AWS SCT を自動化します。Babelfish Compass の背後にある基本理念は、SQLデータベースを Aurora に移動させ、変更を加えない、またはごくわずかにすることです。Compass は既存のSQLデータベースを評価して、これを実現できるかどうかを判断します。これにより、SQLサーバーから Aurora へのデータの移行に労力が費やす前に、結果がわかります。
AWS SCT は、データベーススキーマとコードのターゲットデータベースエンジンへの変換と移行を自動化します。Babelfish for Aurora PostgreSQL を使用して、スキーマの変更がない、または最小限で、データベースとアプリケーションを SQL Server から Aurora PostgreSQL に移行できます。これにより、移行が加速する可能性があります。
スキーマの移行後、 AWS DMS を使用してデータを移行できます。 AWS DMS は完全なデータロードを実行し、変更をレプリケートして最小限のダウンタイムで移行を実行できます。
このセクションでは、以下のツールについて詳しく説明します。
-
AWS Schema Conversion Tool
-
Babelfish for Aurora PostgreSQL
-
Babelfish コンパス
-
AWS Database Migration Service
AWS Schema Conversion Tool
AWS SCT を使用して既存の SQL Server データベースを評価し、Amazon RDSまたは Aurora との互換性を評価できます。移行プロセスを簡素化するために、 AWS SCT を使用して、異種データベース移行でスキーマをあるデータベースエンジンから別のデータベースエンジンに変換することもできます。 AWS SCT を使用して、アプリケーションを評価し、C#、C++、Java、およびその他の言語で記述されたアプリケーションの埋め込みアプリケーションコードを変換できます。詳細については、 ドキュメントの AWS SCT 「 SQLを使用したアプリケーションの変換 AWS SCT」を参照してください。
AWS SCT は、多くのデータベースソース をサポートする無料の AWS ツールです。を使用するには AWS SCT、ソースデータベースにポイントし、評価を実行します。次に、 はスキーマAWS SCT
次の表は、データベースを異なるターゲットプラットフォームに変更する際の複雑さを示すために によって AWS SCT 生成されたエグゼクティブサマリーの例を示しています。
ターゲットプラットフォーム |
自動または最小限の変更 |
複雑なアクション |
|||||
ストレージオブジェクト |
コードオブジェクト |
変換アクション |
ストレージオブジェクト |
コードオブジェクト |
|||
Amazon RDS for MySQL |
60 (98%) |
8 (35%) |
42 |
1 (2%) |
1 |
15 (65%) |
56 |
Amazon Aurora My SQL互換エディション |
60 (98%) |
8 (35%) |
42 |
1 (2%) |
1 |
15 (65%) |
56 |
Amazon RDS for PostgreSQL |
60 (98%) |
12 (52%) |
54 |
1 (2%) |
1 |
11 (48%) |
26 |
Amazon Aurora Postgre SQL互換エディション |
60 (98%) |
12 (52%) |
54 |
1 (2%) |
1 |
11 (48%) |
26 |
Amazon RDS for MariaDB |
60 (98%) |
7 (30%) |
42 |
1 (2%) |
1 |
16 (70%) |
58 |
Amazon Redshift |
61 (100%) |
9 (39%) |
124 |
0 (0%) |
0 |
14 (61%) |
25 |
AWS Glue |
0 (0%) |
17 (100%) |
0 |
0 (0%) |
0 |
0 (0%) |
0 |
Babelfish |
59 (97%) |
10 (45%) |
20 |
2 (3%) |
2 |
12 (55%) |
30 |
AWS SCT レポートには、自動的に変換できないスキーマ要素の詳細も表示されます。AWS 移行プレイブック
Babelfish for Aurora PostgreSQL
Babelfish for Aurora PostgreSQL は、SQLサーバークライアントからのデータベース接続を受け入れる機能を備えた Aurora PostgreSQL を拡張します。Babelfish を使用すると、SQLサーバー用に構築されたアプリケーションは、コードの変更が少なくSQL、データベースドライバーを変更することなく、Aurora Postgre と直接連携できます。Babelfish は Aurora PostgreSQL をバイリンガルに変換して、Aurora PostgreSQL が T 言語SQLと PL/pgSQL 言語の両方を操作できるようにします。Babelfish は、SQLサーバーから Aurora Postgre に移行する労力を最小限に抑えますSQL。これにより、移行が加速され、リスクが最小限に抑えられ、移行コストが大幅に削減されます。引き続き T SQLポスト移行を使用できますが、PostgreSQL ネイティブツールを開発に使用するオプション
次の図は、T SQLを使用するアプリケーションが SQL Server のデフォルトポート 1433 に接続し、Babelfish トランスレータを使用して Aurora PostgreSQL データベースと通信する方法を示しています。一方、PL/pgSQL を使用するアプリケーションは、Aurora PostgreSQL のデフォルトポート 5432 を使用して Aurora Postgre データベースに直接および同時に接続できますSQL。
Babelfish は、特定のSQLサーバー T SQL機能をサポートしていません。このため、Amazon はSQLステートメントの分析を行い line-by-line、Babelfish がサポートしていないステートメントがあるかどうかを判断するための評価ツールを提供しています。
Babelfish 評価には 2 つのオプションがあります。 は、SQLサーバーデータベースと Babelfish の互換性を評価 AWS SCT できます。もう 1 つのオプションは Babelfish Compass ツールです。これは、Aurora Postgre 用の Babelfish の新しいリリースに合わせて Compass ツールが更新されるため、推奨されるソリューションですSQL。
Babelfish コンパス
Babelfish Compass
評価と変更が完了したら、 SSMSや sqlcmd などのSQLサーバーネイティブツールを使用して、スキーマを Aurora PostgreSQL に移行できます。手順については、 AWS データベースブログの「Babelfish 投稿を使用したSQLサーバーから Amazon Aurora への移行
AWS Database Migration Service
スキーマが移行されたら、 AWS Database Migration Service (AWS DMS) を使用してダウンタイムを最小限に抑え AWS てデータを に移行できます。 は、完全なデータロードを行う AWS DMS だけでなく、ソースシステムの稼働中にソースから宛先への変更をレプリケートします。ソースデータベースとターゲットデータベースの両方が同期されると、アプリケーションが移行を完了するターゲットデータベースを指すカットオーバーアクティビティを実行できます。 AWS DMS 現在、Aurora PostgreSQL ターゲットに対して Babelfish で完全なデータロードのみを実行し、変更をレプリケートしません。詳細については、 AWS DMS ドキュメントの「 のターゲットとして Babelfish AWS Database Migration Serviceを使用する」を参照してください。
AWS DMS は、同種 (同じデータベースエンジン間) 移行と異種 (異なるデータベースエンジン間) 移行の両方を実行できます。 は、多くのソースデータベースエンジンと宛先データベースエンジン AWS DMS をサポートしています。詳細については、 AWS データベースブログの投稿を使用してSQLサーバーデータベースを Amazon RDS for SQL Server に移行する AWS DMS
追加リソース
-
Microsoft SQL Server、Hello Babelfish
(AWS ニュースブログ) -
(データベースブログ) SQLを使用してデータベーススキーマとアプリケーションを変換する AWS Schema Conversion Tool CLI
AWS -
ベストプラクティスと フィールドから学んだ教訓を使用してSQL、サーバーを Amazon Aurora PostgreSQL に移行する
(AWS データベースブログ) -
Microsoft SQL Server から Amazon RDS for PostgreSQL および Amazon Aurora Postgre への移行後のデータベースオブジェクトの検証SQL
(AWS データベースブログ)