AliSQL は、Alibaba Cloud が開発した、MySQL の独立したブランチです。AliSQL は MySQL のすべての機能を提供します。また、バックアップと復元、モニタリング、パフォーマンスの最適化、読み取り専用インスタンスなどのエンタープライズグレードの機能も提供します。このトピックでは、AliSQL が提供する機能の概要を説明します。また、AliSQL と他の MySQL バージョンとの比較も行います。
RDS for MySQL は、Alibaba Cloud が大幅にカスタマイズした MySQL の独立ブランチ、AliSQL カーネルを基盤としています。MySQL のすべての機能に加え、セキュリティ、バックアップ、復元、モニタリング、パフォーマンスの最適化、読み取り専用インスタンスなどのエンタープライズグレードの機能も提供します。このドキュメントでは、AliSQL の主な機能を説明し、他の MySQL バージョンと比較します。
AliSQL
AliSQL は、Alibaba Cloud が保守する MySQL のブランチです。コミュニティエディションには、MySQL Enterprise Edition に匹敵するエンタープライズグレードの機能 (エンタープライズグレードのバックアップとリカバリ、スレッドプール、パラレルクエリなど) が追加されています。また、AliSQL はシーケンスエンジンなどの Oracle 互換機能も提供します。
バージョン別の機能提供状況
機能
機能 | 説明 | MySQL バージョン | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
SQL ステートメントを使用して、特定の時点のデータをクエリまたは復元できます。これにより、誤操作から迅速にリカバリできます。 | サポート | サポート | 非サポート | 非サポート | |
スレッドプールを使用してスレッドをセッションから分離し、少数のスレッドで多数のアクティブなセッションのタスクを処理できるようにします。 | サポート | サポート | サポート | サポート | |
オプティマイザヒントとインデックスヒントを使用して MySQL の実行計画を安定化します。管理を容易にするための DBMS_OUTLN ツールキットも含まれています。 | サポート | サポート | サポート | 非サポート | |
シーケンス値の生成を簡素化します。 | サポート | サポート | サポート | サポート | |
DML ステートメントで結果セットを返すことができます。管理を容易にするための DBMS_TRANS ツールキットも含まれています。 | サポート | サポート | 非サポート | 非サポート | |
指定したデータ列を暗号化し、クラウドプラットフォームのツールによる平文データへの不正アクセスを防ぎます。 | 非サポート | サポート | サポート | 非サポート | |
パフォーマンス
機能 | 説明 | MySQL バージョン | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
MySQL ネイティブのクエリキャッシュの制約を解消するように再設計されたキャッシュにより、クエリパフォーマンスを向上させます。 | 非サポート | 非サポート | サポート | 非サポート | |
トランザクションのコミット時に、バイナリログの内容を redo ログへ同期的に書き込みます。これにより、ディスク I/O を削減し、データベースのパフォーマンスを向上させます。 | サポート | サポート | 非サポート | 非サポート | |
競合オーバーヘッドを削減するために、ステートメントをキューにグループ化します。同一行に対するステートメントなど、競合が発生しやすいステートメントは同じバケットに配置されます。 | サポート | サポート | サポート | 非サポート | |
トランザクションの高速なコミットとロールバックを可能にします。RETURNING およびステートメントキュー機能と併用すると、ビジネススループットが大幅に向上します。 | サポート | サポート | サポート | サポート | |
トランザクションのコミット時にバイナリログを並列に書き込むことで、高同時実行シナリオにおけるデータベースの書き込みパフォーマンスを向上させます。 | サポート | サポート | 非サポート | 非サポート | |
安定性
機能 | 説明 | MySQL バージョン | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
ステートメントレベルの同時実行制御 (CCL) を提供します。管理を容易にするための DBMS_CCL ツールキットも含まれています。 | サポート | サポート | サポート | 非サポート | |
インスタンスから内部のパフォーマンスメトリクスを収集して集計する MySQL プラグインです。 | サポート | サポート | サポート | サポート | |
大容量ファイルを非同期で削除することで、システムの安定性を確保します。 | サポート | サポート | サポート | サポート | |
インスタンスレベルのワークロードモニタリング、相関分析、パフォーマンスチューニングのための強力なツールです。データベース負荷を迅速に把握し、パフォーマンス問題の根本原因を特定して、データベースの安定性を向上させるのに役立ちます。 | サポート | サポート | サポート | 非サポート | |
大規模トランザクションのコミットにおけるバイナリログの書き込み段階を最適化します。これにより、書き込み時間の長期化、インスタンスの停止、ハングを防止し、インスタンスの安定性を向上させます。 | サポート | サポート | サポート | 非サポート | |
DDL の最適化
機能 | 説明 | MySQL バージョン | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
メタデータのみを変更して列を即時に追加することで、テーブル全体の再構築を回避します。この高速でリソース効率に優れ、非ブロッキングな操作は、スキーマ変更が頻繁に必要な環境に最適です。 | サポート | サポート | サポート | 非サポート | |
メタデータのみを変更して列のデータ型を即時に変更することで、テーブル全体のコピーを回避します。これにより、処理時間を短縮し、運用効率を向上させます。 | サポート | サポート | 非サポート | 非サポート | |
メタデータのみを変更して列の文字セットを即時に変更することで、テーブルの再構築を回避します。これにより、処理時間を短縮し、運用効率を向上させます。 | サポート | サポート | サポート | 非サポート | |
InnoDB エンジン層で列タイプの変更を実行し、読み取りと書き込みの処理をブロックせずにオンラインで変更できるようにします。 | サポート | サポート | サポート | 非サポート | |
DDL 実行時のユニークキー競合の処理を改善し、失敗を減らして成功率を向上させます。 | サポート | サポート | 非サポート | 非サポート | |
DDL 操作に対して BPS と IOPS の上限を設定し、I/O リソースの消費を制御することで、ワークロードの安定性を確保します。 | サポート | サポート | 非サポート | 非サポート | |
MDL ロックを迅速に取得できない場合に、DDL 操作によってセッションがブロックされるのを防止します。これにより、接続の滞留を回避し、インスタンスの安定性と可用性を向上させます。 | サポート | サポート | 非サポート | 非サポート | |
ヒントを使用して、DDL スレッドの MDL ロック待機タイムアウトを制御できます。これにより、長時間の待機によるセッションのブロックや接続の滞留を防止できます。 | サポート | サポート | 非サポート | 非サポート | |
DDL 操作中のバッファプール管理メカニズムを最適化し、パフォーマンスへの影響を抑えます。さらに、オンライン DDL 操作の同時実行性を高めます。 | サポート | サポート | サポート | サポート | |
削除されたテーブルを、保持期間を設定可能なリサイクルビンに移動し、データを容易に復元できます。管理を容易にするための DBMS_RECYCLE ツールキットも含まれています。 | サポート | サポート | サポート | 非サポート | |
レプリケーションの最適化
機能 | 説明 | MySQL バージョン | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
バッチデータ処理中に発生するラグを解消するために、パラレルレプリケーションの待機ロジックを最適化します。オフピーク時のバッチ削除、再編成、データインポートなどのタスクに最適です。 | サポート | サポート | 非サポート | 非サポート | |
大規模トランザクションの実行中に、バイナリログをセカンダリインスタンスへストリーミングします。これにより、準同期レプリケーションのタイムアウトと非同期モードへのフォールバックを防止し、高いデータ信頼性と安定したパフォーマンスを確保します。 | サポート | サポート | 非サポート | 非サポート | |
プライマリインスタンスの開始時にセカンダリへ通知することで、プライマリとセカンダリが DDL 操作を同時に実行できるようにします。これにより、DDL に起因するレプリケーションラグをほぼ解消し、高可用性を確保します。 | サポート | サポート | 非サポート | 非サポート | |
プライマリインスタンスの開始時にセカンダリへ通知することで、プライマリとセカンダリが大規模トランザクションを同時に実行できるようにします。これにより、レプリケーションラグをほぼ解消し、高可用性を確保します。 | 非サポート | サポート | 非サポート | 非サポート | |
I/O スレッド、SQL スレッド、ワーカースレッド間のロック待機ロジックを最適化し、ロック待機を削減します。これにより、高同時実行の小規模トランザクションにおけるレプリケーションラグをほぼ解消します。 | 非サポート | サポート | 非サポート | 非サポート | |
機能
カテゴリ | 機能 | コミュニティ版 | エンタープライズ版 | AliSQL | Alibaba Cloud RDS for MySQL |
エンタープライズ付加価値サービス | 利用不可 | √ | √ | √ | |
利用不可 | √ | √ | √ | ||
利用不可 | √ | √ | √ | ||
MySQL の機能 | √ | √ | √ | √ | |
MySQL コネクター | √ | √ | パブリックリリースに対応 | パブリックリリースに対応 | |
MySQL レプリケーション | √ | √ | √ | √ | |
MySQL ルーター | √ | √ | MaxScale (MySQL 8.0 でサポート) | シングルテナントデータベースプロキシ | |
MySQL パーティショニング | √ | √ | √ | √ | |
InnoDB MyISAM NDB | InnoDB MyISAM NDB | InnoDB X-Engine | InnoDB X-Engine | ||
Oracle 互換性 | 利用不可 | 利用不可 | MySQL 8.0 でサポート | MySQL 8.0 でサポート | |
MySQL Enterprise Monitor | 利用不可 | √ | 開発中 | 拡張モニタリング | |
利用不可 | √ | 開発中 | Performance Insight | ||
利用不可 | √ | 開発中 | √ | ||
利用不可 | 利用不可 | 利用不可 | 拡張モニタリング | ||
MySQL Enterprise Backup | 利用不可 | √ | √ | √ | |
利用不可 | √ | √ | データベースレベルおよびテーブルレベルのバックアップ | ||
利用不可 | √ | √ | データベースレベルおよびテーブルレベルのリストア | ||
利用不可 | √ | √ | √ | ||
利用不可 | 利用不可 | 利用不可 | クロスリージョンバックアップ | ||
利用不可 | 利用不可 | MySQL 8.0 でサポート | MySQL 8.0 でサポート | ||
利用不可 | 利用不可 | √ | √ | ||
MySQL Enterprise Security | ローカルキーの置換 | √ | BYOK TDE、キーローテーション | BYOK TDE、キーローテーション | |
利用不可 | 利用不可 | 利用不可 | BYOK による保管時の暗号化 | ||
SSL | √ | SSL | SSL | ||
利用不可 | √ | SQL Insights | SQL Insights | ||
SM4 暗号化アルゴリズム | 利用不可 | 利用不可 | √ | √ | |
利用不可 | 利用不可 | MySQL 5.7 でサポート | MySQL 5.7 でサポート | ||
MySQL Enterprise Scalability | 利用不可 | √ | MySQL 8.0 でサポート | MySQL 8.0 でサポート | |
利用不可 | 利用不可 | √ | 読み取り専用インスタンス | ||
MySQL Enterprise 信頼性 | 利用不可 | 利用不可 | √ | √ | |
利用不可 | 利用不可 | √ | √ | ||
利用不可 | 利用不可 | √ | √ | ||
利用不可 | 利用不可 | √ | √ | ||
MySQL Enterprise 高可用性 | 利用不可 | 利用不可 | サードパーティの HA メカニズムが必要です。 | 高可用性版 | |
√ | √ | √ | 読み取り専用インスタンスの高可用性 |