このトピックでは、AnalyticDB for MySQL の機能について説明します。
コンピューティングエンジン
AnalyticDB for MySQL は、Spark、XIHE 超並列処理(MPP)、XIHE バルク同期並列(BSP)の 3 種類のコンピューティングエンジンをサポートしています。
Spark エンジン
Data Lakehouse Edition (V3.0) は、多言語プログラマブル コンピューティングエンジンである Apache Spark と完全に互換性があり、アプリケーションのシームレスな移行をサポートしています。このエンジンは、複雑な抽出、変換、ロード(ETL)処理および機械学習のシナリオに最適です。
XIHE MPP エンジン
XIHE MPP エンジンは MPP アーキテクチャを使用し、クエリのすべてのタスクのデータを計算します。データパイプラインを使用してストリームコンピューティングを実装し、低レイテンシのアドホック分析要件に対応します。
XIHE BSP エンジン
XIHE BSP エンジンは、有向非循環グラフ(DAG)内のタスクを分割し、バッチコンピューティングアーキテクチャを使用して各タスクのデータを計算します。このエンジンはディスクストレージをサポートしており、大量のデータ、高スループット、限られたリソースを伴う複雑な分析シナリオに最適です。使用したリソースに対しては、従量課金制で課金されます。各クエリには排他的なリソースが割り当てられるため、クエリ間のリソース競合を防ぎます。さらに、XIHE BSP エンジンは強力なフェールオーバー機能を提供し、失敗したタスクを再試行できます。
XIHE BSP エンジンでは、ユーザー定義関数(UDF)を使用したり、Hudi テーブルに書き込んだりすることはできません。
XIHE MPP と XIHE BSP の比較
フロントエンドノードにクエリを送信し、対話型リソースグループを指定してクエリを実行すると、クエリは永続的な計算ノードで XIHE MPP モードで実行されます。ジョブリソースグループを指定してクエリを実行すると、クエリは一時的な計算ノードで XIHE BSP モードで実行されます。
項目 | XIHE MPP | XIHE BSP |
リソースグループ | 対話型リソースグループ | ジョブリソースグループ |
応答時間(RT) | ミリ秒以内 | 数秒または数分以内 |
シナリオ | クエリ/秒(QPS)の高いレイテンシの影響を受けやすいアプリケーション | レイテンシ要件が比較的低い高スループットアプリケーション |
分離 | リソースグループ間 | クエリ間 |
SQL 構文 | 違いはありません | |
ストレージエンジン
XUANWU ストレージエンジン(C-Store)
XUANWU ストレージエンジンは、高い信頼性、可用性、およびパフォーマンスを備えた費用対効果の高いエンタープライズグレードのデータストレージを提供し、高スループットのリアルタイム書き込みと高パフォーマンスのリアルタイムクエリの基盤を築きます。
Hudi ストレージエンジン
Data Lakehouse Edition (V3.0) は、費用対効果の高い Object Storage Service (OSS) とオープンソースの Apache Hudi ストレージソリューションを使用して、ほぼリアルタイムで増分データ処理を実装します。
接続方法
次の表に、AnalyticDB for MySQL でサポートされている接続方法を示します。
接続方法 | 参照 |
MySQL コマンドラインツール | |
ビジネスシステム | Java、Druid 接続プール、Python、PHP、macOS 用 C#、および Go |
クライアント | |
BI ツール | FineBI、Quick BI、Yonghong BI、DataV、Tableau、QlikView、FineReport、Power BI、および Smartb |
セキュリティ
IP アドレスのホワイトリスト
デフォルトでは、AnalyticDB for MySQL クラスタは外部接続からのアクセスを許可しません。AnalyticDB for MySQL クラスタにアクセスするには、クライアントの IP アドレスまたは CIDR ブロックをクラスタのホワイトリストに追加する必要があります。詳細については、「ホワイトリストを設定する」をご参照ください。
SQL 監査
SQL 監査は、DML 操作と DDL 操作に関する情報を記録し、エラー分析、動作分析、およびセキュリティ監査の実行に役立ち、データベースのセキュリティを向上させます。詳細については、「SQL 監査を設定する」をご参照ください。
ディスクの暗号化
AnalyticDB for MySQL は、ディスクの暗号化機能を提供します。この機能は、ブロックストレージに基づいて、クラスタ内の各ディスク上のデータを暗号化します。このように、データが漏洩した場合でも盗難されることはありません。詳細については、「ディスクの暗号化」をご参照ください。
アクセス制御
Resource Access Management (RAM) は、クラウドリソースに対する RAM ユーザーのアクセス権限を制御します。RAM ユーザーによって AnalyticDB for MySQL クラスタが作成されると、RAM ユーザーと、RAM ユーザーが属する Alibaba Cloud アカウントのみがクラスタを表示および管理できます。組織内の複数のユーザーが AnalyticDB for MySQL クラスタを使用する必要がある場合は、複数の RAM ユーザーを作成し、AnalyticDB for MySQL クラスタを表示または管理する権限を付与できます。詳細については、「RAM ユーザーと権限を管理する」をご参照ください。
データベース権限制御
データベースアカウントを作成すると、データベース操作を実行できます。たとえば、データベース、テーブル、およびビューを作成または削除できます。また、データの挿入、変更、およびクエリも実行できます。AnalyticDB for MySQL は、特権アカウントと標準アカウントの 2 種類のデータベースアカウントを提供します。特権アカウントは、クラスタレベル、データベースレベル、テーブルレベル、カラムレベルの権限など、さまざまなレベルの権限を標準アカウントに付与できます。詳細については、「アカウントの種類」および「データベース権限モデル」をご参照ください。
監視とアラート
AnalyticDB for MySQL は、クラスタノードのヘルスステータスとパフォーマンスを明確に把握するのに役立つパフォーマンスメトリックを提供します。詳細については、「監視情報を表示する」をご参照ください。また、AnalyticDB for MySQL は、CPU 使用率、ディスク使用率、IOPS、クエリ時間、およびデータベース接続数が指定されたしきい値を超えた場合に、連絡先にアラートを送信できます。詳細については、「アラート ルールを設定する」をご参照ください。
バックアップと復旧
AnalyticDB for MySQL は、定期的な完全バックアップとログバックアップをサポートしており、データ損失を効果的に防ぐことができます。
完全データバックアップ
AnalyticDB for MySQL は、クラスタの完全データスナップショットを圧縮し、オフラインストレージメディアに保存します。完全データ復旧を実行する場合、AnalyticDB for MySQL はクラスタを複製し、バックアップセットをダウンロードしてから、新しいクラスタにデータを復旧します。詳細については、「バックアップを管理する」をご参照ください。
ログバックアップ
AnalyticDB for MySQL は、複数のノードから OSS に REDO ログを並列でアップロードして、ログをリアルタイムで保存します。完全データバックアップと、目的の時点までの後続の REDO ログを使用して、クラスタのデータを指定した時点に復旧できます。これにより、この期間内のデータセキュリティが確保されます。詳細については、「バックアップを管理する」をご参照ください。
バックアップからのデータ復旧
AnalyticDB for MySQL は、完全データ復旧とポイントインタイムリカバリをサポートしています。AnalyticDB for MySQL はクラスタを複製し、ダウンロードしたバックアップセットのデータを新しいクラスタに復旧します。詳細については、「クラスタを複製する」をご参照ください。
インテリジェント診断と最適化
スキーマの最適化
スキーマの設計と最適化により、データベースのコストを大幅に削減し、クエリのパフォーマンスを向上させることができます。AnalyticDB for MySQL は、SQL クエリのパフォーマンスメトリックと、テーブルやインデックスなどの関連情報に基づいて、アルゴリズムを定期的に分析します。最適化の提案とワンクリックデプロイが自動的に提供されるため、提案を簡単に適用できます。これにより、最適化プロセスが大幅に簡素化されます。詳細については、「スキーマの最適化」をご参照ください。
SQL パターン
SQL パターン機能は、リアルタイム SQL 文向けに設計されています。AnalyticDB for MySQL は、類似の SQL 文を SQL パターンにグループ化し、パターンに対してインテリジェント診断と分析を実行して、診断効率を向上させることができます。SQL パターンの診断結果は、データベースの最適化の有効な基準となります。詳細については、「スキーマの最適化」をご参照ください。
SQL 診断
AnalyticDB for MySQL は、クエリ、ステージ、およびオペレーターの統計に基づいて、診断結果と最適化の提案を提供します。詳細については、「SQL 診断の概要」をご参照ください。
データのインポートとエクスポート
他のデータベース、OSS、Tablestore、Apsara File Storage for HDFS、MaxCompute、ApsaraMQ for Kafka、または Log Service から AnalyticDB for MySQL にデータをインポートし、AnalyticDB for MySQL から他のデータベース、OSS、Apsara File Storage for HDFS、または MaxCompute にデータをエクスポートできます。詳細については、「データインポートの概要」および「データエクスポートの概要」をご参照ください。
データの取り込み
データソースの管理
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) は、ApsaraMQ for Kafka、Log Service、および Hive データソースをサポートしています。各データ同期または移行ジョブには、データソースが必要です。データソースは、異なるデータ同期または移行ジョブ間で再利用できます。これにより、重複ジョブの作成プロセスが簡素化されます。データソースの作成、クエリ、変更、および削除を実行できます。
データ同期
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) では、データ同期ジョブを作成して、ApsaraMQ for Kafka および Log Service から Data Lakehouse Edition にデータをリアルタイムで同期できます。これは、ほぼリアルタイムのデータ取り込み、完全データアーカイブ、および弾力的な分析などの要件に対応するのに役立ちます。詳細については、「データ同期を使用して Kafka データを Data Lakehouse Edition に同期する」および「データ同期を使用して Log Service データを Data Lakehouse Edition に同期する」をご参照ください。
データ移行
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) では、データ移行ジョブを作成して、Hive データを OSS に移行できます。詳細については、「データ移行を使用して Hive データを Data Lakehouse Edition に移行する」をご参照ください。
メタデータディスカバリー
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) は、同じリージョンに保存されている OSS バケットとデータオブジェクトを自動的に検出し、データレイクメタデータを作成および更新できます。詳細については、「メタデータディスカバリーを使用して Data Lakehouse Edition にデータをインポートする」をご参照ください。
データ管理
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) では、データベースとテーブルを視覚的に管理できます。AnalyticDB for MySQL コンソールで、データベース、テーブル、およびビューに関する情報を表示できます。詳細については、「データを管理する」をご参照ください。
ジョブ 開発
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) は、オープンソースの Spark エンジンと、AnalyticDB for MySQL チームが開発した社内 XIHE エンジンの 2 つのエンジンを提供して、さまざまなジョブ開発方法を実装します。詳細については、「ジョブ開発」をご参照ください。
ジョブスケジューリング
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) は、バッチ SQL および Spark アプリケーションのジョブスケジューリングを提供して、複雑な ETL 処理を実行するのに役立ちます。詳細については、「Data Lakehouse Edition でジョブスケジューリングを実行する」をご参照ください。
SQL
XIHE SQL
XIHE SQL 文を実行すると、AnalyticDB for MySQL は MySQL と高度に互換性のある社内 XIHE エンジンを使用します。次の表に、XIHE SQL でサポートされている構文、関数、およびデータ型を示します。
Spark SQL
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) は、Apache Spark と完全に互換性のある Spark エンジンをサポートしています。Spark SQL を使用してデータレイク操作を実行できます。詳細については、「SQL リファレンス」をご参照ください。