Azure Table Storage o Azure CosmosDB Table Storage

El título presenta dos componentes que suenan muy parecidos, si bien, cada una dispone de ciertas características única y es gracias a ellas, por lo que permiten cubrir un scope de casos de uso muy amplio. Si además bajamos al detalle vemos que, no son herramientas excluyentes, pues ambas se complementan de una manera muy eficiente, lo que redunda en una aportación de valor hacia la organización.

Como ya he comentado en más de una ocasión, el aprendizaje continuo es mandatory siempre que quieras ofrecer las mejores soluciones. Razón por la cual es muy recomendable pasarse de vez en cuando por la página de Arquitecturas de Referencia de Azure y analizar el porqué de las diferentes opciones, para de este modo descubrir las principales características de los componentes involucrados y sobre todo asimilar lo que los hace especiales de cara a satisfacer aspectos como la escalabilidad, confiabilidad, eficiencia, seguridad. En mi caso, es una buena práctica que tengo incorporada al plan de tareas semanal 😉

Como decía, la tecnología avanza a buen ritmo y en el caso de los datos, especialmente. Pues el mundo de los datos no se limita al área de Analítica Avanzada e Inteligencia Artificial, sino que va mucho más allá. Un buen arquitecto de datos debe conocer en profundidad las piezas que mejor se encajan en las aplicaciones que deben construirse para satisfacer las necesidades globales del caso de uso. Es por ello, que tanto su criterio debe ser tenido en cuenta por el Arquitecto de la Solución, puesto que es el realmente experto en el procesamiento del dato y dispone de la visión global futura que permitirá ligar la solución con sistemas de, ahora sí, Analítica Avanzada e Inteligencia Artificial.

Una vez terminada la reivindicación respecto a «pon un arquitecto de datos en tu proyecto«, continúo 😉

Azure Table Storage es una de las fórmulas de almacenamiento dentro de Azure Storage Account, algo que lo hace destacar gracias a su alta eficiencia en cuanto al coste por almacenamiento. Por supuesto, siempre considerando aspectos como la frecuencia de acceso.

NOTA: Recordar que existen distintas configuraciones; Hot, Cold, Archive,… pero están fuera del scope de esta entrada.

Si bajamos al análisis y comparativa entre ambas vemos que:

Azure Table StorageAzure CosmosDB Table Storage API
Únicamente consultas sobre su PKSoporta un segundo índice para consultas
Precio optimizado para almacenamiento de tipo ColdPrecio optimizado para almacenamiento de tipo Hot
Menor rendimientoMayor rendimiento
Geo replicación limitada a una pair regionGeo replicación a lo largo del número de regiones deseadas
Geo replicación es eventualmente consistenteGeo replicación con consistencia configurable
Comparativa entre recursos de Azure Table Storage

Por supuesto, hay otras consideraciones importantes a la hora de elegir el componente, como puede ser el procesamiento de los datos sobre estrategia basada en Change Feed, u opciones de encriptación del dato en reposo, o habilitar múltiples regiones de escritura o incluso implementar la opción de «zonas de disponibilidad», para mejorar la resiliencia de las aplicaciones,… Estas son algunos de los aspectos que hacen de CosmosDB una perfecta herramienta para el manejo de los datos.

Por otro lado, son características comunes a ambas:

  • Baja latencia
  • Escalabilidad
  • Alta disponibilidad
  • Schema flexible
  • Key-Value
  • NoSQL

Y por lo tanto, perfectamente encajables en soluciones como ésta (área roja) de Microsoft, donde gracias a Change Feed desde CosmosDB se integran datos en Azure Storage Table de un modo muy sencillo gracias a una Azure Function que además, elimina los datos movidos en el origen.

Fuente: Microsoft Arquitectura de Referencia

Dejo aquí el enlace a esta arquitectura y además este link al genial laboratorio de Microsoft para implementar una solución de analítica avanzada en real time mediante Change Feed de CosmosDB.

CONCLUSIÓN
El mismo pensamiento expresado al comienzo de la entrada, no se puede parar de analizar arquitecturas o conjuntos de componentes que permitan solventar los diferentes casos de uso que se plantean en el día a día en los entornos empresariales. Hoy hemos aprendido a diferenciar entre Table Storage y CosmosDB Table Storage, además de conocer un sencillo caso de uso donde aplicarlos conjuntamente y finalmente profundizar en uno de los principales beneficios de la NoSQL de Microsoft, su Change Feed.

Foto de portada gracias a Andrea Piacquadio en Pexels

Publicado por alb3rtoalonso

Soy un enamorado del poder de los datos. Entusiasta de la mejora y formación continua.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: