W11(独身の日)を強力にサポートするAnalytic DBの仕組み

この記事では、Analytic DB for MySQLの利点と、W11(独身の日)の際にどのように役立ったかについて説明します。

By [ApsaraDB](https://community.alibabacloud.com/users/5190830865598772?spm=a2c65.11461447.0.0.15434e3140Cqeb)

[2020年の「W11グローバルショッピング・フェスティバル(独身の日)」](https://www.alibabacloud.com/campaign/singles-day-double-11-2020?spm=a2c65.11461447.0.0.15434e3140Cqeb)は終了しましたが、テクノロジーの探求は決して止まりません。毎年のW11(独身の日)は、買い物好きのための日であるだけでなく、データを扱う人材にとっても大きな試練となります。Alibaba Cloud データベーステクノロジーチームの技術レベルとイノベーションの実践をテストする舞台でもあるのです。

#はじめに
毎年、W11グローバルショッピング・フェスティバル(独身の日)は、クラウドネイティブなデータウェアハウスである[AnalyticDB for MySQL](https://www.alibabacloud.com/product/analyticdb-for-mysql?spm=a2c65.11461447.0.0.15434e3140Cqeb)にとって価値をはかる重要な日です。今年、AnalyticDBはAlibabaデジタルエコノミーのより多くのコアトランザクションを開始し、W11を完全にサポートしました。また、クラウドネイティブ技術を完全に取り入れ、究極の弾力性を構築し、コストを削減し、技術的なメリットを提供しました。様々なエンタープライズレベルの機能がリリースされ、ユーザーにコスト効率の高いクラウドネイティブデータウェアハウスをタイムリーに提供しています。

#AnalyticDB：クラウドネイティブ・データウェアハウス
「AnalyticDB」は、高カレンシー、低レイテンシーのクエリをサポートする次世代クラウドネイティブデータウェアハウスです。MySQLプロトコルおよびSQL: 2003 Syntax Standardとの高い互換性を備えています。大量のデータを対象とした多次元分析やビジネス探索を瞬時に行うことができます。また、企業がオンラインデータの価値を実現するためのクラウドデータウェアハウスを迅速に構築することができます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/d728827d-558c-d6cd-7702-6e067b8486ad.png)



AnalyticDBは、レポートクエリ、オンライン分析、リアルタイムデータウェアハウス、ETL（Extract, Transform, Load）オペレーションなど、あらゆるデータウェアハウスのシナリオで使用することができます。AnalyticDBは、MySQLや従来のデータウェアハウスのエコシステムと互換性があり、使用するための敷居が低くなっています。

#AnalyticDBがW11(独身の日)をフルサポート
2020年のW11グローバルショッピング・フェスティバル(独身の日)の期間中、AnalyticDBはAlibaba Digital Economyのほとんどのビジネスユニットをサポートしました。Cainiao、新小売サプライチェーン、データテクノロジー（DT）製品シリーズ、データバンク、ビジネスコンサルタント、Renqunbao、Damo Academy Xiaomi、AEデータ、Hema Fresh、Tmallマーケティングプラットフォーム、その他多くの主要ビジネスがAnalyticDBの恩恵を受けました。高カレンシーのオンラインクエリや複雑なリアルタイム分析など、コアトランザクションの多くのシナリオで安定したパフォーマンスが達成されました。11月11日には様々な指標が新記録を達成しました。この日、AnalyticDBに書き込まれたピークTPSは2億1,400万に達しました。オンラインとオフラインの統合アーキテクチャにより、オンラインETLオペレーションとリアルタイムクエリジョブの数は1秒間に174,571件に達しました。オフラインのETLオペレーションでインポート/エクスポートされたタスクは570,267件、処理されたリアルタイムデータのサイズは7.7兆行に達しました。

「2020 W11グローバルショッピング・フェスティバル(独身の日)」の期間中、AnalyticDBはパブリック・クラウド上でJushuitan、4PX EXPRESS、EMSなどの企業のコア・サービスをサポートしました。また、プライベートクラウドでは、China Post Groupの各種サービスをサポートしました。AnalyticDBは、これらの企業に対して、データ処理のためのETL、リアルタイムのオンライン分析、コアレポート、ビッグスクリーン、およびモニタリングを提供し、数万のマーチャントと数千万のコンシューマーに対して、安定したオフラインおよびオンラインのデータサービスを提供しました。

#AnalyticDBの挑戦
「2020 W11グローバルショッピング・フェスティバル(独身の日)」で素晴らしい成果を上げるために、AnalyticDBは、主に以下のような点で多くの課題に直面しました。

###1、Alibabaグループのコアトランザクション手順
AnalyticDBはAlibabaグループのコアトランザクション手順に正式に参入し、グループのコアトランザクションビジネスである買い手分析ライブラリを扱いました。これは、AnalyticDBのリアルタイムの高為替レートの書き込みとオンライン検索機能に高い要求を突きつけています。「2020 W11グローバルショッピング・フェスティバル(独身の日)」では、600億件以上の注文がありました。11月1日の00:00から00:30の間の残高支払いのピークは500万TPSで、通常の状態の100倍に達していました。Queryの95パーセンタイルのRTは10ms以内でした。

AnalyticDBのために新たに開発された行ストレージエンジンの初の適用は素晴らしいものでした。このストレージエンジンは、数千万のQPSを対象としたハイカレンシーなオンライン検索および分析をサポートします。主な技術としては、高コンカレントなクエリプロシージャ、全く新しい行ストレージ、任意の列に対するTopNプッシュダウン、複合インデックスとインテリジェントなインデックス選択などがあります。また、シングルノードで10,000QPS以上をサポートし、リニアな拡張性を備えています。同じリソースで、ストレージエンジンの1つのテーブルにおけるポイントクエリ、アグリゲーション、TopNのパフォーマンスは、オープンソースのElasticSearchと比較して2～5倍高くなっています。また、ストレージエンジンは、ストレージスペースを50％削減し、書き込み性能は5～10倍になります。さらに、データのリアルタイムな可視性と高い信頼性も保証されています。

###2、制作・運用ステージの増加
この1年で、AnalyticDBはCainiao倉庫の中核となる運用ステージに適用されています。AnalyticDBのハイカレンシーなリアルタイム書き込み、リアルタイムクエリ、および関連するデータ分析機能は、倉庫の運営者がデータの表示、データの検証、配信、およびその他多くの操作に使用しています。ピーク時には1秒あたりの注文数が6,000件に達しました。AnalyticDBは、Cainiaoのデータウェアハウスエンジンとして、保管、集荷、輸送、配送中の何億もの小包の状態をリアルタイムで監視しています。そうすることで、各注文が時間通りに履行されることを保証します。これにより、ユーザーエクスペリエンスが向上します。11月1日のトラフィックピークの第一波では、Cainiao倉庫のシングルインスタンスのTPSは40万を超え、QPSは200を超えていました。また、サプライチェーン・フルフィルメントのシングル・インスタンスでは、TPSが160万、QPSが1,200に達しました。

Cainiaoデータウェアハウスのアーキテクチャを以下に示しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/77ccc6a6-a528-9983-8d7b-03cc4f38f0ec.png)


###3、インポートタスクの増加
データインサイト（DeepInsightと同様）に依存しているビジネスの中には、プラットフォームもあります。毎日大量のインポートタスクが実行され、これらのタスクはベースラインの要件で指定された時間内にインポートする必要があります。これは、各タスクが指定された時間にインポートされ、要求された時間内に終了することを要求しています。これらのタスクをAnalyticDB 2.0のMapReduceで仕上げることは想像を絶するものですが、AnalyticDB 3.0では簡単に行うことができます。AnalyticDB 3.0では、軽量でリアルタイムなタスクのインポートが可能です。11月8日のタスクを例にしてみましょう。9074件のタスクについて、インポートにかかった時間は、最長で921秒、最短でもわずか3秒でした。平均時間は39秒でした。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/c9808758-dd2d-024d-d921-2733c01ee76e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/791922f7-8b18-c615-d8ea-459c78bd4970.png)


