Todo desarrollador de aplicaciones se ha enfrentado a la necesidad de datos de ejemplo. Ya sea para pruebas funcionales o pruebas de estrés a escala, se requiere un gran volumen de datos significativos para ver cómo se desempeña realmente una aplicación bajo condiciones del mundo real. En la mayoría de los casos, utilizar datos de producción reales está fuera de discusión debido al impacto en las cargas de trabajo operativas, y en la gobernanza y seguridad de los datos, por lo que se requieren datos de ejemplo.
Las herramientas de generación de datos aleatorios existen, pero por lo general solo generan datos simples y repetitivos con valores genéricos que no se parezcan en nada a los datos complejos de las aplicaciones. Y estas herramientas rara vez pueden producir suficientes datos para probar verdaderamente las aplicaciones a escala y rendimiento de nivel empresarial.
Recientemente participé en un esfuerzo de desarrollo en el que nos enfrentamos a esta misma situación: una aplicación de aerolínea prototipo que funcionaba bien con una cantidad minúscula de datos creados a mano, pero que aún no se había probado a escala con grandes volúmenes de datos. Y para complicar las cosas, los datos debían ser complejos con elementos anidados, lo que hacía inútiles a las herramientas de generación de datos que solo podían producir pequeñas cantidades de datos simples.
Para nuestra solución, recurrimos a las increíbles características y la inmensa escala de Couchbase Capella, la base de datos en la nube como servicio.
Continúe leyendo para obtener una descripción general, siga el video de demostración que muestra la solución en acción, o ve directamente al código en GitHub.
La receta que se nos ocurrió es simple:
- 1 parte de Couchbase Capella Data Service
- 1 parte del servicio de eventos de Couchbase Capella
- 2 funciones de Eventing
Mezcle bien en una configuración de Capella dimensionada según la cantidad de datos que desea generar en un tiempo específico. Genere los datos deseados y retírelos, bien calientes y listos para usar.
¡Profundicemos en los detalles!
Couchbase Capella = velocidad y escala
Couchbase Capella es la plataforma de base de datos en nube para aplicaciones modernas que fusiona la agilidad y el rendimiento de una base de datos NoSQL distribuida y las fortalezas de un SGBDR en una sola base de datos.
Capella es multiuso, lo que significa que es una combinación de patrones de acceso a datos. Primero, proporciona procesamiento de valor clave en memoria para una capacidad de respuesta hiperrápida. A continuación, ofrece almacenamiento distribuido de datos basados en documentos JSON para mayor flexibilidad y resistencia. A esto se suma el soporte para búsqueda de texto completo, sincronización de datos móviles, IoT/series temporales, análisis columnar y más.
También ofrece compatibilidad con consultas SQL, algo que no se encuentra típicamente en otras bases de datos de documentos, para que los desarrolladores puedan trabajar con Capella usando un lenguaje que ya conocen. Estas son capacidades que los clientes ya no tienen que ensamblar a partir de un montón de tecnologías diferentes, porque lo obtienen todo en una sola base de datos con Capella.
La escala y la velocidad de Capella cuentan con la confianza de grandes clientes empresariales y startups por igual, y están probadas en puntuaciones de referencia que muestran un rendimiento superior frente a la competencia.
Servicio de Eventos de Capella = acción en tiempo real
Además de las otras funciones integradas, Capella ofrece la Servicio de eventos, lo que permite a los desarrolladores escribir funciones de JavaScript que se llaman en tiempo real cuando hay cambios en los datos de Capella. Las funciones son fáciles de crear utilizando el editor de Eventing de Data Tools en el plano de control de Capella, donde se especifican los buckets de origen que activan la ejecución de las funciones.
Los casos de uso típicos del servicio de eventos incluyen:
- Alertas basadas en umbrales
- Parámetros de monitoreo
- Enriquecimiento de documentos
- Programación de acciones futuras
- Herramientas puntuales de limpieza de datos
- Interacción REST externa
¡100 millones de documentos en minutos!
Elegimos el Servicio de Eventing de Capella para la generación de datos porque nos dio la flexibilidad de producir documentos con el formato exacto que necesitábamos y la escala para producir muchos de ellos!
Primero, configuramos nuestro clúster de Capella para generar un gran volumen de datos en poco tiempo. En este caso, queríamos 100 millones de documentos en unos cinco minutos, por lo que optamos por 10 nodos de clúster en total: 6 ejecutando el Servicio de Datos y 4 ejecutando el Servicio de Eventos.
A continuación, creamos funciones para el servicio de eventos de Capella con bucles diseñados para generar documentos JSON con datos de aerolíneas realistas en un depósito de destino.
Desde ahí fue fácil generar los datos. Activamos las funciones haciendo una simple mutación de datos en una carpeta de origen especificada, ¡y obtuvimos 100 millones de documentos de aerolíneas en menos de tres minutos!
Una vez que se generaron nuestros datos, aprovechamos Escalamiento Multidimensional y redujimos nuestra configuración nuevamente a 3 nodos, lo que redujo costos.
- Todo el proceso se detalla en el tutorial video.
- Intenta generar tus propios datos de ejemplo siguiendo el instrucciones paso a paso en este repositorio de GitHub.
- ¿Nuevo en Capella? Asegúrate de aprovechar un Prueba GRATUITA de Capella!

Deja un comentario
Lo siento, debes estar conectado para publicar un comentario.