- データベース›
- Amazon RDS›
- Amazon RDS for MySQL
MySQL とは?
MySQL とは?
MySQL は、人気のある多くのウェブサイト、アプリケーション、商用製品の主要なリレーショナルデータストアとして機能します。コミュニティに支えられて 25 年以上開発とサポートを行ってきたおかげで、MySQL は信頼性が高く、安定した、安全な Structured Query Language (SQL) データベース管理システムです。
MySQL データベースは、ミッションクリティカルなアプリ、動的なウェブサイトなど、さまざまなユースケースに適しています。 MySQL は、そのシンプルさと信頼性から、現代のアプリケーションでも人気の SQL エンジンです。アプリケーション開発者は、シンプルなクライアント/サーバーインターフェイスと迅速なオンボーディングを備えたエンジンを手に入れることができ、組織はトレーニングのコストを節約できます。
AWS は、フルマネージドデータベースサービスである Amazon Relational Database Service (RDS) for MySQL など、さまざまな方法で MySQL をサポートしています。 MySQL 互換の Amazon Aurora MySQL 互換エディションも MySQL を使用して構築されており、Amazon RDS は人気の MySQL フォークプロジェクトである MariaDB をサポートしています。
Amazon EC2 で MySQL ソフトウェアをホストしてデータベースを自己管理することも、AWS Marketplace でサードパーティーの MySQL オファリングを参照することもできます。
MySQL の歴史
MySQL Server の最初のバージョンは、David Axmark 氏、Allan Larsson 氏、Michael Widenius 氏によって設立されたスウェーデンの会社である MySQL AB によって 1995 年にリリースされました。MySQL の名前は、Widenius の娘である My に由来しています。MySQL プロジェクトは、2000 年に GNU General Public License (GPL) に基づいてオープンソースとしてリリースされました。
2001 年までに MySQL のアクティブインストール数は 200 万を超え、2004 年までにソフトウェアのダウンロード回数は 1 日あたり 30,000 回を超えました。MySQL は 2008 年に Sun Microsystems に買収されました。その後、2009 年に Oracle は Sun を買収し、その際に MySQL の所有権も取得しました。
MySQL データベースを使用するメリット
使いやすさ
MySQL データベースは、トリガー、ストアドプロシージャ、更新可能なビューなど、使いやすさや生産性を高める機能を理由として、ウェブデベロッパーに好まれています。MySQL には、バックアッププログラムの mysqldump、管理クライアントの mysqladmin、管理および移行作業用の GUI である MySQL Workbench などのユーティリティが含まれています。
パフォーマンス
時間の経過とともに、MySQL は、インデックス圧縮、スレッドベースのメモリ割り当て、最適化されたネストループ結合を備えた B ツリーディスクテーブルなどの機能により、パフォーマンス機能を強化してきました。ストレージエンジンの行レベルのロックと一貫性のある読み取りにより、MySQL はマルチユーザー同時実行でパフォーマンス上の利点をさらに得ることができます。MySQL は、最小限の機能セットでコア機能を提供することにより、より高速なパフォーマンスを実現するための設計手法に従い、推進しています。
信頼性とセキュリティ
MySQL の InnoDB トランザクションストレージエンジンは ACID モデルに準拠しており、ポイントインタイムリカバリや自動コミットなどのデータ保護を改善する追加機能を備えています。InnoDB は、外部キー制約のサポートを通じてさらなるデータの完全性を提供し、データテーブル間のデータの不整合を防止します。
MySQL には、ホストベースの検証やパスワードトラフィックの暗号化など、強化された柔軟なセキュリティ機能が含まれています。InnoDB は、2 層暗号化キーアーキテクチャを使用した保管中のデータのテーブルスペース暗号化により、セキュリティ上の利点をさらに提供します。
オープンソースライセンス
MySQL はオープンソースライセンス (GNU General Public License) に基づいて提供され、MySQL をインストールするときにソースコードを自由に使用および変更できます。Amazon RDS for MySQL などの MySQL のマネージドバージョンには、独自の SQL エンジンとは異なり、MySQL エンジンに追加のライセンスコストはかかりません。
MySQL の貢献者と熱心なユーザーの大規模なグローバルコミュニティは、データベースシステムの使用に多くの追加的および長期的な利点をもたらします。例えば、MySQL コミュニティはセキュリティの問題とバグ修正を常に把握しており、ソフトウェアの全体的な回復力に貢献しています。MySQL ユーザーグループ、イベント、フォーラム、メーリングリストは、教育とサポートのための組み込みネットワークを提供します。
MySQL の一般的なユースケース
汎用 OLTP データベース
MySQL は、ミッションクリティカルなアプリケーションやトラフィック量の多いウェブサイトなど、トランザクション SQL エンジンを必要とするあらゆるアプリケーションに適しています。MySQL は ACID 原則に準拠しており、ANSI/ISO 標準 SQL の拡張機能と、XML および JSON のサポートが含まれています。
また、MySQL は高可用性データベースクラスタリングをサポートしており、PB 規模のデータベースを処理できます。MySQL データベースを使用する人気のアプリケーションには、TYPO3、MODx、Joomla、WordPress、phpBB、MyBB、Drupal が含まれます。
e コマースアプリケーション
MySQL は、e コマースプラットフォームで最も人気のあるトランザクションエンジンの 1 つです。MySQL は、顧客、トランザクション、製品カタログのすべてのデータの管理に特に役立ちます。
e コマースソリューションでは、MySQL は、注文データの同期や製品以外のデータの保存のためのドキュメントストアや key-value ストアなど、他の非リレーショナルデータベースと組み合わせて使用されることがよくあります。
LAMP オープンソーススタック
MySQL は、LAMP オープンソースソフトウェアスタック (LAMP は Linux、Apache、MySQL、PHP/Python/Perl の頭字語です) で実行される無数のアプリケーションに不可欠です。LAMP は、広く普及しているウェブサービスソリューションスタックであり、動的なウェブサイトや高性能なウェブアプリケーションに適したプラットフォームとして広く認識されています。
MySQL ソフトウェアフォークプロジェクト
MariaDB
MariaDB は、GNU GPL の下で無料かつオープンソースのままにすることを企図する、MySQL の生みの親であるデベロッパーたちによって設立された MariaDB から提供される、人気の MySQL フォークです。MariaDB は MySQL とは別にメンテナンスされており、ライブラリのバイナリ同等性やアプリケーションプログラミングインターフェイス (API) およびさまざまな管理ツールとの正確な一致など、MySQL との高度な互換性を保持しています。AWS は、フルマネージドデータベースサービスである Amazon RDS for MariaDB で MariaDB をサポートしています。
Percona Server
Percona Server は、Percona から提供される、もう 1 つの人気のある MySQL フォークです。Percona Server には、Percona の InnoDB Storage Engine のフォークである XtraDB が含まれています。
アプリケーション開発のための言語サポート
MySQL は SQL 言語のサポートにおいて業界をリードしています。MySQL は、Python、Java、Perl、Node.js、.NET、PHP、Ruby、Erlang、C/C++、Tcl、ODBC、Objective-C などの主要なプログラミング言語とプロトコルもサポートしています。
MySQL とPostgreSQL
MySQL と PostgreSQL はどちらも人気のあるオープンソースのリレーショナルデータベースです。MySQL の人気の理由は、使いやすく高速であり、PostgreSQL は機能が豊富で、MySQL と比較して Oracle などの商用ライセンスバージョンのデータベースにより匹敵すると考えられてきたことです。しかし、MySQL と PostgreSQL の現在のメジャーバージョンはどちらも、クエリパフォーマンス、信頼性、セキュリティなどのサポートで多くの堅牢な特徴や機能を提供しています。PostgreSQL の詳細を確認をご覧ください。また、AWS 無料利用枠を使用して Amazon Aurora PostgreSQL または Amazon RDS for PostgreSQL をお試しいただけます。
AWS での MySQL ホスティングオプション
セルフマネージドの Amazon EC2 での MySQL
歴史的に、リレーショナルデータベースはオンプレミスで運用されてきましたが、データベースワークロードがクラウドに移行する中で、組織は当初、Amazon EC2 を利用して独自のデータベースを実行していました。このアプローチでは、ハードウェアのプロビジョニング、データベースのセットアップ、チューニング、パッチ適用、バックアップ、MySQL スケーラビリティなど、オンプレミスデータベースに伴う通常の管理タスクをすべて管理します。
フルマネージドの Amazon RDS での MySQL
Amazon Relational Database Service (Amazon RDS) は、総保有コストを考慮して最適化された、管理しやすいリレーショナルデータベースです。セットアップ、運用、需要に応じたスケールが簡単です。RDS は、プロビジョニング、設定、バックアップ、パッチ適用など、差別化されていないデータベース管理タスクを自動化します。
RDS では、数分で新しいデータベースを作成でき、ニーズに合わせてデータベースを柔軟にカスタマイズできます。2 つの読み取り可能なスタンバイ機能、最適化された書き込みと読み取り、AWS Graviton4 ベースのインスタンスなどの機能を使用してパフォーマンスを最適化できます。また、複数の料金オプションから選択してコストを効果的に管理できます。
Amazon Aurora MySQL 互換エディションでモダナイズ
Amazon Aurora は、比類のない高いパフォーマンスと可用性をグローバルスケールで MySQL に提供します。Aurora のスループットは MySQL の 5 倍で、完全な互換性があります。Aurora は幅広いコンプライアンス標準とエンタープライズセキュリティ機能を提供し、グローバルに分散されたアプリをサポートします。
Amazon RDS for MySQL の使用を開始するのは簡単です
1
Amazon RDS にサインアップ
Amazon RDS 無料利用枠にアクセスしましょう。
2
簡単なチュートリアルで学ぶ
RDS を使用して MySQL データベースを作成および接続する方法をご覧ください。
3
Amazon RDS を利用して構築を開始する
「MySQL on Amazon RDS ユーザーガイド」を参照して、構築を開始しましょう。
MySQL データベース移行プロセス
ネイティブおよびサードパーティの MySQL データベース移行アプローチ
SQL ダンプおよびレプリケーションサービス
MySQL リレーショナルデータベース管理システムの移行で最も実用的なネイティブアプローチは、SQL ダンプを実行してからレプリケーションアクティビティを実行して、データベースが確実に同期されるようにすることです。組み込みのバックアップユーティリティである MySQL の mysqldump は、MySQL サーバーデータベース移行の基盤として機能します。mysqldump は、ダンプファイルを使用してデータベース全体をダンプし、データベースを再生成するための一連の SQL ステートメントを提供します。この方法は、データベースサイズが 10GB 未満で、高速で安定したインターネット接続があり、データ移行時間がそれほど重要ではない場合に役立ちます。
Percona XtraBackup と Amazon S3
Percona XtraBackup ファイルとバックアップを最初に Amazon S3 に転送することで、データベースサーバーをソースデータベースから新しい Amazon RDS for MySQL または Aurora DB クラスターに 1 対 1 で移行できます。このデータ移行変換プロセスを使用してデータをロードすると、mysqldump を使用するよりも大幅に高速になります。
INFORMATION_SCHEMA データベース
組み込みの INFORMATION_SCHEMA データベースは MySQL メタデータエクスプローラーとして使用できます。この MySQL メタデータエクスプローラーを AWS DMS Schema Conversion と組み合わせて使用すると、ソースデータベースのスキーマが送信先データベースのスキーマとデータタイプと一致するかどうかを判断し、ギャップを修正する場所を特定できます。
マネージド MySQL データ移行サービス
AWS Database Migration Service
AWS データベース移行サービス (DMS) は、MySQL データベースのワークロードを検出、評価、変換、AWS に移行するので、手作業による編集や労力を削減できます。AWS DMS 移行ウィザードでは、Change Data Capture (CDC) による自動レプリケーションを利用してソースとターゲットの両方のインフラストラクチャを選択し、自動評価とターゲットオブジェクトの推奨を含むレポートを作成できます。MySQL のスキーマやオブジェクト定義を MySQL 移行に変換する必要はありません。AWS Application Discovery Service を活用して、データを移行する前に MySQL サーバーデータベース内の依存関係を検出してください。
AWS Application Migration Service
簡単なリフトアンドシフトを実行してオンプレミスの MySQL サーバーから EC2 にデータを移行する場合は、AWS アプリケーション移行サービスを使用してサーバー全体を EC2 に移行できます。この手法は、単一のデータベースまたは複数のデータベースオブジェクトに適用できます。