###4、高スループットでより多くの書き込みサービスを
データバンクのようなビジネスでは、毎日大量のデータが取り込まれるため、AnalyticDBの書き込みスループットにとっては非常に厳しい状況です。2020年 W11の前後におけるデータバンクのAnalyticDBのTPSのピークは1,000万近く、書き込みトラフィックは1.3GB/sに達していました。データバンクでは、AnalyticDBを使って、クラウドプロファイリング、カスタム分析、トリガーコンピューティング、リアルタイムエンジン、オフラインアクセラレーションなどを実装しています。1つのデータベースには6PB以上のデータが格納されており、1兆レベルの複数のテーブルに対して、UNION、INTERSECT、EXCEPT、GROUP BY、COUNT、DISTINCT、JOINなどの複雑なSQL文を大量に使用しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/0792cc16-5a59-31ce-db31-1c5fee9b66e3.png)


###5、オンラインとオフラインのハイブリッドロード
オンライン分析とオフラインの抽出・変換・ロード（ETL）のハイブリッドロード機能をベースに、AnalyticDBはAEミドルプラットフォームで複数のW11(独身の日)ビジネスをサポートしています。マーチャント側のビジネスでは、詳細なイベントに基づいた100QPSの群衆予測を達成し、複雑なプロファイリングの時間を10秒から平均3秒以内に短縮しました。マーチャントイベントをマテリアライズドタグに処理する従来の方法と比較して、詳細イベントによるテーブルのフィルタリングは、イベントベースの新しいクラウドがオンラインになるまでの時間を短縮します。また、従来のデータ開発期間が1週間から半日に短縮されました。

