Orca est une base de données clé-valeur persistante et compatible Redis, conçue sur PolarDB for MySQL. L'activation de la fonctionnalité Orca permet à votre cluster PolarDB for MySQL de gérer simultanément des données relationnelles et des structures de données de type Redis sur une plateforme unifiée. Vos applications continuent d'utiliser les clients Redis et les méthodes d'accès habituels, ce qui réduit la complexité opérationnelle et le coût total de possession liés à la gestion de middleware distincts. Cette architecture offre également une latence réduite pour les charges de travail utilisant le protocole Redis. Par ailleurs, Orca prend en charge des valeurs individuelles allant jusqu'à 4 Go, ce qui le rend particulièrement adapté aux cas d'usage impliquant des objets volumineux.
Fonctionnement
Les bases de données clé-valeur traditionnelles, telles que les projets open source Pika et Kvrocks, sont souvent conçues pour offrir une grande évolutivité. Toutefois, leur déploiement peut compliquer la coordination des nœuds et la gestion opérationnelle. Pour résoudre ces problèmes, PolarDB for MySQL introduit la fonctionnalité Orca. Après l'achat d'un cluster PolarDB for MySQL, vous pouvez également l'utiliser comme base de données clé-valeur persistante (compatible Redis). Les données MySQL et les données clé-valeur (protocole Redis) sont stockées séparément.
Reposant sur l'architecture de PolarDB for MySQL, Orca intègre un framework dédié à l'analyse et au traitement des requêtes du protocole Redis. Toutes les requêtes liées à Orca se connectent via un port spécifique. La figure suivante illustre l'architecture technique d'Orca dans PolarDB for MySQL :
Principaux avantages
-
Coût réduit
Orca supprime le besoin de ressources de calcul distinctes. Il s'appuie sur un stockage distribué haute performance pour répondre aux exigences de grande capacité.
-
Simplicité d'utilisation
Fondé sur l'architecture de PolarDB for MySQL, Orca utilise la réplication physique pour permettre la séparation lecture/écriture. Il prend également en charge la mise à l'échelle élastique Serverless horizontale et verticale, et inclut une fonctionnalité de standby chaud de calcul, réduisant ainsi considérablement la charge opérationnelle.
Orca est compatible avec les formes avancées du produit PolarDB for MySQL, telles que le Global Database Network (GDN). En associant Orca à un GDN, vous pouvez déployer vos activités dans plusieurs régions. Le GDN assure une synchronisation des données interrégionale à faible latence, une séparation lecture/écriture interrégionale et un routage local des lectures, garantissant ainsi un accès applicatif à Orca avec une latence inférieure à 2 secondes dans chaque région.
-
Persistance des données et forte cohérence
Construit sur le moteur de stockage InnoDB de PolarDB for MySQL, Orca utilise PolarStore, un service de stockage distribué, pour prévenir toute perte de données.
Grâce à la technologie SCC de PolarDB for MySQL, Orca garantit une forte cohérence en lecture sur les nœuds principaux et en lecture seule.
-
Haute performance
S'appuyant sur le moteur InnoDB haute performance, Orca exploite des fonctionnalités telles que la structure d'index haute performance Blink-tree et la prélecture logique pour offrir des améliorations significatives dans les scénarios de lecture et d'écriture à haute concurrence.
Cas d'usage
Orca apporte la compatibilité avec le protocole Redis par-dessus PolarDB for MySQL, complétant ainsi les cas d'usage Redis existants. Vous pouvez utiliser Orca comme base de données clé-valeur persistante. Grâce à l'immense capacité de stockage allant jusqu'à 500 To offerte par le stockage distribué PolarStore, vous relevez les défis liés aux coûts et au volume des données tout en conservant la simplicité d'utilisation de Redis.
Base de données principale pour serveurs de jeux : Un déploiement de jeu typique repose sur une architecture simple. L'application principale est déployée sur des instances ECS, tandis que toutes les données métier sont stockées dans Orca. En tant que base de données persistante, Orca fournit par défaut une reprise après sinistre multi-AZ, des sauvegardes rapides, une restauration à un instant donné, des écritures haute performance et la possibilité d'étendre horizontalement les nœuds en lecture seule pour répondre à la croissance des besoins d'écriture des jeux.
Classements de jeux : Dans les applications ludiques, la mise à jour en temps réel des classements et l'accès rapide au statut des joueurs sont essentiels. Orca permet de stocker les scores et les classements des joueurs. Vous pouvez facilement implémenter des classements grâce à la structure de données « sorted set » du protocole Redis.
Services de recommandation publicitaire : Dans de nombreux scénarios de publicité en ligne, les systèmes doivent stocker de grands volumes de données et traiter des requêtes à forte concurrence. Orca offre une latence faible et stable ainsi que des coûts de stockage réduits, constituant ainsi une solution efficace pour les besoins de diffusion publicitaire.
Moteur d'exécution de scripts Lua : Les clients ont souvent besoin de combiner plusieurs commandes Redis en une seule opération atomique pour garantir la cohérence des données. Les exemples courants incluent la réduction d'inventaire, les verrous distribués et la limitation de débit. Compatible avec les commandes EVAL/EVALSHA du protocole Redis, Orca prend en charge l'exécution côté serveur de scripts Lua. Cela vous permet d'encapsuler plusieurs opérations dans une transaction atomique, réduisant ainsi les allers-retours réseau et assurant l'atomicité. En activant Orca, vous bénéficiez des capacités de script Lua sans nécessiter de middleware supplémentaire.
File d'attente de messages légère : Certains scénarios métier nécessitent une file d'attente de messages fiable pour le traitement asynchrone des tâches, les notifications d'événements ou le découplage des services. Compatible avec la structure de données List du protocole Redis, Orca prend en charge nativement le modèle producteur-consommateur via des commandes telles que LPUSH/BRPOP. Il suffit d'acheter un cluster PolarDB for MySQL et d'activer Orca pour répondre aux besoins d'une file d'attente de messages légère. Cela élimine le déploiement et la maintenance d'un middleware de messagerie distinct, réduisant ainsi la complexité architecturale et les coûts opérationnels. Parallèlement, la persistance des données et la haute disponibilité de PolarDB for MySQL garantissent la durabilité de vos messages.
Capacités du protocole Redis sur une pile de données unifiée : Si vous souhaitez utiliser PolarDB for MySQL comme plateforme de données unifiée tout en ayant besoin de structures de données de type Redis, Orca peut fournir un service de données compatible Redis sur votre cluster PolarDB for MySQL existant. Vous gérez ainsi les données relationnelles et les structures telles que les hachages, les ensembles, les files d'attente et les classements avec une approche de gestion et de persistance unifiée.
Stockage d'objets de grande valeur : Dans des scénarios tels que le profilage utilisateur, les fonctionnalités de recommandation, le stockage de documents ou la gestion d'état des tâches IA, la valeur associée à une clé unique peut être très volumineuse. Basé sur l'optimisation des performances BLOB de PolarDB for MySQL, Orca prend en charge une valeur unique allant jusqu'à 4 Go. Vous pouvez ainsi stocker de manière persistante des objets volumineux, continuer à utiliser un modèle d'accès clé-valeur simple et réduire la complexité liée au fractionnement, au déplacement et à la gestion de ces objets.
Développement local et tests d'intégration : Lors du développement local, du débogage conjoint et des processus CI/CD, les applications doivent souvent utiliser la même interface de protocole Redis qu'en production, mais sans la surcharge liée au déploiement et à la maintenance d'un service Redis distinct. Grâce à sa compatibilité Redis, Orca sert de magasin clé-valeur persistant pour la validation fonctionnelle, la reproduction de problèmes et les tests de régression. Cela simplifie l'environnement et améliore l'efficacité du développement.
Prérequis
Votre cluster PolarDB for MySQL doit répondre aux exigences suivantes :
Architecture CPU : X86
-
Version du moteur :
MySQL 8.0.1, avec une version mineure du moteur 8.0.1.1.53 ou ultérieure.
MySQL 8.0.2, avec une version mineure du moteur 8.0.2.2.24 ou ultérieure.
Facturation
La fonctionnalité Orca est gratuite. Aucun frais n'est appliqué pour les nœuds de calcul. Seul l'espace de stockage consommé par les données Orca est facturé. Pour plus d'informations, consultez les Règles de facturation des nœuds de calcul et les Règles de facturation de l'espace de stockage.
Limites
La fonctionnalité Orca ne prend pas en charge l'accès sans mot de passe. Vous devez créer un compte Orca.
Une fois la fonctionnalité Orca activée, celle-ci partage les ressources CPU et mémoire de l'ensemble du cluster PolarDB for MySQL. Par conséquent, les charges de travail Orca augmentent la charge globale du cluster. L'augmentation réelle de la consommation CPU et mémoire dépend de votre charge de travail métier.
Après l'activation de la fonctionnalité Orca, le cluster PolarDB for MySQL crée automatiquement une base de données Orca par défaut nommée
__orca_in_polardb_m_. Aucune opération n'est autorisée sur cette base de données, et il est impossible d'en créer une autre portant le même nom.
Compatibilité
Orca est compatible avec certaines commandes de Redis 7.0 et versions antérieures, et prend en charge les protocoles RESP2 et RESP3. Il prend actuellement en charge jusqu'à 16 bases de données Redis (DB 0 à DB 15). Les commandes inter-bases de données, telles que MOVE, ne sont pas prises en charge. Pour plus d'informations, consultez la rubrique Compatibilité avec le protocole Redis.
Utilisation
-
Activez Orca :
Activez Orca sur la page d'achat du cluster.
Activez Orca dans la section de la page de détails du cluster.
Créez un compte Orca : Créez un compte Orca dans la section de la page de détails du cluster. Pour plus d'informations, consultez Créer un compte Orca
Gérez les endpoints et ports Orca : Consultez l'endpoint et le port Orca dans la section de la page de détails du cluster. Pour plus d'informations, consultez Gérer les endpoints Orca
-
Connectez-vous à Orca (protocole Redis) : Utilisez un client Redis ou une application pour vous connecter à Orca et l'utiliser.
RemarqueVous pouvez utiliser Data Management Service (DMS) pour vous connecter et gérer les données Orca.
Consultez les métriques Orca : Sur la page de détails du cluster, accédez à la section pour consulter les métriques Orca selon vos besoins métier. Pour plus d'informations, consultez Consulter les métriques Orca
(Facultatif) Migrez des données : Utilisez Data Transmission Service (DTS) pour migrer des données Orca.