Todos los desarrolladores de aplicaciones se han enfrentado a la necesidad de disponer de datos de muestra. Ya sea para pruebas funcionales o pruebas de estrés a escala, se necesita un gran volumen de datos significativos para ver cómo funciona una aplicación en condiciones reales. En la mayoría de los casos, el uso de datos de producción reales está fuera de lugar debido al impacto en las cargas de trabajo operativas y en el gobierno y la seguridad de los datos, por lo que se necesitan datos de muestra.

Existen herramientas de generación de datos aleatorios, pero normalmente sólo generan datos simples y repetitivos con valores genéricos que no se parecen en nada a los datos de aplicaciones complejas. Y estas herramientas rara vez pueden producir datos suficientes para probar realmente aplicaciones a escala y rendimiento de nivel empresarial.

Hace poco participé en un proyecto de desarrollo en el que nos enfrentábamos a esta misma situación: un prototipo de aplicación para aerolíneas que funcionaba bien con una cantidad minúscula de datos creados a mano, pero que aún tenía que probarse a escala con grandes volúmenes de datos. Y para complicar aún más las cosas, los datos tenían que ser complejos con elementos anidados, lo que hacía inútiles las herramientas de generación de datos que sólo podían producir pequeñas cantidades de datos simples.

Para nuestra solución, recurrimos a las increíbles funciones y la inmensa escala de Couchbase Capellala base de datos en la nube como servicio.

Siga leyendo para obtener una visión general, siga el vídeo de demostración que muestra la solución en acción, o saltar directamente al código en GitHub.

 

La receta que se nos ocurrió es sencilla:

    • 1 parte Couchbase Capella Data Service
    • 1 parte Couchbase Capella Eventing Service
    • 2 Funciones para eventos

Mezcle bien en una configuración Capella dimensionada según la cantidad de datos que desee generar en un tiempo determinado. Genere los datos deseados y retírelos bien calientes y listos para su uso.

Profundicemos en los detalles.

Couchbase Capella = velocidad y escala

Couchase Capella es la plataforma de base de datos en la nube para aplicaciones modernas que fusiona la agilidad y el rendimiento de una base de datos NoSQL distribuida y los puntos fuertes de un RDBMS en una única base de datos.

Capella es polivalentelo que significa que es una combinación de patrones de acceso a datos. En primer lugar, proporciona procesamiento de valores clave en memoria para una capacidad de respuesta hiperrápida. A continuación, proporciona almacenamiento distribuido de datos basados en documentos JSON para una mayor flexibilidad y resistencia. A esto se añade la compatibilidad con búsquedas de texto completo, sincronización de datos móviles, IoT/series temporales, análisis en columnas, etc.

También ofrece soporte para consultas SQL -que no suelen encontrarse en otras bases de datos de documentos-, de modo que los desarrolladores pueden trabajar con Capella utilizando un lenguaje que ya conocen. Se trata de capacidades que los clientes ya no tienen que reunir a partir de un montón de tecnologías diferentes, porque con Capella lo tienen todo en una única base de datos.

Tanto las grandes empresas como las nuevas confían en la escala y velocidad de Capella. puntos de referencia que demuestran un rendimiento superior al de la competencia.

Capella Eventing Service = acción en tiempo real

Además de las demás funciones incorporadas, Capella ofrece el Servicio de concursosque permite a los desarrolladores escribir funciones JavaScript que se ejecutan en tiempo real cuando se producen cambios en los datos de Capella. Las funciones son fáciles de crear utilizando el editor de eventos 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 típicos de uso del Servicio de Eventos incluyen:

    • Alertas basadas en umbrales
    • Parámetros de control
    • Documentos enriquecedores
    • Programación de acciones futuras
    • Herramientas de limpieza de datos puntuales
    • Interacción REST externa

100 millones de documentos en minutos

Elegimos Capella Eventing Service para la generación de datos porque nos ofrecía la flexibilidad de producir documentos con el formato exacto que necesitábamos y la escala para producir lotes ¡de ellos!

En primer lugar, configuramos nuestro clúster 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 realistas de aerolíneas en un bucket de destino.

A partir de 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 generados los datos, aprovechamos la herramienta de Capella Escala multidimensional y redujimos nuestra configuración de nuevo a 3 nodos, ahorrando costes.

Autor

Publicado por Mark Gamble, Director de Marketing de Productos y Soluciones

Soy un apasionado del marketing de productos con formación técnica y en consultoría de soluciones y más de 20 años de experiencia en tecnología empresarial y de código abierto. He lanzado varias bases de datos y soluciones analíticas a lo largo de mi carrera, y he trabajado con clientes de una amplia variedad de sectores, como servicios financieros, automoción, hostelería, alta tecnología y sanidad. Tengo especial experiencia en análisis e IA, me encantan todos los datos y soy un firme defensor de las iniciativas de datos para el bien.

Dejar una respuesta