Bases de Datos Digitales
Artículos Técnicos
¿Para qué usamos una arquitectura de microservicios?
Generalmente son utilizadas para construir aplicaciones que son resistentes, altamente escalables, implementables de forma independiente y capaces de evolucionar rápidamente.
- Son pequeños, independientes y poco acoplados.
- Es una base de código separada
- Servicios son responsables de conservar sus propios datos o estado externo.
- Servicios se comunican entre sí mediante API bien definidas
¿Cómo manejan los datos los microservicios?
La teoría dice que cada micro servicio debe manejar sus propios datos, esto quiere decir que no compartan el mismo schema o tabla de escritura/lectura.
Al manejar cada microservicio sus propios datos, facilita el realizar cambios y permite ser ágiles al ser totalmente independientes.
Además, un repositorio compartido limita la capacidad de optimizar el almacenamiento de datos de cada microservicio.
Concepto de Polyglot Persistence
Dado que la premisa es que cada microservicio maneje sus propios datos, esto se puede extender a que cada microservicio utilice el motor de base de datos que mejor haga el trabajo. Aquí es cuando surge el concepto de Polyglor Persistence, el cual empuja al uso de múltiples tecnologías de almacenamiento de datos dentro de una sola aplicación.
Dada esta definición, debemos tener claros cuales son los distintos tipos de datos y modelos de bases de datos disponibles.
Diferenciación según tipos de datos
Datos Estructurados y No Estructurados
La primera diferenciación en datos viene de si los datos son o no estructurados, a continuación un diagrama que explica las principales diferencias.
Persistencia y Origen de Datos
Además, esta diferenciación se puede abrir aún más según la persistencia de los datos y el origen de estos.
Persistencia
- Efímeros: Son datos que existen brevemente, como por ejemplo el caché.
- Transitorios: Corresponden a datos que se contienen temporalmente mientras admiten escrituras de alta velocidad
Origen de Datos
- Operacionales: Son datos que necesitan tener durabilidad, consistencia y disponibilidad altas.
- Transaccionales: Son datos asociados a un evento, que generalmente están descritos por un verbo. Tienen dimensión de tiempo, valor numérico y referencia a objetos
Artículos relacionados
Descubre los cientos de artículos en nuestro blog