Elección de una tecnología de almacenamiento de macrodatos en Azure
Nota
El 29 de febrero de 2024 se retirará Azure Data Lake Storage Gen1. Para obtener más información, consulte el anuncio oficial. Si usa Azure Data Lake Storage Gen1, asegúrese de migrar a Azure Data Lake Storage Gen2 antes de esa fecha. Para saber cómo, consulte Migración de Azure Data Lake Storage de Gen1 a Gen2 con Azure Portal.
A menos que ya tenga una cuenta de Azure Data Lake Storage Gen1, no puede crear otras.
En este tema se comparan las opciones de almacenamiento de datos para soluciones de macrodatos, especialmente el almacenamiento de datos para la ingesta de datos masiva y el procesamiento por lotes, en lugar de los almacenes de datos analíticos o la ingesta de streaming en tiempo real.
¿Cuáles son las opciones al elegir el almacenamiento de datos en Azure?
Existen varias opciones para la ingesta de datos en Azure en función de sus necesidades:
Almacenamiento de archivos:
Bases de datos NoSQL:
Bases de datos analíticas:
Blobs de Azure Storage
Azure Storage es un servicio de almacenamiento administrado altamente disponible, seguro, duradero, escalable y redundante. Microsoft se encarga del mantenimiento y soluciona automáticamente los problemas críticos. Azure Storage es la solución de almacenamiento más ubicua que proporciona Azure, debido al número de servicios y herramientas que se pueden usar.
Hay diversos servicios de Azure Storage que puede usar para almacenar datos. La opción más flexible para almacenar blobs de varios orígenes de datos es Blob Storage. Los blobs son básicamente archivos. Almacenan imágenes, documentos, archivos HTML, discos duros virtuales (VHD), macrodatos (como registros), copias de seguridad de bases de datos, cualquier cosa. Los blobs se almacenan en contenedores, que son similares a las carpetas. Los contenedores proporcionan una agrupación de un conjunto de blobs. Una cuenta de almacenamiento puede contener un número ilimitado de contenedores y un contenedor puede almacenar un número ilimitado de blobs.
Azure Storage es una buena elección para soluciones de macrodatos y análisis debido a su flexibilidad, alta disponibilidad y bajo costo. Proporciona niveles de almacenamiento de acceso frecuente, esporádico y de archivo para distintos casos de uso. Para más información, consulte Azure Blob Storage: Niveles de almacenamiento de acceso frecuente, acceso esporádico y acceso de archivo.
Se puede acceder a Azure Blob Storage desde Hadoop (disponible a través de HDInsight). HDInsight puede usar un contenedor de blobs en Azure Storage como el sistema de archivos predeterminado para el clúster. Mediante una interfaz del sistema de archivos distribuido de Hadoop (HDFS) proporcionada por un controlador WASB, el conjunto completo de componentes de HDInsight puede operar directamente en datos estructurados o no estructurados almacenados como blobs. También es posible acceder a Azure Blob Storage a través de Azure Synapse Analytics con su característica PolyBase.
Otras características que hacen de Azure Storage una buena opción de almacenamiento son:
- Varias estrategias de simultaneidad.
- Opciones de recuperación ante desastres y alta disponibilidad .
- Cifrado en reposo.
- Control de acceso basado en roles de Azure (Azure RBAC) para controlar el acceso mediante grupos y usuarios de Microsoft Entra.
Azure Data Lake Storage Gen1
Azure Data Lake Storage Gen1 es un repositorio a hiperescala de nivel empresarial para cargas de trabajo de análisis de macrodatos. Data Lake permite capturar datos de cualquier tamaño, tipo y velocidad de ingesta en una única ubicación segura para realizar análisis exploratorios y operativos.
Azure Data Lake Storage Gen1 no impone ningún límite al tamaño de cuenta, el tamaño de archivo o la cantidad de datos que se pueden almacenar en un lago de datos. Los datos se almacenan de forma duradera mediante la realización de varias copias y no hay ningún límite al período de tiempo durante el que se pueden almacenar los datos en la instancia de Data Lake. Además de realizar varias copias de los archivos para protegerse contra errores inesperados, Data Lake propaga partes de un archivo entre varios servidores de almacenamiento individuales. Esto mejora el rendimiento de lectura cuando se lee el archivo en paralelo para realizar análisis de datos.
Se puede acceder a Azure Data Lake Storage Gen1 desde Hadoop (disponible a través de HDInsight) mediante las API de REST compatibles con WebHDFS. Puede utilizar esto como una alternativa a Azure Storage cuando los tamaños de archivo individuales o combinados superan lo que admite Azure Storage. Sin embargo, hay directrices de ajuste del rendimiento que se deben seguir cuando se usa Azure Data Lake Storage Gen1 como el almacenamiento principal para un clúster de HDInsight, con instrucciones específicas para Spark, Hive y MapReduce. Además, no olvide comprobar la disponibilidad regional de Azure Data Lake Storage Gen1, ya que no está disponible en tantas regiones como Azure Storage y debe estar ubicado en la misma región que el clúster de HDInsight.
Junto con Azure Data Lake Analytics, Azure Data Lake Storage Gen1 está diseñado para habilitar el análisis de los datos almacenados y está optimizado para el rendimiento en escenarios de análisis de datos. También es posible acceder a Azure Data Lake Storage Gen1 a través de Azure Synapse con su característica PolyBase.
Azure Cosmos DB
Azure Cosmos DB es un servicio de base de datos con varios modelos y de distribución global de Microsoft. Azure Cosmos DB garantiza una latencia inferior a 10 milisegundos el 99 % del tiempo en cualquier parte del mundo, ofrece varios modelos de coherencia totalmente definidos para ajustar el rendimiento y garantiza alta disponibilidad con funcionalidades multi-homing.
Azure Cosmos DB es independiente del esquema. Indexa todos los datos automáticamente sin que haya que ocuparse de la administración de esquemas ni de índices. Es también multimodelo, admite de forma nativa modelos de datos de documentos, pares clave-valor, grafos y en columnas.
Características de Azure Cosmos DB:
- Replicación geográfica
- Escalado elástico del rendimiento y almacenamiento en todo el mundo
- Cinco niveles de coherencia bien definidos
HBase en HDInsight
Apache HBase es una base de datos no SQL de código abierto construida sobre Hadoop y modelada según Google BigTable. HBase proporciona acceso aleatorio y alta coherencia para grandes cantidades de datos no estructurados y semiestructurados en una base de datos sin esquemas organizada por familias de columnas.
Los datos se almacenan en las filas de una tabla, mientras que los datos de una fila se agrupan por familia de columnas. HBase no tiene esquema en el sentido de que no es preciso que ni las columnas ni el tipo de datos almacenados en ellas se definan antes de usarlos. El código abierto se escala linealmente para controlar petabytes de datos en miles de nodos. Puede basarse en la redundancia de datos, el procesamiento por lotes y otras características proporcionadas por aplicaciones distribuidas en el ecosistema Hadoop.
La implementación de HDInsight aprovecha la arquitectura de escalabilidad horizontal de HBase para proporcionar particionamiento automático de tablas, alta coherencia para lecturas y escrituras y conmutación por error automática. Se mejora el rendimiento mediante el almacenamiento en caché de memoria para lecturas y streaming de alto rendimiento para escrituras. En la mayoría de los casos, deseará crear el clúster de HBase dentro de una red virtual para que otros clústeres y aplicaciones de HDInsight puedan tener acceso directo a las tablas.
Explorador de datos de Azure
Azure Data Explorer es un servicio de exploración de datos rápido y altamente escalable para datos de telemetría y de registro. Le ayuda a administrar los numerosos flujos de datos emitidos por las aplicaciones de software actuales para poder recopilar, almacenar y analizar los datos. El Explorador de datos de Azure resulta idóneo para analizar grandes volúmenes de datos diversos desde cualquier origen de datos, como sitios web, aplicaciones, dispositivos de IoT, etc. Estos datos se usan para el diagnóstico, la supervisión, la creación de informes, el aprendizaje automático y las funcionalidades de análisis adicionales. Azure Data Explorer simplifica el proceso de ingesta de estos datos y permite realizar consultas ad hoc complejas en los datos en cuestión de segundos.
Azure Data Explorer se puede escalar horizontalmente de forma lineal para aumentar el rendimiento de la ingesta y del procesamiento de consultas. Un clúster de Azure Data Explorer se puede implementar en una red virtual para habilitar redes privadas.
Principales criterios de selección
Para restringir las opciones, empiece por responder a estas preguntas:
¿Necesita almacenamiento administrado de alta velocidad basado en la nube para cualquier tipo de datos de texto o binarios? En caso afirmativo, seleccione una de las opciones de almacenamiento de archivos o análisis.
¿Necesita almacenamiento de archivos optimizado para cargas de trabajo de análisis en paralelo y alto IOPS y rendimiento? En caso afirmativo, elija una opción que se ajuste al rendimiento de cargas de trabajo de análisis.
¿Necesita almacenar datos no estructurados o semiestructurados en una base de datos sin esquema? Si es así, seleccione una de las opciones no relacionales o de análisis. Compare las opciones de indexación y modelos de base de datos. Según el tipo de datos que necesite almacenar, los modelos de la base de datos principal pueden ser el factor más relevante.
¿Puede utilizar el servicio en su región? Compruebe la disponibilidad regional para cada servicio de Azure. Consulte los Productos disponibles por región.
Matriz de funcionalidades
En las tablas siguientes se resumen las diferencias clave en cuanto a funcionalidades.
Funcionalidades de almacenamiento de archivos
Capacidad | Azure Data Lake Storage Gen1 | Contenedores de Azure Blob Storage |
---|---|---|
Propósito | Almacenamiento optimizado para cargas de trabajo de análisis de macrodatos | Almacén general de objetos para una amplia variedad de escenarios de almacenamiento |
Casos de uso | Datos en lotes, de análisis de streaming y de aprendizaje automático, como archivos de registro, datos de IoT, transmisiones de clic y conjuntos de datos grandes | Cualquier tipo de texto o datos binarios, por ejemplo, back-end de aplicación, datos de copia de seguridad, almacenamiento multimedia para streaming y datos de propósito general |
Estructura | Sistema de archivos jerárquico | Almacén de objetos con el espacio de nombres plano |
Autenticación | Basado en identidades de Microsoft Entra | Basada en secretos compartidos: claves de acceso de cuenta, claves de firma de acceso compartido y control de acceso basado en rol de Azure (Azure RBAC) |
Protocolo de autenticación | OAuth 2.0. Las llamadas deben contener un JWT válido (token web JSON) emitido por Microsoft Entra ID | Código de autenticación de mensajes basado en hash (HMAC). Las llamadas deben contener un hash SHA-256 codificado en Base64 en una parte de la solicitud HTTP. |
Authorization | Listas de control de acceso (ACL) de POSIX. Las ACL basadas en identidades de Microsoft Entra se pueden establecer en el nivel de archivo y el de carpeta. | Para la autorización en el nivel de cuenta utilice claves de acceso de cuenta. Para la autorización de cuenta, contenedor o blob utilice las claves de firma de acceso compartido. |
Auditoría | Disponible. | Disponible |
Cifrado en reposo | Transparente, en el servidor | Transparente, en el servidor; cifrado en el cliente |
SDK para desarrolladores | .NET, Java, Python, Node.js | .NET, Java, Python, Node.js, C++, Ruby |
Rendimiento de cargas de trabajo de análisis | Rendimiento optimizado para cargas de trabajo de análisis en paralelo, alto rendimiento e IOPS | No está optimizado para cargas de trabajo de análisis |
Límites de tamaño | Sin límites para el tamaño de cuenta, de archivo o el número de archivos | Los límites específicos se documentan aquí |
Redundancia geográfica | Con redundancia local (LRS), global (GRS), global de acceso de lectura (RA-GRS) y de zona (ZRS). | Con redundancia local (LRS), global (GRS), global de acceso de lectura (RA-GRS) y de zona (ZRS). Más información aquí |
Funcionalidades de bases de datos no SQL
Capacidad | Azure Cosmos DB | HBase en HDInsight |
---|---|---|
Modelo de la base de datos principal | Almacenamiento de documentos, grafos, almacenamiento de clave-valor, almacenamiento de columnas anchas | Almacenamiento de columnas anchas |
Índices secundarios | Sí | No |
Compatibilidad con lenguaje SQL | Sí | Sí (mediante el controlador JDBC Phoenix) |
Coherencia | Alta, de obsolescencia limitada, sesión, prefijo coherente, eventual | Alta |
Integración nativa con Azure Functions | Sí | No |
Distribución global automática | Sí | No es posible configurar la replicación de clúster de HBase entre regiones con coherencia eventual |
Modelo de precios | Las unidades de solicitud (RU) escalables de manera flexible se cobran por segundo según sea necesario, almacenamiento escalable de forma elástica | Precios del clúster de HDInsight (escalado horizontal de nodos) por minuto, almacenamiento |
Funcionalidades de base de datos analítica
Capacidad | Explorador de datos de Azure |
---|---|
Modelo de la base de datos principal | Almacén relacional (de columnas), de telemetría y de series temporales |
Compatibilidad con lenguaje SQL | Sí |
Modelo de precios | Instancias del clúster escalables de forma elástica |
Autenticación | Basado en identidades de Microsoft Entra |
Cifrado en reposo | Compatible con claves administradas por el cliente |
Rendimiento de cargas de trabajo de análisis | Rendimiento optimizado para cargas de trabajo de análisis en paralelo |
Límites de tamaño | Escalable de forma lineal |
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Zoiner Tejada | Director ejecutivo y arquitecto
Pasos siguientes
- Servicios y soluciones de almacenamiento en la nube de Azure
- Revisión de las opciones de almacenamiento
- Introducción a Almacenamiento de Azure
- Introducción a Azure Data Explorer
Recursos relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de