Orca は、PolarDB for MySQL をベースに開発された、Redis プロトコルと完全な互換性を持つ永続データベースです。Orca 機能を有効にすると、PolarDB for MySQL クラスタは MySQL シナリオの要件を満たすだけでなく、NoSQL (Redis プロトコル) 機能も提供できます。
技術的原則
従来の Key-Value データベースは、通常、Pika や Kvrocks などのオープンソース製品のように、高いスケーラビリティを実現するように設計されています。ただし、実際のデプロイでは、ノードの調整や運用管理の複雑さに関連する問題が発生する可能性があります。これらの問題点に対処するために、PolarDB for MySQL は Orca 機能を導入しました。これにより、単一の PolarDB for MySQL クラスタを永続 Key-Value (Redis プロトコル) データベースとして使用できます。MySQL データと Key-Value (Redis プロトコル) データは互いに分離されています。
PolarDB for MySQL アーキテクチャに基づいて、Orca は Redis プロトコル解析およびリクエスト処理フレームワークを導入しています。Orca (Redis プロトコル) に関連するすべてのリクエストは、別のポートに接続します。次の図は、PolarDB for MySQL Orca の技術アーキテクチャを示しています:
主な利点
低コスト
計算ノードリソースを繰り返し購入する必要はありません。高性能な分散ストレージにより、大容量の要件に対応できます。
使いやすさ
PolarDB for MySQL アーキテクチャに基づいて、物理レプリケーションにより読み書き分離機能が有効になります。また、サーバーレス機能と計算ホットスタンバイによる水平および垂直方向の弾力的なスケーリングもサポートしており、運用オーバーヘッドを効果的に削減できます。
グローバルデータベースネットワーク (GDN) などの新しい PolarDB for MySQL プロダクトフォームと互換性があります。
データの永続性と強力な整合性
PolarDB for MySQL ストレージエンジン InnoDB に基づいて実装され、分散ストレージ PolarStore を使用してデータが失われないようにします。
PolarDB for MySQL の SCC テクノロジーに基づいて、RW/RO ノード間の読み取りの強力な整合性を実現します。
高性能
高性能 InnoDB エンジンに基づいて、Blink-tree 高性能インデックス構造と論理プリフェッチ機能を活用して、高並列書き込みおよび読み取りシナリオで大幅なパフォーマンス向上を実現します。
シナリオ
Orca は、PolarDB for MySQL に基づく Redis プロトコル互換実装として位置付けられており、Redis アプリケーションシナリオを補完するものです。Orca は、分散ストレージ PolarStore によって提供される大容量ストレージ (最大 500 TB) により、コストとデータ容量の制限の問題を効果的に解決する永続 Key-Value データベースと見なすことができ、Redis の使いやすさを維持しています。
ゲームサーバーコアデータベース: ゲームデプロイアーキテクチャは比較的シンプルで、メインプログラムは ECS にデプロイされ、すべてのビジネスデータは Orca に保存されます。永続データベースとして、Orca はデフォルトのデュアル AZ ディザスタリカバリを備えており、高速バックアップ、時点復旧、高性能書き込み機能、および読み取り専用ノードの拡張を提供して、ゲームの書き込み容量拡張要件を満たします。
ゲームランキング: ゲームアプリケーションでは、リアルタイムのランキング更新と迅速なプレイヤー ステータスアクセスが不可欠です。Orca を使用して、プレイヤーのスコアとランキング情報を保存できます。Redis のソートセットデータ構造を使用することで、Orca はランキング機能を簡単に実装できます。
広告レコメンデーションビジネス: 多くのインターネット広告ビジネスシナリオでは、広告システムは大量のデータを保存し、高並列リクエストを処理する必要があります。Orca は安定した低レイテンシと低ストレージコストを備えており、広告ビジネスの配信要件を効果的に満たします。
前提条件
PolarDB for MySQL クラスタの データベースエンジン は MySQL 8.0.2 である必要があり、マイナーエンジンバージョンは 8.0.2.2.24 以降である必要があります。
課金
Orca 機能は無料で使用でき、追加の計算ノード料金は発生しません。Orca データ部分のストレージ料金のみが課金されます。詳細については、「計算ノードの課金ルール」および「ストレージスペースの課金ルール」をご参照ください。
注意事項
Orca 機能は、パスワードなしのアクセスをサポートしていません。Orca アカウントを作成する必要があります。
Orca 機能を有効にすると、Orca は PolarDB for MySQL クラスタ全体の CPU とメモリリソースを再利用します。そのため、Orca ワークロードによってクラスタ全体の負荷が増加します。実際の CPU とメモリのオーバーヘッドは、ビジネスによって異なります。
Orca 機能を有効にすると、PolarDB for MySQL クラスタは、
__orca_in_polardb_m_という名前のデフォルト Orca データベースを自動的に作成します。データベースに対する操作や、同じ名前のデータベースの作成はできません。
互換性
Orca は、Redis 7.0 以前のバージョンの特定のコマンドと互換性があり、RESP2 および RESP3 プロトコルをサポートしています。現在、単一 DB 操作のみがサポートされており、クロス DB コマンド (MOVE など) は一時的にサポートされていません。詳細については、「互換性」をご参照ください。
使用方法
Orca を有効にする:
クラスタ購入ページで Orca を有効にします。
クラスタ詳細ページの セクションで Orca を有効にします。
Orca アカウントを作成する: クラスタの詳細ページの で Orca アカウントを作成します。詳細については、「Orca アカウントを作成する」をご参照ください。
Orca のエンドポイントとポートを管理する: クラスター詳細ページの セクションで、Orca のアドレスとポートを確認します。詳細については、「Orca エンドポイントを管理する」をご参照ください。
Orca (Redis プロトコル) に接続する: Redis クライアントまたはアプリケーションを使用して、Orca に接続して使用できます。
説明データベース管理 (DMS) を使用して、できます。
Orca メトリックの表示: クラスタ詳細ページの セクションで、ビジネス要件に基づいて [Orca メトリック] 情報を表示できます。詳細については、「Orca メトリックを表示する」をご参照ください。
(オプション) データを移行する: データ伝送サービス (DTS) を使用して、Orca データを移行できます。