AnalyticDBでは、AEユーザーがリアルタイムのクラウドクラスタリングを取得できるようになり、元々の20分のオフラインクラスタリングを分単位のオンラインクラスタリングにアップグレードしています。また、権利・利益分譲のアルゴリズムをしっかりとリアルタイムで実装しています。オフラインの20分間のパケットサブコントラクトがオンラインの分レベルのパケットサブコントラクトに更新されました。その後、オンラインアルゴリズムは、AEとLazadaのオンラインクラウドスケールインとオンラインAnalyticDBアルゴリズムに基づくファインソートで実現できます。これにより、国際化に向けたクラウドやコモディティ運用の全体的な効率化を図ることができます。

#AnalyticDBの最新キーテクノロジー
この1年間で、AnalyticDBはAlibabaのデジタルエコノミーのビジネスと、Alibabaクラウドのパブリッククラウドおよびプライベートクラウドのビジネスを完璧にサポートしました。AnalyticDBのアーキテクチャは、クラウドネイティブテクノロジーを完全に取り入れ、主要なアーキテクチャのアップグレードを完了しました。また、エラスティックモードを備えた新バージョンがパブリッククラウド上でリリースされ、ユーザーはコスト効率が高く、弾力性のある次世代データウェアハウスを利用できるようになりました。新しいエラスティックモードの主要技術を以下に紹介します。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/73e5e046-272c-e3a9-21c3-673772496ae4.png)


コンピュータとストレージの分離(上記図)

AnalyticDB reservation モードの製品は、拡張性と並行性に優れたShared-Nothingアーキテクチャを採用しています。バックエンドでは、コンピュート・ストレージ・カップリング方式を採用しており、コンピュートモジュールとストレージモジュールで同じリソースを共有しています。ストレージの容量と計算能力は、ノードの数に関係します。ユーザーは、ノード数を増減させることで、必要なリソースを調整することができます。しかし、ユーザーは、異なるビジネス負荷の要件を満たすために、コンピューティングおよびストレージリソースを自由に配置することはできません。また、ノード数の調整には、大量のデータ移行が伴うことが多く、これには長い時間がかかり、現行システムの実行負荷にも影響を与えます。さらに、コンピューティングリソースやストレージリソースを柔軟に配置することができないため、コストパフォーマンスにも問題があります。

