Azure DP-900 es la certificacion de datos de nivel inicial de Microsoft. Si eres completamente nuevo en este mundo, no te preocupes — vamos a explicar todo con analogias del dia a dia para que entiendas no solo el "que" sino el "por que" de cada concepto.
Tipos de datos: Estructurados, Semiestructurados y No estructurados
Piensa en los distintos tipos de informacion que encuentras en tu vida cotidiana. No toda la informacion tiene la misma forma.
Datos estructurados
Imagina el registro de huespedes de un hotel. Cada huesped rellena exactamente el mismo formulario: nombre, fecha de llegada, numero de habitacion, telefono. Cada fila tiene las mismas columnas. Esta es la idea de los datos estructurados: un esquema (estructura) fijo que todos los registros deben seguir.
Se almacenan en bases de datos relacionales y se consultan con SQL.
Ejemplos: tablas de clientes, registros de pedidos, nominas de empleados
Datos semiestructurados
Ahora imagina una coleccion de tickets de compra de diferentes tiendas. Algunos tienen descuento, otros no. Algunos tienen numero de tarjeta de fidelidad, otros no. El formato no es exactamente el mismo en todos, pero puedes identificar campos comunes como "articulo", "precio" y "fecha".
Esta es la idea de los datos semiestructurados: tienen cierta estructura (claves y etiquetas) pero sin un esquema rigidamente fijo.
Ejemplos: archivos JSON, archivos XML, correos electronicos
Datos no estructurados
Piensa en un album de fotos, grabaciones de voz o una carpeta de PDFs. No hay filas ni columnas. Un ordenador no puede extraer automaticamente "Nombre: Juan, Edad: 30" de una fotografia — solo ve pixeles. Esto son los datos no estructurados.
Representan mas del 80% de todos los datos del mundo.
Ejemplos: imagenes, videos, archivos de audio, documentos PDF, publicaciones en redes sociales
Formatos de archivo: CSV, JSON, Parquet y mas
Cuando guardas datos en un archivo, el formato que eliges importa mucho. Cada formato tiene su proposito.
CSV (Valores Separados por Comas)
El formato mas sencillo. Los datos se guardan como texto plano, con cada valor separado por una coma. Puedes abrirlo en cualquier editor de texto o en Excel. Cuando exportas una hoja de calculo de Excel, CSV suele ser una de las opciones.
Mejor para: conjuntos de datos pequenos, intercambio de datos, importacion a Excel
JSON (Notacion de Objetos JavaScript)
JSON almacena datos como pares clave-valor dentro de llaves: . Tambien admite estructuras anidadas. Es el formato estandar que usan las APIs web para intercambiar informacion entre aplicaciones.
Mejor para: APIs web, archivos de configuracion, datos semiestructurados
Parquet
Parquet almacena los datos columna por columna en lugar de fila por fila. Si solo necesitas calcular el promedio de la columna "Importe de ventas" en una tabla con un millon de filas y 50 columnas, Parquet salta directamente a esa columna sin tocar las demas. Esto hace las consultas de analisis dramaticamente mas rapidas y el almacenamiento mas eficiente.
Mejor para: analitica de big data, Azure Data Lake, Synapse Analytics, Apache Spark
ORC (Optimized Row Columnar)
Concepto similar a Parquet — almacenamiento columnar, gran compresion. ORC esta optimizado especificamente para el ecosistema Hadoop y Hive.
Mejor para: ecosistema Hadoop, consultas Hive
Avro
Avro almacena datos fila por fila e incluye el esquema dentro del propio archivo. La ventaja clave es la evolucion del esquema: si anadir un nuevo campo a tus datos, los archivos antiguos sin ese campo siguen siendo legibles sin errores. Es ideal para entornos de streaming donde los datos llegan continuamente.
Mejor para: streaming de datos en tiempo real (Kafka), pipelines de eventos
XML (Lenguaje de Marcado Extensible)
XML envuelve los datos en etiquetas descriptivas. Es muy legible y autodescriptivo, pero el tamano de los archivos es mayor. Muchos sistemas empresariales antiguos todavia usan XML.
Mejor para: integracion con sistemas legados, archivos de configuracion
| Formato | Almacenamiento | Ventaja clave | Uso principal | |---------|---------------|--------------|--------------| | CSV | Por filas | Simple y universal | Intercambio de datos | | JSON | Clave-valor | Estructura flexible | APIs, apps web | | Parquet | Por columnas | Consultas analiticas rapidas | Big data | | ORC | Por columnas | Optimizado para Hive | Ecosistema Hadoop | | Avro | Por filas | Evolucion de esquema | Streaming | | XML | Por etiquetas | Autodescriptivo | Sistemas legados |
Tipos de base de datos: Relacional vs No relacional
Una base de datos es simplemente un lugar organizado para almacenar y recuperar datos. Hay dos filosofias principales.
Bases de datos relacionales
Imagina un archivador bien organizado. Cada cajon esta etiquetado (Clientes, Pedidos, Productos). Dentro de cada cajon, cada documento sigue el mismo formulario. Los cajones pueden referenciarse entre si mediante un ID comun. Todo esta ordenado, conectado y consistente.
Las bases de datos relacionales almacenan datos en tablas y usan SQL para consultarlos. Las relaciones entre tablas se definen con Claves Primarias y Claves Foraneas. Son ideales cuando la coherencia y precision de los datos es critica.
Servicios Azure: Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL
Bases de datos no relacionales (NoSQL)
Ahora imagina una bolsa de almacenamiento grande y flexible. Puedes meter elementos de todas las formas y tamanos. Ganas flexibilidad y velocidad a escala. Hay cuatro tipos principales:
Almacenes clave-valor: como un casillero — cada elemento tiene una clave unica y se recupera instantaneamente. Muy rapido para busquedas simples. Ejemplo: Redis, Azure Cache for Redis
Almacenes de documentos: guardan datos como documentos JSON. Cada documento puede tener una estructura diferente. Ideal para perfiles de usuario, catalogos de productos. Ejemplo: MongoDB, Azure Cosmos DB
Almacenes de columnas: agrupan columnas relacionadas para un almacenamiento y recuperacion eficientes. Disenados para grandes volimenes de escritura, como sensores IoT o sistemas de log. Ejemplo: Apache Cassandra
Almacenes de grafos: almacenan datos como nodos y relaciones. Perfectos para redes sociales y analisis de relaciones complejas. Ejemplo: Neo4j, Azure Cosmos DB (API Gremlin)
Data Lake vs Data Warehouse
Cuando se almacenan grandes cantidades de datos para analitica, estos dos terminos aparecen constantemente.
Data Lake (Lago de datos)
Imagina un lago natural que recoge agua de rios, lluvia y manantiales — en la forma que llegue, sin filtrar. Un data lake funciona igual: acepta datos brutos en cualquier formato. Solo decides como organizarlos cuando los necesitas (Schema-on-Read).
Perfecto para almacenar todo primero y decidir despues. Los cientificos de datos lo adoran para explorar datos y entrenar modelos de machine learning.
Servicio Azure: Azure Data Lake Storage Gen2
Data Warehouse (Almacen de datos)
Ahora imagina un almacen bien gestionado con estantes etiquetados. Antes de que algo entre, es inspeccionado, limpiado y colocado exactamente donde le corresponde (Schema-on-Write). Los datos ya estan procesados y listos para usar.