Orca は、PolarDB for MySQL 上に構築された、Redis プロトコルと完全な互換性を持つ永続データベースです。Orca 機能を有効にすると、ご利用の PolarDB for MySQL クラスターで MySQL と NoSQL (Redis プロトコル) の両方のワークロードを処理できます。
技術原理
オープンソースプロダクトである Pika や Kvrocks などの従来のキーバリューデータベースは、多くの場合、高いスケーラビリティを持つように設計されています。しかし、デプロイメント中には、ノードの協調や運用管理などの複雑さが依然として生じる可能性があります。これらの課題に対処するため、PolarDB for MySQL は Orca 機能を導入しました。この機能により、PolarDB for MySQL クラスターを永続的なキーバリュー (Redis プロトコル) データベースとして使用できます。MySQL データは、キーバリュー (Redis プロトコル) データから分離されています。
PolarDB for MySQL のアーキテクチャ上に構築された Orca は、Redis プロトコルのリクエストを解析および処理するためのフレームワークを導入しています。Orca (Redis プロトコル) に関連するすべてのリクエストは、別のポートに接続します。次の図は、PolarDB for MySQL における Orca の技術アーキテクチャを示しています: 
主な利点
低コスト
コンピューティングノードのリソースを重複して購入する必要はありません。パフォーマンス専有型の分散ストレージを使用して、大容量の要求に対応できます。
使いやすさ
PolarDB for MySQL のアーキテクチャに基づき、物理レプリケーションを使用して単一書き込み、複数読み取りモデルを実現します。また、Serverless による水平および垂直の弾性スケーリングをサポートし、コンピューティングノードのホットレプリカによるフェイルオーバー機能も備えています。これにより、運用保守 (O&M) のオーバーヘッドを効果的に削減します。
PolarDB for MySQL と互換性があり、新しいプロダクト形態であるグローバルデータベースネットワーク (GDN) を提供します。GDN + Orca のデプロイメントモデルを使用すると、複数のリージョンにワークロードをデプロイできます。GDN のクロスリージョンでの低レイテンシー同期、クロスリージョンでの読み書き分離、およびローカル読み取りにより、すべてのリージョンのアプリケーションが Orca にアクセスする際のレイテンシーを 2 秒未満に抑えることができます。
データの永続性と強力な整合性
PolarDB for MySQL の InnoDB ストレージエンジンを使用して実装されており、分散ストレージ PolarStore を使用してデータの永続性を保証します。
PolarDB for MySQL の SCC 技術に基づき、読み書きノードと読み取り専用ノード間で強力な読み取り整合性を実現します。
高いパフォーマンス
パフォーマンス専有型の InnoDB エンジンに基づき、Blink-tree パフォーマンス専有型インデックススキーマや論理的なプリリードなどの機能を使用して、高同時実行の読み書きシナリオでのパフォーマンスを大幅に向上させます。
利用シーン
Orca は、PolarDB for MySQL 上で Redis プロトコルの互換性を提供し、Redis のアプリケーションシナリオを補完するように設計されています。Orca を永続的なキーバリューデータベースとして使用できます。PolarStore 分散ストレージが提供する最大 500 TB の大容量ストレージは、Redis の使いやすさを維持しながら、コストやデータ容量の制限に関する問題を解決するのに役立ちます。
ゲームサーバーのコアデータベース:ゲームのデプロイメントアーキテクチャは、多くの場合シンプルです。メインプログラムは Elastic Compute Service (ECS) インスタンスにデプロイされ、すべてのビジネスデータは Orca に保存されます。永続データベースとして、Orca はデフォルトでデュアル AZ ディザスタリカバリを提供します。高速なバックアップ、ポイントインタイムリカバリ、パフォーマンス専有型の書き込み、および読み取り専用ノードをスケールアウトしてゲームの書き込みスケーリングニーズに対応する機能を提供します。
ゲームのリーダーボード:ゲームアプリケーションでは、リーダーボードのリアルタイム更新とプレイヤーのステータスへの高速アクセスが重要です。Orca はプレイヤースコアとランキング情報を保存できます。Redis プロトコルのソート済みセットデータ構造を使用して、リーダーボード機能を簡単に実装します。
広告レコメンデーションサービス:多くのインターネット広告シナリオでは、広告システムは大量のデータを保存し、高同時実行リクエストを処理する必要があります。安定した低レイテンシーや低ストレージコストといった Orca の特徴は、広告サービスの要件を効果的に満たすことができます。
Lua スクリプト実行エンジン:多くのビジネスアプリケーションでは、クライアントはデータ整合性を確保するために、複数の Redis コマンドを単一のアトミック操作に組み合わせる必要があります。一般的なシナリオには、在庫引き当て、分散ロック、レート制限などがあります。Orca は Redis プロトコルの EVAL/EVALSHA コマンドと互換性があります。サーバーサイドで Lua スクリプトを実行して、複数の操作をアトミックトランザクションにカプセル化することをサポートします。これにより、ネットワークのラウンドトリップのオーバーヘッドが削減され、操作の原子性が保証されます。Orca 機能を有効にすると、追加のミドルウェアを必要とせずに Lua スクリプトを実行できます。
軽量メッセージキュー:一部のビジネスシナリオでは、アプリケーションは非同期タスク処理、イベント通知、またはサービスのデカップリングのために信頼性の高いメッセージキューを必要とします。Orca は Redis プロトコルの List データ構造と互換性があります。LPUSH や BRPOP などのコマンドを通じて、メッセージキューのプロデューサー/コンシューマーモデルをサポートします。PolarDB for MySQL クラスターを購入し、Orca 機能を有効にすることで、軽量メッセージキューのニーズを満たすことができます。これにより、別のメッセージミドルウェアをデプロイおよび保守する必要がなくなり、アーキテクチャの複雑さと運用保守 (O&M) コストを効果的に削減できます。さらに、PolarDB for MySQL のデータの永続性と高可用性により、メッセージデータのセキュリティが保証されます。
適用範囲
ご利用の PolarDB for MySQL クラスターは、次のいずれかのバージョン要件を満たす必要があります:
MySQL 8.0.1、マイナーエンジンバージョン 8.0.1.1.53 以降。
MySQL 8.0.2、マイナーエンジンバージョン 8.0.2.2.24 以降。
課金に関する説明
Orca 機能は無料で使用できます。コンピューティングノードに追加料金はかかりません。Orca データのストレージに対してのみ課金されます。詳細については、「コンピューティングノードの課金ルール」および「ストレージ容量の課金ルール」をご参照ください。
注意事項
Orca 機能はパスワードなしのアクセスをサポートしていません。Orca アカウントを作成する必要があります。
Orca 機能を有効にすると、Orca は PolarDB for MySQL クラスター全体の CPU およびメモリリソースを共有します。したがって、Orca のワークロードはクラスター全体の負荷を増加させます。
Orca 機能を有効にすると、PolarDB for MySQL クラスターは自動的に
__orca_in_polardb_m_という名前の Orca デフォルトデータベースを作成します。このデータベースに対して操作を実行したり、同じ名前の別のデータベースを作成したりすることはできません。
互換性に関する説明
Orca は Redis 7.0 以前のバージョンの一部のコマンドと互換性があります。また、RESP2 および RESP3 プロトコルもサポートしています。現在、単一 DB 操作のみがサポートされています。MOVE などのクロス DB コマンドはサポートされていません。詳細については、「Redis プロトコルの互換性」をご参照ください。
手順
Orca の有効化:
クラスター購入ページで Orca を有効にできます。
クラスター詳細ページの セクションで Orca を有効にできます。
Orca アカウントの作成:クラスター詳細ページの セクションで、Orca アカウントを作成できます。詳細については、「Orca アカウントの作成」をご参照ください。
Orca エンドポイントとポートの管理:クラスター詳細ページの セクションで、Orca のエンドポイントとポートを表示できます。詳細については、「Orca エンドポイントの管理」をご参照ください。
Orca (Redis プロトコル) への接続:Redis クライアントまたはアプリケーションを使用して Orca に接続し、使用できます。
説明Data Management Service (DMS) を使用して Orca 機能に接続し、管理できます。
Orca 監視メトリクスの表示:クラスター詳細ページの セクションで、必要に応じて [Orca 監視メトリクス] を表示できます。詳細については、「Orca 監視メトリクスの表示」をご参照ください。
(オプション) データ移行:Data Transmission Service (DTS) を使用して、Orca のデータ移行 (DTS) を実行できます。