クラウドプラットフォームの弾力的な機能を取り入れることで、AnalyticDBは製品に新しい弾力的なモードを採用し、バックエンドには新しい計算機とストレージの分離アーキテクチャを採用しました。AnalyticDBは、サービス指向のServerlessストレージレイヤーを提供し、そのコンピューティングレイヤーは、予約モードのパフォーマンスを維持したまま、独立して弾力的にスケールアップすることができます。コンピューティングとストレージを切り離すことで、ユーザーはコンピューティングリソースとストレージ容量を柔軟に拡張し、トータルコストをコントロールすることができます。また、コンピューティングリソースの拡張に伴うデータの移行も不要となり、ユーザーに究極のエラスティックエクスペリエンスを提供します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/b02c9af7-7b6a-4d76-4d48-18373f9f7303.png)
*ホット/コールドデータ階層*

データストレージの高いコストパフォーマンスは、クラウドデータウェアハウスのコア競争力の一つです。AnalyticDBは、ホットデータとコールドデータの企業レベルの階層を提供します。AnalyticDBは、テーブルやテーブル・デュアル・パーティションの粒度に基づいて、ホットおよびコールド・ストレージ・メディアを独立して選択します。例えば、すべてのテーブルデータは、SSDまたはHDDに保存することができます。ユーザーはビジネス要件に応じて異なるストレージタイプを選択することができ、ホットデータとコールドデータのポリシーをランダムに変換することができます。また、サーバーレスストレージ層のホットデータとコールドデータのスペースは、従量課金制となっています。将来的には、AnalyticDBは、インテリジェントなホットデータとコールドデータのパーティショニング、つまり、ユーザーのビジネスアクセスモデルに基づいてコールドデータを自動的に予備加熱する機能を実装する予定です。

###ホット＆コールドストレージの定義
ホットデータとコールドデータの階層化の最初のステップは、ホットデータとコールドデータの保存粒度と境界を決定することです。AnalyticDBのホット＆コールドデータ階層化技術は、既存のデュアル・パーティション・メカニズムを使用しています。つまり、パーティションがホットデータとコールドデータのストレージの基本単位となります。ホットパーティションは最高のパフォーマンスを得るためにノードSSDに格納され、コールドパーティションは最低のストレージコストを得るためにOSSに格納されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/818fa823-c975-5e41-22d5-4cff2fb2604f.png)

完全なホットデータテーブル（すべてのパーティションがSSDにある）、完全なコールドデータテーブル（すべてのパーティションがOSSにある）、ハイブリッドテーブル（一部のパーティションがSSDにあり、一部のパーティションがOSSにある）をユーザーが柔軟に定義することができます。これにより、性能とコストのバランスを実現することができます。以下にゲームログテーブルの例を示します。ハイブリッド・パーティション・ポリシーでは、最新の7日間のデータがホット・パーティションに格納され、それ以前のデータはコールド・パーティションに格納されます。

```
create table event(
id bigint auto_increment
dt datetime,
event varchar,
goods varchar,
package int
...
) distribute by hash(id)
partition by value(date_format(dt, '%Y%m%d')) lifecycle 365
storage_policy = 'MIXED' hot_partition_count = 7;
```


###ホットデータとコールドデータの自動移行
AnalyticDBのデータが書き込まれると、そのデータはホットエリア、つまりSSDに入ります。ホットデータがある程度蓄積されるか、ユーザーがコールドテーブルポリシーを指定すると、バックエンドのビルドタスクが自動的にスケジュールされます。その後、データはコールドエリアに移行されます。ユーザーの書き込みや問い合わせは完全に透過的に行われます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/7086ca7b-6fc3-2082-c43c-f4dab948891b.png)


書く／読むが最適化されたストレージという設計思想に基づいています。AnalyticDBでは、あらゆる次元での効率的な複合分析を実現するために、デフォルトでアダプティブ・フル・インデックスを使用しています。これは、各カラムにカラムレベルのインデックスがあることを意味し、これによりAnalyticDBはすぐにクエリを実行することができます。しかし、書き込みパフォーマンスにも課題があります。そこで、AnalyticDBではLSMのようなアーキテクチャを採用し、ストレージをリアルタイムパーティションとヒストリカルパーティションの2つに分けています。リアルタイム・パーティションでは、行ストレージとハイブリッド・ストレージのブロックレベルのラフ・インデックスを使用し、ヒストリカル・パーティションではフル・インデックスを使用して、非常に高速なクエリを実現しています。また、AnalyticDBは、バックエンドデータに基づいたビルドタスクにより、リアルタイムパーティションをヒストリカルパーティションに変換します。ホットパーティションとコールドパーティションの自動変換メカニズムを以下に示します。

