Orca es una base de datos de clave-valor persistente y compatible con Redis, construida sobre PolarDB for MySQL. Cuando habilite la función Orca, su clúster de PolarDB for MySQL podrá gestionar tanto datos relacionales como estructuras de datos estilo Redis en una sola plataforma unificada. Las aplicaciones pueden seguir usando los clientes y métodos de acceso de Redis que ya conocen. Esto reduce la complejidad operativa y el costo total de propiedad que implica administrar un middleware por separado. Esta arquitectura también ofrece menor latencia para las cargas de trabajo que usan el protocolo Redis. Además, Orca admite valores individuales de hasta 4 GB, por lo que resulta ideal para casos de uso con objetos grandes.
Cómo funciona
Los key-value databases tradicionales, como los proyectos de código abierto Pika y Kvrocks, suelen diseñarse para ofrecer alta escalabilidad. Sin embargo, su despliegue puede complicar la coordinación de nodos y la gestión operativa. Para resolver estos desafíos, PolarDB for MySQL introduce la función Orca. Después de comprar un clúster de PolarDB for MySQL, también puede usarlo como una base de datos de clave-valor persistente (compatible con Redis). Los datos de MySQL y los datos de clave-valor (protocolo Redis) se mantienen separados.
Construido sobre la arquitectura de PolarDB for MySQL, Orca incorpora un framework para analizar sintácticamente y procesar solicitudes del protocolo Redis. Todas las solicitudes relacionadas con Orca se conectan a un puerto dedicado. La siguiente figura ilustra la arquitectura técnica de Orca en PolarDB for MySQL:
Ventajas principales
-
Bajo costo
Orca elimina la necesidad de contar con recursos de cómputo independientes. Aprovecha un distributed storage de alto rendimiento para cumplir con los requisitos de gran capacidad.
-
Facilidad de uso
Basado en la arquitectura de PolarDB for MySQL, Orca utiliza la replicación física para habilitar la división de lectura/escritura. También admite el escalado elástico serverless horizontal y vertical, e incluye la función de espera activa de cómputo, lo cual reduce significativamente la carga operativa.
Orca es compatible con formas avanzadas del producto PolarDB for MySQL, como Global Database Network (GDN). Al usar Orca con una GDN, puede desplegar su negocio en varias regiones. La GDN proporciona sincronización de datos entre regiones con baja latencia, read/write splitting entre regiones y enrutamiento de lectura local. De este modo, se asegura de que el acceso de las aplicaciones a Orca tenga una latencia inferior a 2 segundos en cada región.
-
Persistencia de datos y consistencia fuerte
Construido sobre el motor de almacenamiento InnoDB de PolarDB for MySQL, Orca usa PolarStore, un servicio de distributed storage, para evitar la pérdida de datos.
Orca logra una consistencia de lectura fuerte en el nodo principal y en los read-only nodes mediante la tecnología SCC de PolarDB for MySQL.
-
Alto rendimiento
Basado en el motor InnoDB de alto rendimiento, Orca utiliza funciones como la estructura de índice de alto rendimiento Blink-tree y la captación previa lógica (logical prefetch). Estas características ofrecen mejoras de rendimiento significativas en escenarios de lectura y escritura con alta concurrencia.
Casos de uso
Orca ofrece compatibilidad con el protocolo Redis sobre PolarDB for MySQL y complementa los casos de uso actuales de Redis. Puede utilizar Orca como un distributed storage persistente. Gracias a la enorme capacidad de almacenamiento de hasta 500 TB que proporciona el distributed storage PolarStore, puede resolver los desafíos de costos y volumen de datos sin perder la facilidad de uso de Redis.
Base de datos central para servidores de juegos: un despliegue de juegos típico tiene una arquitectura sencilla. La aplicación principal se despliega en instancias de read-only nodes y todos los datos del negocio se almacenan en Orca. Como base de datos persistente, Orca proporciona recuperación ante desastres multi-AZ de forma predeterminada, copias de seguridad rápidas, recuperación a un punto en el tiempo, escrituras de alto rendimiento y la capacidad de escalar horizontalmente con read-only nodes para satisfacer las crecientes demandas de escritura de los juegos.
Tablas de clasificación de juegos: en las aplicaciones de juegos, las actualizaciones en tiempo real de las tablas de clasificación y el acceso rápido al estado de los jugadores son fundamentales. Orca puede almacenar las puntuaciones y clasificaciones de los jugadores. Implemente fácilmente estas tablas mediante la estructura de datos sorted set del protocolo Redis.
Servicios de recomendación de anuncios: en muchos escenarios de publicidad en línea, los sistemas de anuncios deben almacenar grandes cantidades de datos y manejar solicitudes con alta concurrencia. Orca ofrece una latencia baja estable y costos de almacenamiento reducidos, por lo que representa una solución eficaz para los requisitos de entrega de anuncios.
Motor de ejecución de scripts de Lua: los clientes suelen necesitar combinar varios comandos de Redis en una sola operación atómica para garantizar la consistencia de los datos. Algunos ejemplos comunes incluyen la reducción de inventario, rate limiting y rate limiting. Orca es compatible con los comandos EVAL/EVALSHA del protocolo Redis y admite la ejecución de scripts de Lua en el servidor. Esto le permite encapsular varias operaciones en una transacción atómica, lo que reduce los viajes de ida y vuelta por la red y garantiza la atomicidad. Al habilitar Orca, obtiene capacidades de scripting en Lua sin necesidad de un middleware adicional.
Cola de mensajes ligera: algunos escenarios de negocio requieren una message queue confiable para procesar tareas asíncronas, enviar notificaciones de eventos o desacoplar servicios. Orca es compatible con la estructura de datos List del protocolo Redis y admite de forma natural el modelo productor-consumidor mediante comandos como LPUSH/BRPOP. Cubra las necesidades de una cola de mensajes ligera simplemente comprando un clúster de PolarDB for MySQL y habilitando Orca. Así elimina la necesidad de desplegar y mantener un middleware de mensajería independiente, lo que reduce la complejidad arquitectónica y los costos operativos. Al mismo tiempo, la persistencia de datos y la alta disponibilidad de PolarDB for MySQL garantizan la durabilidad de los datos de sus mensajes.
Capacidades del protocolo Redis en una pila de datos unificada: si desea usar PolarDB for MySQL como su plataforma de datos unificada, pero también necesita estructuras de datos similares a las de Redis, Orca puede proporcionar un servicio de datos compatible con Redis sobre su clúster existente de PolarDB for MySQL. Esto le permite gestionar tanto datos relacionales como estructuras tipo hash, conjuntos, colas y tablas de clasificación con un enfoque de administración unificado y persistencia.
Almacenamiento para objetos de valor grande: en escenarios como la creación de perfiles de usuarios, las funciones de recomendación, el almacenamiento de documentos o la gestión de estados de tareas de IA, el valor de una sola clave puede ser muy grande. Basado en BLOB performance optimization de PolarDB for MySQL, Orca admite un valor único de hasta 4 GB. Esto le permite almacenar de forma persistente objetos grandes, seguir usando un modelo de acceso key-value sencillo y reducir la complejidad de dividir, mover y gestionar objetos grandes.
Desarrollo local y pruebas de integración: en escenarios de desarrollo local, depuración conjunta y CI/CD, las aplicaciones suelen necesitar la misma interfaz del protocolo Redis que en producción, pero sin la sobrecarga de desplegar y mantener un servicio de Redis independiente. Dado que Orca es compatible con Redis, puede usarse como un almacén persistente de key-value para validación funcional, reproducción de problemas y pruebas de regresión. Esto simplifica el entorno y mejora la eficiencia del desarrollo.
Requisitos
Su clúster de PolarDB for MySQL debe cumplir con los siguientes requisitos:
Arquitectura de CPU: X86
-
Versión del motor:
MySQL 8.0.1, con una versión secundaria del motor 8.0.1.1.53 o posterior.
MySQL 8.0.2, con una versión secundaria del motor 8.0.2.2.24 o posterior.
Facturación
La función Orca es gratuita. No se le cobra por compute nodes. Solo se le cobra por el espacio de almacenamiento que consumen los datos de Orca. Para obtener más información, consulte Compute node billing rules y Storage space billing rules.
Límites
La función Orca no admite password-free access. Debe create an Orca account.
Después de habilitar la función Orca, esta reutiliza los recursos de CPU y memoria de todo el clúster de PolarDB for MySQL. Por lo tanto, las cargas de trabajo de Orca aumentan la carga del clúster. El incremento real en el consumo de CPU y memoria depende de su carga de trabajo de negocio.
Una vez que habilite la función Orca, el clúster de PolarDB for MySQL crea automáticamente una base de datos de Orca predeterminada llamada
__orca_in_polardb_m_. No puede ejecutar ninguna operación en esta base de datos ni crear otra con el mismo nombre.
Compatibilidad
Orca es compatible con algunos comandos de Redis 7.0 y versiones anteriores, y admite los protocolos RESP2 y RESP3. Actualmente admite hasta 16 bases de datos de Redis (de DB 0 a DB 15). Los comandos entre bases de datos, como MOVE, no son compatibles. Para obtener más información, consulte Redis protocol compatibility.
Uso
-
Habilitar Orca:
Habilite Orca en la página de compra del clúster.
Habilite Orca en la sección de la página de detalles del clúster.
Crear una cuenta de Orca: cree una cuenta de Orca en la sección de la página de detalles del clúster. Para obtener más información, consulte Create an Orca account
Gestionar endpoints y puertos de Orca: consulte el endpoint y el puerto de Orca en la sección de la página de detalles del clúster. Para obtener más información, consulte Manage Orca endpoints
-
Conectarse a Orca (protocolo Redis): use un cliente o una aplicación de Redis para conectarse a Orca y utilizarlo.
NotaUse Data Management Service (DMS) para conectarse y manage Orca data.
Consultar métricas de Orca: en la página de detalles del clúster, vaya a la sección para consultar el metrics de Orca según las necesidades de su negocio. Para obtener más información, consulte View Orca metrics
(Opcional) Migrar datos: use Data Transmission Service (DTS) para migrate Orca data.