No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Workload

5/22
Recursos

¿Cómo aplicar un workload a un caso de estudio de manejo de datos?

En el desarrollo de sistemas de datos, entender y aplicar los conceptos de workload es esencial para modelar adecuadamente la base de datos. En este contenido, exploraremos un caso de estudio de sensores climáticos, centrándonos en la estructura necesaria para identificar los requerimientos correctos y obtener un diseño óptimo.

¿Qué es un workload y cómo se construye?

Un workload es un documento inicial que define cómo se gestionan las operaciones y se diseñan los procesos en un sistema. Su construcción implica:

  • Análisis de requisitos: Identificar los elementos esenciales del sistema.
  • Modelo entidad-relación: Representar cómo se interconectan los datos.
  • Identificación de patrones: Ver cuál se adapta a los procesos y datos presentes.

En el caso del proyecto de sensores climáticos, utilizamos un dataset centrado en la presión atmosférica, lo que implica conectar datos de sensores a una base de datos en MongoDB.

¿Cómo identificar los actores y operaciones de un caso de negocio?

En un sistema de sensores, los actores principales son:

  • Sensores: 100,000 dispositivos distribuidos geográficamente enviando datos cada minuto.
  • Equipo de operación: Monitorean el funcionamiento de los sensores y gestionan reparaciones.
  • Equipo de ciencia de datos: Analizan los datos para encontrar tendencias y generar predicciones.

Cada sensor envía información cada minuto, generando 100,000 registros por minuto. Mientras tanto, el equipo de ciencia de datos consume esta información principalmente para lecturas. La base de datos debe estar preparada para sostener una carga de escritura intensiva.

¿Cuáles son las consideraciones especiales en el diseño del sistema?

En el diseño del sistema se deben tener en cuenta:

  • Periodo de retención de datos: Los datos deben almacenarse por un mínimo de 10 años.
  • Ambiente de replica de MongoDB: Decidir si los datos deben ser en tiempo real o pueden tener un retraso.
  • Frecuencia de las consultas: Adaptar el sistema para manejar un promedio de 100 consultas por hora, reflejo del equipo de datos.

Utilizando estos parámetros, el diseño del sistema priorizará la escritura, pero también debe estar optimizado para lectura.

¿Cómo documentar y ajustar el diseño según su evolución?

El workload sirve como orientación inicial, pero debe ajustarse con el crecimiento del negocio. Cada sección, desde definiciones de operaciones hasta suposiciones sobre el negocio, debe ser actualizada conforme evolucionan los requisitos.

Se debe disponer de un modelo de entidades en MongoDB que permita la categorización y fácil acceso de los datos por parte de los equipos involucrados.

En conclusión, diseñar un sistema de datos eficiente implica no solo entender los actores y operaciones actuales, sino también prever y documentar la evolución y mayor complejidad que con el tiempo acompañará al negocio. ¡Sigue aprendiendo y aplicando estos conceptos para gestionar tus proyectos de datos de manera efectiva!

Aportes 8

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Workload

El Workload o Carga de trabajo se construye tomando en cuenta los Escenarios, los Expertos y el Sistema Actual y nos permite identificar que cosas tenemos y como se comportan para así empezar a tomar decisiones a nivel de diseño en nuestra base de datos.

Para construir el Workload podemos usar un documento (no limitativo) que nos permita empezar a definir el modelado y saber que aspectos debemos tener en cuenta al momento de diseñar la base de datos. El documento puede tener las siguientes secciones:

  • Casos de usos: Describimos lo mas importante acerca del caso de negocio que se esté manejando.
  • Sección principal: Se resaltan los actores principales.
  • Suposiciones acerca del negocio: Establecemos ciertas declaraciones que pueden ir variando a través del tiempo.
  • Operaciones: Se detallan mas a fondo los actores que influyen en nuestro negocio y la forma en la que se relacionan con nuestra base de datos resaltando aspectos importantes como: frecuencia, información que se envía, tipo de operación, etc.
  • Entidades: Creamos ciertas entidades que existen en nuestro negocio, así como suponer ciertas cosas sobre ellas gracias a la información suministrada por los expertos en el area.
  • Observaciones finales: Pueden ser acotaciones generales con respecto a la información recolectada.


📌 Mongo Atlas posee un sistema de replicación y cuando escribimos en una base de datos puede existir un delay mientras se replica la información en otros nodos.

Interesante que el curso tenga ese enfoque de IoT, le da mas diversidad al uso de bases de datos NoSQL

m = miles, M = millones 😃

En las assumptions, está presente un caso común de elegir un tradeoff

Aplicar algo positivo pero con sus contrapartes

En este caso, la data para analisis necesita ser acurate, por lo que se necesitará consistencia

En contraparte, la consistencia en este caso, hará que los inserts o writes tarden más, pero las lecturas serán consistentes

Un ejemplo de lo contrario es aplicar caching. Cuando usamos redis o algun sistema de caching (para un eccomerce,blogs o etc) es muy común que algunas operaciones, no necesiten tanta consistencia para ciertas lecturas

Aquí es dónde nosotros podríamos aplicar lo que en la Assumption 2° se “necesita” según los Stakeholders. Y esto casi siempre pasa
Los Clientes pueden decirnos que se necesita y las restricciones para sí nosotros como Arquitectos, tomar una desición

Que bueno este documento! Tan esencial que es dejar documentados estos procesos de infraestructura

El workload es crucial en un proyecto porque te ayuda a: 1. **Definir requerimientos**: Identifica qué necesitas para manejar datos y operaciones. 2. **Organizar tareas**: Establece prioridades y asigna recursos eficientemente. 3. **Optimizar rendimiento**: Te permite anticipar la carga en la base de datos y planificar su diseño. 4. **Facilitar análisis**: Ayuda a entender patrones de uso y a ajustar el sistema según las necesidades. Un buen workload asegura que tu proyecto sea escalable y responda a las demandas reales.
El workload se aplica en situaciones donde debes analizar y modelar la carga de trabajo de un sistema. En el contexto del curso de Modelado de Datos en MongoDB, se usa para definir casos de uso, identificar actores, y determinar la frecuencia de operaciones de lectura y escritura. Esto ayuda a optimizar el diseño de la base de datos y asegurar su rendimiento ante diversas cargas de trabajo, como en el caso de los sensores de clima mencionados.

Son cien millones de sensores, ¿no?