- データがある程度蓄積されると、ビルドタスクが内部で自動的にスケジューリングされます。リアルタイムデータのスナップショットが作成され、データの照合が行われます。その後、新しいヒストリカル・パーティションが作成され、ホットおよびコールド・ポリシーに従って、ホットおよびコールド・エリアに書き込まれます。

- ビルド・タスクがスケジュールされている間、ホット・ポリシーとコールド・ポリシーのスライディング・ウィンドウに従って、履歴パーティションがホット・エリアからコールド・エリアに自動的に移行されます。次の図では、3つのホットパーティションが定義されています。11月4日には、ホットパーティションは11-04、11-03、11-02でした。11月5日に新しい11-05のデータが書き込まれ、スライディングウィンドウに従って、最新のホットパーティションは11-05、11-04、11-03となりました。そのため、ビルドタスクは、ホットパーティションからコールドパーティションへの移行のトリガーとなりました。図のように、パーティション11-02は自動的にコールドエリアに移行されました。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/5d926c62-a13b-422b-4dbb-296bb9592be2.png)


###コールドデータのクエリ・アクセラレーション
コールドエリアは、ストレージコストを削減しますが、データアクセスの費用が増加します。AnalyticDBはパーティションカットやコンピューティングプッシュダウンなどの最適化機能を実装していますが、それでも過去のパーティションに対してランダムスキャンやスループットスキャンを行う必要があります。コールドパーティションのクエリ性能を高速化するために、AnalyticDBはストレージノードのSSDストレージの一部をキャッシュとして利用します。このSSD Cacheを利用して、AnalyticDBは以下のような最適化を行っています。

- **異なる粒度のSSDキャッシュエントリ**：これにより、インデックスのランダム検索とスループットベースのデータスキャンを同時に行うことができます。
- **メタデータのプリヒーティング**：ビルドタスク終了後、コールドパーティションのメタデータを自動的に生成し、アクセスを高速化します。
- **ホットデータとコールドデータのアンロックされたアクセスキュー**：アクセス頻度の高いデータが頻繁にスワップイン/アウトされることを防ぎます。

###ホットストレージとコールドストレージの使用方法
1、  **Full Hot-Data Table（フルホットデータテーブル）**：テーブルのすべてのデータが頻繁にアクセスされ、高いアクセス性能を必要とする場合に適用されます。このテーブルのデータ定義言語（DDL）文を以下に示します。

```
create table t1(
 id int,
 dt datetime
) distribute by hash(id) 
partition by value(date_format('%Y%m',dt) 
lifecycle 12 
storage_policy = 'HOT';
```


2、  **Full Cold-Data Table（フルコールドデータテーブル）**：テーブルのすべてのデータが頻繁にアクセスされず、低いアクセス性能を必要とする場合に適用されます。このテーブルのDDL文を以下に示します。

```
create table t2(
 id int,
 dt datetime
) distribute by hash(id) 
partition by value(date_format('%Y%m',dt) 
lifecycle 12 
storage_policy = 'COLD';
```

3、  **ハイブリッドテーブル**：期間に応じてホットデータとコールドデータが混在する場合に適用されます。例えば、先月のデータは頻繁にアクセスされ、高いアクセス性能が要求されますが、先月以前のデータはアクセス頻度の低いコールドデータです。このテーブルのDDL文を以下に示します。

```
create table t3(
 id int,
 dt datetime
) distribute by hash(id) 
partition by value(date_format('%Y%m',dt) 
lifecycle 12 
storage_policy = 'MIXED' hot_partition_count=1;
```


テーブル全体に月別にデュアルパーティションを作成し、合計12ヶ月分のデータを格納します。最後の月のデータはSSDに、それ以前のデータはHDDに保存されます。こうすることで、パフォーマンスとコストのバランスが取れます。

###オンラインとオフラインの融合
AnalyticDBは一連のエンジンを使用し、低レイテンシーのオンライン分析と高スループットの複雑なETLをサポートします。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/d9479416-9104-1c66-ac16-789d1ef0fea6.png)


###ハイブリッド・コンピューティング・ロード
コンピューティングとストレージの分離アーキテクチャにより、AnalyticDBはコンピューティング能力を大幅に解放し、リッチでパワフルなハイブリッド・コンピューティング・ロード機能をサポートしています。オンラインでのインタラクティブなクエリモードに加えて、オフラインでのバッチクエリモードもサポートしています。また、オープンソースのコンピューティングエンジン（Sparkなど）を統合することで、反復計算、機械学習、その他の複雑なコンピューティングシナリオをサポートします。

###オンライン解析（オンライン／インタラクティブ）
オンラインクエリモードは、MPPアーキテクチャに基づいています。このアーキテクチャでは、中間結果と演算子の状態はオールインメモリであり、演算処理は完全にパイプライン化されています。このモードは、クエリRTが低いため、BIレポート、データ分析、オンラインでの意思決定など、低レイテンシーかつ高コンカレントなシナリオに適用されます。

###バッチ
バッチモードは、DAG実行モデルに基づいています。DAG全体をいくつかのステージに分割して段階的に実行し、中間結果や演算子の状態を保持することができます。バッチモードは、高スループットのデータコンピューティングにも対応しています。また、計算資源が少なく、計算コストが低いシナリオでも使用することができます。そのため、ETLやデータウェアハウスなど、大量のデータや限られたコンピューティングリソースを必要とするシナリオに適用することができます。

###複雑なコンピューティング（反復処理/MLなど)
AnalyticDBは、オープンで拡張可能なコンピューティング・アーキテクチャを提供します。また、オープンソースのコンピューティングエンジン（現在はSpark）と統合・準拠することで、ユーザーに複雑なコンピューティング機能を提供しています。ユーザーは、SparkのプログラミングインターフェースであるDataFrame、SparkSQL、RDD、DStreamなどをベースに、より複雑なコンピューティングロジックを書くことができます。そのため、反復計算や機械学習など、ビジネスにおけるよりインテリジェントでリアルタイムなデータ活用のシナリオにロジックを適用することができます。

###リソースグループ（プール）のマルチテナンシー化
AnalyticDBの新しいエラスティックモードでは、コンピューティングリソースを弾力的に分類するリソースグループ機能がサポートされています。異なるリソースグループのコンピューティングリソースは物理的に分離されています。AnalyticDBアカウントを異なるリソースグループにバインドすることで、SQLクエリは自動的に対応するリソースグループにルーティングされ、バインド関係に基づいて命令が実行されます。ユーザーは、複数のテナントやインスタンス内のハイブリッド負荷のニーズを満たすために、リソースグループに異なるクエリ実行モードを設定することができます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/f224448f-d928-a926-0593-c04326748e03.png)


**リソースグループに関連するオーダー**

```
-- Create a resource group.
CREATE RESOURCE GROUP group_name
    [QUERY_TYPE = {interactive, batch}] -- Specify the execution mode of the resource group query.
    [NODE_NUM = N] -- Number of resource group nodes.
    
-- Bind a resource group.
ALTER RESOURCE GROUP BATCH_RG ADD_USER= batch_user

-- Resize a resource group.
ALTER RESOURCE GROUP BATCH_RG NODE_NUM= 10

-- Delete a resource group.
DROP RESOURCE GROUP BATCH_RG
```


リソースグループは、以下のクエリ実行モードをサポートしています。

1、インタラクティブモード：オールインメモリ方式とパイプライン方式を採用し、低レイテンシーを必要とするオンライン分析に対応。
2、Batch Mode（バッチモード）：ステージ・バイ・ステージモデルを使用します。中間結果や演算子の状態を持続させることができます。このモードは、高いスループットと低レイテンシーを必要とするクエリに適しており、計算コストが低いのが特徴です。

