TDSQL-C for MySQLはグローバルデータベースをサポートし、企業が高可用性、低遅延、強力な一貫性を備えたグローバルデータベースアーキテクチャを構築することを可能にします。本稿ではグローバルデータベース機能についてご紹介します。
説明:
グローバルデータベース機能は現在限定公開テスト段階です。ご利用をご希望の場合は、チケットを提出して申請してください。 グローバルデータベースの定義
グローバルデータベース(Global Database、略称GD)は、複数のリージョンに分散された複数のTDSQL-C for MySQLクラスタで構成されるネットワークです。このネットワークでは、すべてのクラスタのデータが同期され、各クラスタは読み取りサービスを提供できます。書き込みリクエストはプライマリクラスタに転送されて処理されます。
機能の背景
企業のデジタルトランスフォーメーションが加速するにつれ、多くのユーザーが基幹業務システムをクラウドに移行しています。この過程で、ユーザーデータ量は指数関数的に増加し、業務ロジックもますます複雑化しています。TDSQL-C for MySQLはそのクラウドネイティブアーキテクチャにより、ほとんどの業務シナリオのニーズを満たすことができますが、グローバル展開のシナリオでは、シングルアベイラビリティーゾーンに基づく従来の展開モデルに限界が明らかになりつつあります。ユーザーが複数のリージョンに業務システムを展開する必要がある場合、シングルアベイラビリティーゾーンアーキテクチャでは複数リージョンにまたがるリアルタイムクエリのニーズを満たすことが困難になっています。
この課題に対し、従来のソリューションでは通常、サードパーティ製のデータ同期ツールを使用し、異なるリージョンのクラスタ間で接続を確立してデータ同期を実現します。しかし、このようなソリューションは実際の運用において多くの課題に直面しています。まず、データ同期速度はネットワーク帯域幅とツールの性能に制約され、低遅延が求められる業務シナリオに対応しにくい点です。さらに、サードパーティツールの導入は追加の調達・保守コストを発生させます。最も重要なのは、この種のソリューションではデータのリアルタイム性と一貫性に技術的なボトルネックが存在し、データの鮮度が厳しく要求される基幹業務システムには適していないことです。
TDSQL-C for MySQLは上記の課題を根本的に解決するため、GD機能をリリースしました。この機能はグローバルビジネスシナリオ向けに設計され、クラウドネイティブアーキテクチャによるクロスリージョンデータ連携を実現することで、従来のソリューションの限界を根本的に突破し、企業に高性能かつ高可用性のグローバルデータベースシステムを構築するためのフルスタックソリューションを提供します。
機能メリット
ビジネスコードの修正不要:シングルリージョンデプロイからマルチリージョンデプロイへ直接拡張できます。
クロスリージョン読み書き分離・近接読み取り:GD内の読み取りリクエストはローカルクラスタに直接送信され、書き込みリクエストはプライマリクラスタに転送されます。
柔軟な設定:プライマリクラスタとスタンバイクラスタは相互に独立した設定が可能です。例えば、クラスタ仕様やパラメータ値など、すべて独立した設定を持つことができます。
クロスリージョン低遅延同期:マルチチャネルの物理レプリケーションにより、高負荷下でもグローバルな同期遅延は2秒未満です。
適用シーン
GD機能がサポートする典型的なアプリケーションシナリオはリージョン間マルチアクティブです。以下に、リージョン間マルチアクティブシナリオのビジネスアーキテクチャとデプロイフローをご紹介します。
リージョン間マルチアクティブシナリオのビジネスアーキテクチャ
従来のネットワークアーキテクチャでは、業務システムがシングルリージョンデータベースデプロイ(マスターデータベースが単一リージョンに配置)を採用する場合、他のリージョンのアプリケーションはクロスリージョンアクセスで当該データベースに接続する必要があります。ネットワーク遅延と帯域幅変動の影響により、長距離データ通信はクエリ応答時間の著しい増加やタイムアウトエラーを引き起こし、エンドユーザーエクスペリエンスに直接影響を与えます。グローバルデータベースを使用すると、グローバルデータベース配下のデータを統合できるため、全世界のリージョンが同一データベースにアクセス可能になります。読み取りリクエストは可能な限りローカルクラスタに送信され、書き込みリクエストはプライマリクラスタに転送されて処理されます。グローバルデータベースのクロスリージョン低遅延同期、クロスリージョン読み書き分離、ローカル近接読み取りなどの特性により、各リージョンのアプリケーションがデータベースにアクセスする際の遅延を2秒未満に保証できます。
代表的な業界:ゲーム、クロスボーダーEコマース、金融、ニューリテール(店舗)など。
ビジネスアーキテクチャの説明:
各地域のアプリケーションは、各地域のデータベースに直接近接で読み書きします。書き込みリクエストはプライマリクラスタに転送されて処理されます。
プライマリクラスタとセカンダリクラスタは、それぞれ独立したクラスタアドレスを提供しています。アプリケーションが配置されているリージョンに基づき、近接するクラスタアドレスに接続することでアクセスが可能です。
リージョンB、リージョンCのクラスタ仕様はリージョンAと一致させる必要はありません。柔軟に選択できます。
リージョン間マルチアクティブシナリオのデプロイフロー
1. グローバルデータベースを作成し、既存のクラスタをグローバルデータベース内のプライマリクラスタとして設定します。詳細な操作手順については、グローバルデータベースの作成を参照してください。 2. GDに新規クラスタをスレーブクラスタとして追加します。詳細な操作手順については、スレーブクラスタの追加をご参照ください。 対応形態およびバージョン説明
サポート対象のインスタンス形態:プロビジョンドリソース。インスタンス形態がServerlessのクラスタは現在サポートされていません。
サポート対象バージョン:カーネルマイナーバージョンがTDSQL-C for MySQL 8.0 3.1.16.100以降のバージョン。カーネルマイナーバージョンのアップグレードについては、カーネルマイナーバージョンのアップグレードを参照してください。 機能課金の説明
現在、GD機能のクロスリージョン転送トラフィックは無料で利用可能です。お客様は各クラスタの費用のみを支払う必要があります。クラスタの料金詳細については、製品価格を参照してください。 機能制限の説明
この機能が現在サポートしているデータベースバージョンはTDSQL-C MySQL 8.0のみです。
1つのGDは、1つのマスタークラスタと最大2つのスレーブクラスタを含みます。
マスタークラスタでGDを有効化する前に、データベースプロキシを有効化する必要があります。スレーブクラスタはデフォルトでデータベースプロキシが有効化され、GD機能が有効化されている期間中、データベースプロキシの無効化はサポートされていません。
マスタークラスタとスレーブクラスタはグローバルパラメータを共有します。
GD機能を有効化するには、読み書きインスタンスの仕様が4コア以上である必要があります。
サポート対象のリージョンとアベイラビリティーゾーン
|
上海 | 上海第2ゾーン |
シンガポール | シンガポール第4ゾーン |
関連ドキュメント