Fundamentos de datos no relacionales

Entiende los niveles de Blob Storage, las APIs de Cosmos DB, Azure Files y Data Lake Storage, explicados con analogias sencillas para principiantes.

El examen DP-900 pregunta frecuentemente que API de Cosmos DB usar en cada escenario y que nivel de Blob Storage es mas economico. Esta guia explica por que Azure tiene tantos servicios de almacenamiento diferentes y cuando usar cada uno, con analogias sencillas.

 

Por que necesitamos diferentes servicios de almacenamiento?

Piensa en los diferentes tipos de almacenamiento en la vida real. Un supermercado pone los productos mas vendidos al alcance de la mano. Un almacen guarda mercancias de forma menos accesible pero mas barata. Un archivo muerto guarda documentos raramente consultados al costo mas bajo, pero recuperarlos lleva tiempo.

El almacenamiento en la nube funciona igual. Diferentes tipos de datos — archivos, registros, conjuntos de datos analiticos, datos de apps globales — necesitan soluciones de almacenamiento optimizadas para sus patrones de acceso y costos.

| Servicio | Analogia | Mejor para | |---------|---------|-----------| | Blob Storage | Casillero de archivos | Fotos, videos, documentos, respaldos | | Azure Files | Unidad de red compartida | Compartir archivos entre usuarios | | Table Storage | Hoja de calculo simple | Datos clave-valor estructurados | | Data Lake Gen2 | Almacen de analitica masivo | Datos sin procesar para analisis | | Cosmos DB | Red de bibliotecas global | Datos NoSQL distribuidos globalmente |

 

Azure Blob Storage — El casillero de archivos

Blob significa Binary Large Object. Es el almacenamiento de objetos de Azure para datos no estructurados: imagenes, videos, PDFs, respaldos. Los tres tipos de blob son: Block Blob (el mas comun, para archivos grandes como imagenes y videos), Append Blob (solo permite agregar datos al final, ideal para archivos de registro) y Page Blob (paginas de 512 bytes para lectura/escritura aleatoria, usado por los discos de VM).

Los niveles de acceso equilibran costo y velocidad. Hot es el mas caro en almacenamiento pero el mas barato en acceso, para datos consultados a diario. Cool es intermedio, para datos conservados mas de 30 dias. Cold es para datos conservados mas de 90 dias. Archive es el mas barato en almacenamiento pero requiere rehidratacion (hasta 15 horas) antes de poder acceder a los datos.

| Nivel | Costo almacenamiento | Costo acceso | Mejor para | |-------|---------------------|-------------|-----------| | Hot | Alto | Bajo | Acceso diario | | Cool | Medio | Medio | 30+ dias, acceso ocasional | | Cold | Bajo | Medio-Alto | 90+ dias, acceso raro | | Archive | Muy bajo | Muy alto + demora | 180+ dias, casi nunca |

Las opciones de redundancia son LRS (3 copias en el mismo datacenter), ZRS (zonas de disponibilidad en la misma region), GRS (replicacion a otra region) y GZRS (combinacion de zona y geo).

!3 tipos de almacenamiento Blob

Azure Files — Unidad de red compartida

Azure Files proporciona recursos compartidos de archivos totalmente administrados en la nube que puedes montar como un servidor de archivos tradicional. Admite SMB y NFS, por lo que clientes Windows, Linux y macOS pueden conectarse. Es ideal para migrar servidores de archivos locales a la nube o compartir archivos de configuracion entre varias maquinas virtuales.

 

Azure Table Storage — Almacen simple de clave-valor

Azure Table Storage es un almacen NoSQL de clave-valor. Como una hoja de calculo gigante donde cada fila puede tener columnas diferentes: no hay esquema fijo. Es mucho mas barato y escalable que una base de datos relacional, pero no admite JOINs ni consultas complejas. Nota: el API Table de Cosmos DB ofrece distribucion global y latencia de milisegundos, a diferencia de Table Storage basico.

 

Azure Data Lake Storage Gen2 — Almacen de analitica

Data Lake Storage Gen2 se construye sobre Blob Storage con un sistema de archivos jerarquico. Almacena datos sin procesar a escala masiva (de terabytes a petabytes) y permite que motores de analitica como Azure Databricks y Synapse los lean directamente. Si Blob Storage es un gran almacen, ADLS Gen2 es una biblioteca meticulosamente organizada con carpetas y control de acceso granular (ACLs compatibles con POSIX).

 

Azure Cosmos DB — Red de bibliotecas global

Imagina que tu servidor de base de datos esta en Madrid. Un usuario en Ciudad de Mexico hace una solicitud y los datos tienen que viajar de ida y vuelta a traves del Atlantico: 200 ms o mas. Cosmos DB replica automaticamente los datos en regiones de Azure de todo el mundo, garantizando latencia de un solo digito en milisegundos sin importar donde esten los usuarios.

Conceptos clave: Request Unit (RU) es la unidad de rendimiento (leer 1 KB = 1 RU). La Partition Key es el atributo usado para distribuir datos uniformemente. Los niveles de consistencia van desde Strong (siempre datos actuales, mayor latencia) hasta Eventual (mas rapido, datos potencialmente desactualizados por un momento).

Las APIs de Cosmos DB permiten usar drivers de bases de datos conocidos sin reescribir la aplicacion:

| API | Modelo de datos | Caso de uso | |-----|----------------|------------| | NoSQL (Core) | Documentos JSON | Uso general, eleccion por defecto | | MongoDB | Documentos BSON | Migrar apps MongoDB | | Cassandra | Familias de columnas | Escrituras masivas, series de tiempo | | Gremlin | Grafo (nodos + aristas) | Redes sociales, recomendaciones | | Table | Clave-valor | Migrar apps Azure Table Storage |

 

Puntos clave para el examen

"imagenes, videos, archivos" -- Blob Storage "acceso diario, almacenamiento mas caro" -- nivel Hot "conservado 30+ dias, acceso ocasional" -- nivel Cool "casi nunca accedido, rehidratacion hasta 15h" -- nivel Archive "3 copias en mismo datacenter" -- LRS / "copia en otra region" -- GRS "archivos de registro, solo agregar al final" -- Append Blob "disco de VM (VHD)" -- Page Blob "servidor de archivos compartido, SMB/NFS" -- Azure Files "clave-valor simple, sin esquema fijo" -- Azure Table Storage "datos analiticos masivos, espacio de nombres jerarquico" -- Data Lake Storage Gen2 "distribucion global, latencia de un digito en ms" -- Cosmos DB "documentos JSON, API por defecto" -- Cosmos DB NoSQL API "migrar apps MongoDB" -- Cosmos DB MongoDB API "datos de grafo, redes sociales" -- Cosmos DB Gremlin API "familias de columnas, escrituras masivas" -- Cosmos DB Cassandra API "clave de distribucion de datos, distribucion uniforme" -- Partition Key "unidad de rendimiento, leer 1KB = 1RU" -- Request Unit (RU)

Volver a la lista del blog