###スケジュールされた弾力性
一般的に、ビジネスのトラフィックには大きな山と谷があり、オフピーク時にはリソースの使用量が減少します。AnalyticDBのスケジュール型エラスティックは、日単位、週単位でエラスティックプランをカスタマイズすることができます。これにより、ピーク時前のビジネストラフィックに対応するために、リソースグループを自動的にスケールアウトさせることができます。これにより、ピーク時のビジネストラフィックの要件を満たすことができ、AnalyticDBの使用コストを削減することができます。リソースグループの機能と合わせて、ユーザーはリソースグループに含まれる0ノードをオフピーク時に実現することができ、非常に高い費用対効果を得ることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/9cfc766d-4db4-169d-77d9-aee51876457d.png)

*インテリジェントな最適化*

クエリの最適化は、データウェアハウスシステムのパフォーマンスを左右する重要な要素です。より良い実行プランの生成、パーティショニング方法、インデックスの構成、統計情報の更新時間などの問題は、データ開発者を悩ませることがよくあります。AnalyticDBはインテリジェントな最適化技術に深く関わっています。実行中のクエリをリアルタイムに監視することで、実行プランとそれに依存する統計情報を動的に調整し、クエリのパフォーマンスを自動的に向上させることができます。インテリジェント・アルゴリズムの搭載により、システムのリアルタイムな稼働状況に応じてエンジンのパラメータを動的に調整することができます。そのため、現在のクエリの負荷に対応することができます。

###インテリジェント調整
インテリジェントな調整は、継続的な監視と分析のプロセスです。現在のワークロードの特性を常に分析し、潜在的な最適化を特定して調整を行います。また、調整後のパフォーマンス効果に応じて、ロールバックするか、さらに分析するかを決定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/755ddaae-002e-4571-a49d-6e5684f304d9.png)


###動的実行プランの最適化
クエリプランは、統計やコストモデルなどの理由により、パフォーマンスがロールバックすることがよくあります。AnalyticDBは、実行中および実行後の実行情報を駆使して、実行プランの即時および事後の調整を実施します。過去の実行プランとそれに対応するメトリクスに対して機械学習を行うことで、実行プランのコスト推定アルゴリズムを調整します。調整後の実行プランは、現在のデータ特性やワークロードに適したものになります。継続的な学習と調整により、自動的な最適化が実現し、実行プランがより使いやすくなります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/44750386-fb02-5d2f-b951-0a271800271c.png)


###マテリアライズドビューの動的管理
マテリアライズドビューは、データウェアハウス分野における中核的な機能の一つです。ユーザーが分析を高速化し、データETLプロセスを簡素化するのに役立ちます。また、幅広いアプリケーションシナリオをカバーしています。例えば、マテリアライズドビューをBIツールと併用することで、大画面ビジネスを加速させたり、共通の中間結果セットをキャッシュして低速のクエリを加速させたりすることができます。マテリアライズドビューはAnalyticDB 3.0からサポートされており、マテリアライズドビューを効果的に維持し、自動更新メカニズムを提供することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/b026bcd5-882c-91f1-4b8b-4cdc88b962c0.png)


#まとめ
[AnalyticDB](https://www.alibabacloud.com/product/analyticdb-for-mysql?spm=a2c65.11461447.0.0.15434e3140Cqeb)は、次世代のクラウドネイティブなデータウェアハウスです。オンラインとオフラインの統合を1つのシステムでサポートし、2020年の「W11グローバルショッピング・フェスティバル(独身の日)」において様々なサービスを強化することに成功しました。AnalyticDBは、極端なビジネス負荷に耐え、ビジネスにおけるデータ価値探索の適時性を向上させることができます。プラットフォームのビジネスとテクノロジーの進化に伴い、AnalyticDBはエンタープライズレベルのデータウェアハウスの機能を継続的に開発しています。最近、AnalyticDBは、新しいエラスティック・モードのコア機能をユーザーに提供しました。究極の弾力性と費用対効果とともに、AnalyticDBはユーザーが本当に必要なものを手に入れることを可能にします。


*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/secret-weapon-%7C-how-analyticdb-strongly-supports-double-11_597037?spm=a2c65.11461478.0.0.79425355JyYXV5)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*


*アリババクラウドは日本に２つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
[アリババクラウドジャパン公式ページ](https://www.alibabacloud.com/ja)*