Elección de una solución de almacenamiento en Azure

Completado

La elección de la solución de almacenamiento correcta puede conducir a un mejor rendimiento, ahorro de costos y capacidad de administración mejorada. Cada tipo de datos tiene requisitos de almacenamiento diferentes. Su trabajo es determinar qué solución de almacenamiento es la mejor para los tipos de datos que usa la empresa. Tenga siempre en cuenta el tipo de datos, las operaciones necesarias, la latencia prevista y la necesidad de compatibilidad transaccional.

Aquí, aplicará lo que ha aprendido sobre los datos en el escenario de comercio minorista en línea y encontrará el mejor servicio de Azure para cada conjunto de datos.

Datos del catálogo de productos

Clasificación de datos: semiestructurados debido a la necesidad de ampliar o modificar el esquema para nuevos productos.

Operaciones:

  • Los clientes necesitan un gran número de operaciones de lectura, con la posibilidad de consultar muchos campos de la base de datos.
  • La empresa necesita un gran número de operaciones de escritura para realizar el seguimiento del inventario en constante cambio.

Rendimiento y latencia: alto rendimiento y baja latencia.

Compatibilidad transaccional: como los datos del producto están vinculados al pago y el inventario, se necesita compatibilidad con transacciones.

Por diseño, Azure Cosmos DB admite datos semiestructurados o NoSQL. Por tanto, admitir nuevos campos, como "Habilitado para Bluetooth" o cualquier campo nuevo que necesite en el futuro, es algo que puede hacer con Azure Cosmos DB.

Azure Cosmos DB es compatible con SQL para las consultas y todas las propiedades se indexan de forma predeterminada. Puede crear consultas para que los clientes puedan filtrar por cualquier propiedad del catálogo.

Azure Cosmos DB también es compatible con ACID, así que puede estar seguro de que las transacciones se completan según esos estrictos requisitos. Hay un conector OLTP disponible para Azure Cosmos DB.

Como ventaja adicional, también puede usar Azure Cosmos DB para replicar los datos con facilidad en cualquier parte del mundo. Por tanto, si el sitio de comercio electrónico tiene usuarios concentrados en EE. UU., Francia e Inglaterra, puede replicar los datos en centros de datos de esas regiones. La latencia se reduce porque ha acercado físicamente los datos a los usuarios.

Incluso con datos que se replican en todo el mundo, puede elegir uno de los cinco niveles de coherencia. Al elegir el nivel de coherencia correcto, puede determinar el equilibrio entre coherencia, disponibilidad, latencia y rendimiento. Se puede escalar verticalmente para controlar una mayor demanda del cliente durante las horas pico de compra, o bien reducir verticalmente durante las horas más lentas para ahorrar costos.

¿Por qué no otros servicios de Azure?

Azure SQL Database sería una opción excelente para este conjunto de datos si pudiera identificar el subconjunto de propiedades comunes en la mayoría de los productos y las propiedades de las variables que podrían no existir en algunos de ellos. Puede usar Azure SQL Database para combinar datos estructurados de columnas y datos semiestructurados almacenados como columnas JSON que se pueden extender fácilmente. Azure SQL Database puede proporcionar muchas de las ventajas de Azure Cosmos DB, pero el beneficio es escaso si la estructura de los datos cambia en otras entidades y no puede definir previamente un conjunto de propiedades comunes que se repitan en la mayoría de esas entidades. A diferencia de Azure Cosmos DB, que indexa todas las propiedades de los documentos, en Azure SQL Database tendrá que definir de forma explícita qué propiedades de los documentos semiestructurados se deben indexar. Azure Cosmos DB es una opción más apropiada cuando los datos son muy variables y están muy estructurados, y no puede predecir qué propiedades se deben indexar. Azure SQL Database admite OLTP.

Otros servicios de Azure, como Azure Table Storage, Apache HBase en Azure HDInsight y Azure Cache for Redis también pueden almacenar datos NoSQL. En este escenario, los usuarios querrán consultar en varios campos, por lo que Azure Cosmos DB es una mejor opción. Azure Cosmos DB indexa todos los campos de forma predeterminada, mientras que otros servicios de Azure tienen una limitación para los datos que indexan. La consulta en campos no indexados produce un rendimiento reducido.

Fotografías y vídeos

Clasificación de datos: no estructurados.

Operaciones:

  • Recupere solo por identificador.
  • Los clientes requieren un gran número de operaciones de lectura con una latencia baja.
  • Las operaciones de creación y actualización serán menos frecuentes, y pueden tener una mayor latencia que las de lectura.

Rendimiento y latencia: para las recuperaciones por identificador, se necesita baja latencia y alto rendimiento. Las operaciones de creación y actualización pueden tener una mayor latencia que las de lectura.

Compatibilidad transaccional: no es necesaria.

Azure Blob Storage admite el almacenamiento de archivos, como fotos y vídeos. También funciona con Azure Content Delivery Network al almacenar en caché el contenido más usado y después guardarlo en servidores perimetrales. Azure Content Delivery Network reduce la latencia al servir esas imágenes a los usuarios.

En Azure Blob Storage, también puede mover las imágenes del nivel de almacenamiento de acceso frecuente al nivel de almacenamiento de acceso esporádico o de archivo para reducir costos y centrar el rendimiento en las imágenes y vídeos vistos con más frecuencia.

¿Por qué no otros servicios de Azure?

Podría cargar las imágenes en Azure App Service, para que el mismo servidor que ejecuta la aplicación las suministre. Esta solución funcionaría si no tuviera muchos archivos. Pero si tiene una gran cantidad de archivos y un público global, obtendrá un mejor rendimiento si usa Azure Blob Storage con Azure Content Delivery Network.

Datos empresariales

Clasificación de datos: estructurados.

Operaciones: consultas de análisis complejas de solo lectura en varias bases de datos.

Rendimiento y latencia: se espera algo de latencia en los resultados en función de la naturaleza compleja de las consultas.

Compatibilidad transaccional: no es necesaria.

Los analistas de negocios serán quienes con toda seguridad consulten los datos empresariales y es más probable que conozcan SQL que cualquier otro lenguaje de consulta. Puede usar Azure SQL Database como solución por sí misma, pero si lo empareja con Azure Analysis Services, los analistas de datos pueden crear un modelo semántico sobre los datos de Azure SQL Database. Después, los analistas de datos pueden compartir el modelo con los usuarios empresariales, que solo tendrán que conectarse desde cualquier herramienta de inteligencia empresarial (BI) para explorar los datos y obtener conclusiones de forma inmediata. Azure Analysis Services admite OLAP.

¿Por qué no otros servicios de Azure?

Azure Synapse Analytics admite soluciones OLAP y consultas SQL, pero los analistas de negocios tendrán que realizar consultas entre bases de datos, algo que no admite Azure Synapse Analytics.

Azure Stream Analytics es una excelente manera de analizar los datos y transformarlos en conclusiones accionables, pero está enfocado a datos en tiempo real que se transmiten en streaming. En este escenario, los analistas de negocios solo examinan datos históricos.