AliSQL は、Alibaba Cloud が独自に開発した MySQL ブランチです。MySQL Community Edition のすべての機能を含むほか、バックアップおよび復元、モニタリング、パフォーマンス最適化、読み取り専用インスタンス、シーケンスエンジンなどの Oracle 互換機能といった、エンタープライズ向け機能を追加しています。
AliSQL の概要
AliSQL は MySQL Community Edition を基盤とし、以下の機能により MySQL Enterprise Edition とのギャップを解消します。
エンタープライズ向けバックアップおよび復元 — InnoDB 向けホットバックアップ、ポイントインタイムリカバリ (PITR)、データベースおよびテーブルレベルの復元
スレッドプール — セッションとスレッドを分離することで、少数のスレッドで高同時接続ワークロードを効率的に処理可能
パフォーマンス最適化 — パラレルクエリ、Binlog in Redo、ステートメントキューなど、負荷下でのレイテンシ低減およびスループット向上を実現する機能
Oracle 互換性 — シーケンスエンジンにより、シーケンスに基づく ID 生成に依存する Oracle ワークロードの移行を簡素化
ApsaraDB RDS for MySQL では、AliSQL にさらにマネージドサービス機能(リージョン間バックアップ、SQL Insights、Enhanced Monitor、シングルテナント向けデータベースプロキシ)を追加しています。
対応バージョン
以下の表は、AliSQL の各機能とその対応する MySQL バージョンを示しています。
機能
| 機能 | 説明 | MySQL 8.0 | MySQL 5.7 | MySQL 5.6 |
|---|---|---|---|---|
| ネイティブフラッシュバック | SQL ステートメントを実行して指定時点のデータをクエリまたは復元する機能 — 誤操作直後に既存データを即座に復旧できます。 | 対応 | 非対応 | 非対応 |
| スレッドプール | セッションとスレッドを分離し、少数のスレッドで全アクティブセッションを処理することで、多数の接続時のオーバーヘッドを削減します。 | 対応 | 対応 | 対応 |
| ステートメントアウトライン | オプティマイザヒントおよびインデックスヒントを用いてクエリ実行計画を安定化します。この機能を利用するには、DBMS_OUTLN パッケージをインストールしてください。 | 対応 | 対応 | 非対応 |
| シーケンスエンジン | Oracle 互換ワークロード向けのシーケンス値生成を簡素化します。 | 対応 | 対応 | 対応 |
| Returning | DML ステートメントが結果セットを返すことを許可します。この機能を利用するには、DBMS_TRANS パッケージをインストールしてください。 | 対応 | 非対応 | 非対応 |
| EncDB | 指定されたデータカラムを暗号化し、クラウドプラットフォームのソフトウェアやツールを通じて不正なユーザーがプレーンテキストにアクセスすることを防止します。 | 非対応 | 対応 | 非対応 |
パフォーマンス
| 機能 | 説明 | MySQL 8.0 | MySQL 5.7 | MySQL 5.6 |
|---|---|---|---|---|
| Fast Query Cache | Alibaba Cloud がネイティブの MySQL クエリキャッシュを再設計し、新しい実装メカニズムを採用してクエリパフォーマンスを向上させた機能です。 | 非対応 | 対応 | 非対応 |
| Binlog in Redo | トランザクションコミット時にバイナリログをリドログファイルに書き込むことで、ディスク I/O を削減し、書き込みスループットを向上させます。 | 対応 | 非対応 | 非対応 |
| ステートメントキュー | 同一リソース(例:同一テーブル行)を操作するステートメントを同一バケットにキューイングすることで、競合によるオーバーヘッドを削減します。 | 対応 | 対応 | 非対応 |
| Inventory Hint | Returning およびステートメントキュー機能と連携して、トランザクションのコミットおよびロールバックを高速化し、アプリケーションのスループットを向上させます。 | 対応 | 対応 | 対応 |
| Binlog Parallel Flush | トランザクションコミット時にバイナリログを並列書き込みすることで、高同時実行シナリオにおける書き込みボトルネックを解消します。 | 対応 | 非対応 | 非対応 |
安定性
| 機能 | 説明 | MySQL 8.0 | MySQL 5.7 | MySQL 5.6 |
|---|---|---|---|---|
| 高速 DDL | バッファープール管理を最適化し、DDL 操作によるパフォーマンスへの影響を軽減するとともに、同時実行可能な DDL 操作数を増加させます。 | 対応 | 対応 | 対応 |
| ステートメント同時実行制御 | 構文ルールに基づいてステートメントの同時実行を制御します。この機能を利用するには、DBMS_CCL パッケージをインストールしてください。 | 対応 | 対応 | 非対応 |
| Performance Agent | MySQL 拡張機能であり、インスタンスのパフォーマンスメトリクスを収集・分析します。 | 対応 | 対応 | 対応 |
| 大規模ファイルの非同期削除 | 大規模ファイルを非同期で削除することで、I/O スパイクによるインスタンスの安定性低下を回避します。 | 対応 | 対応 | 対応 |
| Performance Insight | インスタンス単位での負荷モニタリング、アソシエーション分析、パフォーマンス最適化を提供し、パフォーマンスボトルネックの特定および解決を支援します。 | 対応 | 対応 | 非対応 |
| 大規模トランザクションのコミット最適化 | 大規模トランザクションのコミット(binlog キャッシュのフリーフラッシュ)を最適化し、過度なバイナリログ書き込みレイテンシを防止し、インスタンスの応答性を維持します。 | 対応 | 非対応 | 非対応 |
高度なセキュリティ
| 機能 | 説明 | MySQL 8.0 | MySQL 5.7 | MySQL 5.6 |
|---|---|---|---|---|
| リサイクルビン | 削除されたテーブルを設定可能な期間だけ一時的に保持し、誤って削除した場合でも復元できるようにします。この機能を利用するには、DBMS_RECYCLE パッケージをインストールしてください。 | 対応 | 非対応 | 非対応 |
機能一覧
分類 | 機能 | Community Edition | Official Enterprise Edition | AliSQL kernel (5.7 & 8.0) | ApsaraDB RDS for MySQL |
エンタープライズ付加価値サービス | 提供なし | ✓ | ✓ | ✓ | |
提供なし | ✓ | ✓ | ✓ | ||
提供なし | ✓ | √ | √ | ||
MySQL 機能 | ✓ | ✓ | ✓ | ✓ | |
MySQL Connectors | ✓ | ✓ | パブリックディストリビューションに対応 | パブリックディストリビューションに対応 | |
MySQL Replication | ✓ | ✓ | √ | ✓ | |
MySQL Router | ✓ | ✓ | MaxScale(MySQL 8.0 で対応) | シングルテナントインスタンス向けデータベースプロキシ | |
MySQL Partitioning | ✓ | ✓ | √ | ✓ | |
InnoDB MyISAM NDB | InnoDB MyISAM NDB | InnoDB X-Engine | InnoDB X-Engine | ||
Oracle 互換性 | 提供なし | 提供なし | MySQL 8.0 で対応 | MySQL 8.0 で対応 | |
MySQL Enterprise Monitor | 提供なし | ✓ | 開発中 | Enhanced Monitor | |
提供なし | ✓ | 開発中 | Performance Insight | ||
提供なし | ✓ | 開発中 | ✓ | ||
提供なし | 提供なし | 提供なし | Enhanced Monitor | ||
MySQL Enterprise Backup | 提供なし | √ | ✓ | √ | |
提供なし | ✓ | ✓ | データベースレベルおよびテーブルレベルのバックアップ | ||
提供なし | √ | ✓ | データベースレベルおよびテーブルレベルの復元 | ||
提供なし | √ | ✓ | ✓ | ||
提供なし | 提供なし | 提供なし | リージョン間バックアップ | ||
提供なし | 提供なし | MySQL 8.0 で対応 | MySQL 8.0 で対応 | ||
提供なし | 提供なし | ✓ | √ | ||
MySQL Enterprise Security | ローカルキー置き換え | ✓ | BYOK TDE、キーのローテーション | BYOK TDE、キーのローテーション | |
提供なし | 提供なし | 提供なし | 保管時の BYOK 暗号化 | ||
SSL | ✓ | SSL | SSL | ||
提供なし | ✓ | SQL Explorer | SQL Explorer | ||
SM4 セキュリティ暗号化アルゴリズム | 提供なし | 提供なし | ✓ | ✓ | |
提供なし | 提供なし | MySQL 5.7 で対応 | MySQL 5.7 で対応 | ||
MySQL Enterprise Scalability | 提供なし | ✓ | MySQL 8.0 で対応 | MySQL 8.0 で対応 | |
提供なし | 提供なし | √ | 読み取り専用インスタンス | ||
MySQL Enterprise Reliability | 提供なし | 提供なし | ✓ | ✓ | |
提供なし | 提供なし | ✓ | ✓ | ||
提供なし | 提供なし | ✓ | ✓ | ||
提供なし | 提供なし | ✓ | ✓ | ||
MySQL Enterprise High-Availability | 提供なし | 提供なし | サードパーティ製高可用性メカニズムが必要 | High-availability Edition | |
✓ | ✓ | ✓ | 読み取り専用インスタンス向け高可用性 |
機能
以下の表は、AliSQL(MySQL 5.7 および MySQL 8.0)、MySQL Community Edition、MySQL Enterprise Edition、ApsaraDB RDS for MySQL の各機能を比較したものです。
エンタープライズ向け付加価値サービス
| 機能 | MySQL Community Edition | Enterprise Edition | AliSQL(MySQL 5.7 および MySQL 8.0) | ApsaraDB RDS for MySQL |
|---|---|---|---|---|
| 24 時間 365 日サポート | 非対応 | ✓ | ✓ | ✓ |
| 緊急トラブルシューティング | 提供なし | ✓ | ✓ | ✓ |
| エキスパートサポート | 非対応 | ✓ | ✓ | ✓ |
MySQL 機能
| 機能 | MySQL Community Edition | Enterprise Edition | AliSQL(MySQL 5.7 および MySQL 8.0) | ApsaraDB RDS for MySQL |
|---|---|---|---|---|
| MySQL Database Server | ✓ | ✓ | ✓ | ✓ |
| MySQL Connectors | ✓ | ✓ | パブリックバージョンに対応 | パブリックバージョンに対応 |
| MySQL Replication | ✓ | ✓ | ✓ | ✓ |
| MySQL Router | ✓ | ✓ | MySQL 8.0 で MaxScale に対応 | シングルテナント向けデータベースプロキシ |
| MySQL Partitioning | ✓ | ✓ | ✓ | ✓ |
| ストレージエンジン | InnoDB、MyISAM、NDB | InnoDB、MyISAM、NDB | InnoDB、X-Engine | InnoDB、X-Engine |
Oracle 互換性
| 機能 | MySQL Community Edition | Enterprise Edition | AliSQL(MySQL 5.7 および MySQL 8.0) | ApsaraDB RDS for MySQL |
|---|---|---|---|---|
| シーケンスエンジン | 提供なし | 提供なし | MySQL 8.0 で対応 | MySQL 8.0 で対応 |
MySQL Enterprise Monitor
| 機能 | MySQL Community Edition | Enterprise Edition | AliSQL(MySQL 5.7 および MySQL 8.0) | ApsaraDB RDS for MySQL |
|---|---|---|---|---|
| Enterprise Dashboard | 提供なし | ✓ | 開発中 | Enhanced Monitor |
| Query Analyzer | 非対応 | ✓ | 開発中 | Performance Insight |
| Replication Monitor | 提供なし | ✓ | 開発中 | ✓ |
| Enhanced OS Metrics | 非対応 | 提供なし | 非対応 | Enhanced Monitor |
MySQL Enterprise Backup
| 機能 | MySQL Community Edition | Enterprise Edition | AliSQL(MySQL 5.7 および MySQL 8.0) | ApsaraDB RDS for MySQL |
|---|---|---|---|---|
| InnoDB 向けホットバックアップ | 提供なし | ✓ | ✓ | ✓ |
| 完全バックアップ、増分バックアップ、部分バックアップ、楽観的バックアップ | 非対応 | ✓ | ✓ | データベースおよびテーブルレベルのバックアップに対応 |
| 完全復元、部分復元、選択的復元、およびホット選択的復元 | 非対応 | ✓ | ✓ | データベースおよびテーブルレベルの復元に対応 |
| ポイントインタイムリカバリ (PITR) | 利用不可 | ✓ | ✓ | ✓ |
| リージョン間バックアップ | 非対応 | 非対応 | 非対応 | リージョン間バックアップに対応 |
| リサイクルビン | 提供なし | 非対応 | MySQL 8.0 で対応 | MySQL 8.0 で対応 |
| フラッシュバック | 非対応 | 提供なし | ✓ | ✓ |
MySQL Enterprise Security
| 機能 | MySQL Community Edition | Enterprise Edition | AliSQL(MySQL 5.7 および MySQL 8.0) | ApsaraDB RDS for MySQL |
|---|---|---|---|---|
| Enterprise TDE | ローカルキー置き換えに対応 | ✓ | BYOK ベースの TDE およびキーのローテーションに対応 | BYOK ベースの TDE およびキーのローテーションに対応 |
| Enterprise disk data encryption at rest | 非対応 | 非対応 | 非対応 | BYOK ベースのディスク暗号化に対応 |
| Enterprise encryption | SSL | ✓ | SSL | SSL |
| SQL Explorer | 非対応 | ✓ | SQL Insights | SQL Insights |
| SM4 暗号化アルゴリズム | 提供なし | 非対応 | ✓ | ✓ |
| EncDB | 非対応 | 非対応 | MySQL 5.7 で対応 | MySQL 5.7 で対応 |
MySQL Enterprise Scalability
| 機能 | MySQL Community Edition | Enterprise Edition | AliSQL(MySQL 5.7 および MySQL 8.0) | ApsaraDB RDS for MySQL |
|---|---|---|---|---|
| スレッドプール | 提供なし | ✓ | MySQL 8.0 で対応 | MySQL 8.0 で対応 |
| Enterprise readonly request extension | 提供なし | 非対応 | ✓ | 読み取り専用インスタンスに対応 |
MySQL Enterprise Reliability
| 機能 | MySQL Community Edition | Enterprise Edition | AliSQL(MySQL 5.7 および MySQL 8.0) | ApsaraDB RDS for MySQL |
|---|---|---|---|---|
| ステートメントアウトライン | 非対応 | 非対応 | ✓ | ✓ |
| Inventory Hint | 提供なし | 非対応 | ✓ | ✓ |
| ステートメント同時実行制御 | 非対応 | 利用不可 | ✓ | ✓ |
| Hot SQL Firewall | 非対応 | 非対応 | ✓ | ✓ |
MySQL Enterprise High-Availability
| 機能 | MySQL Community Edition | Enterprise Edition | AliSQL(MySQL 5.7 および MySQL 8.0) | ApsaraDB RDS for MySQL |
|---|---|---|---|---|
| Enterprise Automatic Failover Switch | 提供なし | 提供なし | サードパーティ製高可用性メカニズムが必要 | RDS High-availability Edition |
| マルチソースレプリケーション | ✓ | ✓ | ✓ | 高可用性の読み取り専用インスタンスに対応 |