OneLake — el OneDrive de los datos
Un único lago de datos por organización, en formato abierto, accesible desde todas las experiencias de Fabric y desde fuera del ecosistema. Entiende su jerarquía, el principio OneCopy, Delta Parquet, los shortcuts y la integración con Windows. 🌸
📑 En esta página
¿Qué es OneLake?
OneLake es el lago de datos unificado de Microsoft Fabric. Es único, automático y gratis: cuando activas Fabric en tu tenant, ya tienes OneLake. No se provisiona, no se configura, no se factura aparte. Simplemente está ahí, listo para recibir los datos de tu organización.
Técnicamente, OneLake está construido sobre Azure Data Lake Storage Gen2 (ADLS Gen2), pero lo importante es que Microsoft lo gestiona por ti. Tú no ves cuentas de almacenamiento, ni contenedores, ni claves de acceso: ves workspaces e items. Es ADLS sin el dolor de ADLS.
La analogía oficial es clara y buena: OneLake es a los datos lo que OneDrive es a los documentos. Un único sitio por organización, con jerarquía lógica, permisos granulares, sincronización con Windows y colaboración integrada. Pero en lugar de Word y Excel, lo que guardas son tablas Delta, archivos Parquet y ficheros de cualquier tipo.
La jerarquía de OneLake
OneLake organiza los datos en una jerarquía estricta de 4 niveles (más subcarpetas internas por item). Es importante conocerla porque las URLs, los permisos y las APIs siguen exactamente esta estructura:
contoso.com
La URL canónica de OneLake
Cualquier ruta dentro de OneLake sigue un patrón uniforme que puedes usar desde Spark, Python, Power BI o cualquier herramienta compatible con ADLS Gen2:
https://onelake.dfs.fabric.microsoft.com/{workspace}/{item}.{itemType}/Tables/{table} // Ejemplo real https://onelake.dfs.fabric.microsoft.com/Ventas/Bronze.Lakehouse/Tables/facturas
El {itemType} indica el tipo (Lakehouse,
Warehouse, KQLDatabase…) y el sufijo del item es parte
del nombre físico en el lago. Dentro de un Lakehouse siempre encontrarás dos
carpetas raíz:
Tables/
Área gestionada para datos estructurados en formato Delta.
Cada subcarpeta es una tabla Delta con sus archivos Parquet y su log
_delta_log. Aparecen automáticamente en el SQL analytics
endpoint y como tablas en el semantic model.
Files/
Área libre para cualquier tipo de fichero: CSV, JSON, imágenes, Parquet suelto, vídeos, PDFs. Ideal para landing zone, staging o datos no estructurados que luego procesarás con Notebooks.
OneCopy: una copia, muchos consumidores
OneCopy es probablemente el principio más importante de Fabric. Dice así: los datos se escriben una sola vez en OneLake y todas las herramientas leen directamente desde ahí, sin copias ni ETL intermedios.
Parece obvio dicho así, pero rompe con años de arquitecturas clásicas donde los datos viajaban de un sistema a otro. Compara las dos mundos:
❌ Antes (arquitectura clásica)
- ADF copia de origen → Data Lake
- Databricks transforma → otra carpeta
- ADF mueve → Synapse dedicated pool
- Synapse export → cubo tabular
- Power BI importa el cubo → dataset
- 5 copias de los mismos datos
- 5 lugares donde puede divergir la verdad
✅ Ahora (OneCopy)
- Pipeline escribe en OneLake como Delta
- Notebook Spark lo transforma in-place
- Warehouse lo consulta con T-SQL (mismo fichero)
- Power BI lo lee con Direct Lake (sin importar)
- Copilot lo explica en lenguaje natural
- 1 sola copia de los datos
- 1 única fuente de verdad
El ahorro no es sólo de almacenamiento (que también). Es de complejidad, de pipelines que se rompen, de latencia entre sistemas, de permisos que duplicas en cada salto y de facturas de egress por mover datos entre servicios.
Formato abierto: Delta Parquet
OneLake no es un formato propietario. Todo lo que se guarda en el área
Tables/ se almacena como Delta Lake, un formato
open source estandarizado por la Linux Foundation. Esto tiene dos ventajas
enormes:
- Sin lock-in. Si mañana decides migrar fuera de Fabric, tus datos ya están en un formato abierto que leen Databricks, Snowflake, DuckDB, Spark, Trino, Polars y prácticamente todo el ecosistema moderno.
- Interoperabilidad. Cualquier herramienta externa que hable Delta o Parquet puede leer OneLake sin adaptadores raros.
Parquet vs Delta: qué es cada cosa
Delta no es un formato separado de Parquet — es una capa por encima. Lo aclaramos rápido porque genera mucha confusión:
| Capa | Qué es | Qué aporta |
|---|---|---|
| Parquet | Formato de archivo columnar comprimido, open source. | Lectura rápida, alto ratio de compresión, esquema embebido, pushdown de columnas. |
| Delta | Carpeta con archivos Parquet + transaction log (_delta_log). |
Transacciones ACID, time travel, schema evolution, MERGE/UPDATE/DELETE, concurrencia optimista, estadísticas para skip de ficheros. |
Resumen: Delta = Parquet con superpoderes. Todo Delta es
Parquet por debajo, pero no todo Parquet es Delta. En OneLake, cuando escribes
desde Spark, Dataflow Gen2 o un Pipeline a Tables/, escribes Delta
automáticamente.
V-Order: la optimización específica de Fabric
Fabric añade una optimización propietaria sobre Delta llamada V-Order: reordena internamente las filas y columnas para que el motor de Power BI (VertiPaq) pueda consumirlas con rendimiento casi nativo a través de Direct Lake. Sigue siendo Parquet estándar — cualquier herramienta externa lo lee normal — pero Power BI lo lee más rápido. Está activado por defecto.
Shortcuts: conecta datos sin moverlos
Un shortcut es un puntero virtual dentro de OneLake que apunta a datos que viven en otro sitio. Es como un enlace simbólico en Linux o un acceso directo en Windows: ves una carpeta/tabla en tu workspace, pero los bytes físicos están en otra parte.
(OneLake)
(S3, ADLS, GCS…)
Los datos nunca se copian ni duplican. El shortcut es un puntero; cuando alguien consulta, Fabric pasa la petición al origen real en tiempo real.
Dos tipos de shortcuts
Internos
Apuntan a otro item dentro del mismo OneLake. Permiten que varios workspaces compartan la misma tabla sin copiarla. Perfecto para arquitecturas medallion donde Gold se consume desde múltiples workspaces de negocio.
Externos
Apuntan a orígenes fuera de Fabric. Soportados: ADLS Gen2, Amazon S3, Google Cloud Storage, Dataverse, Azure Blob, S3-compatible (MinIO, Cloudflare R2…). Ideal para consumir datos multi-cloud sin ETL.
Por qué son tan potentes
- Cero duplicación. No copias los datos, sólo referencias. Ahorras almacenamiento y eliminas el problema de sincronización.
- Acceso unificado. Una vez creado el shortcut, el dato se comporta como si fuese nativo de OneLake. Lo consultas desde Spark, T-SQL, Power BI o Python sin saber que vive en S3.
- Permisos delegados. Los permisos sobre el shortcut en Fabric se combinan con los permisos del origen. No se lo saltas.
- Ideal para migraciones. Si tienes un data lake existente en ADLS o S3, puedes apuntarlo con shortcuts mientras planeas la migración, sin reescribir nada el día uno.
OneLake File Explorer
Exactamente como OneDrive, pero para datos: Microsoft distribuye una aplicación gratuita llamada OneLake File Explorer que integra OneLake directamente en el explorador de archivos de Windows. Al instalarla, aparece una nueva entrada en el panel lateral, junto a OneDrive, con todos tus workspaces.
Desde ahí puedes:
- Arrastrar y soltar ficheros desde tu escritorio a la carpeta
Files/de un Lakehouse. - Abrir un
.csvo.parquetcon Excel o cualquier editor local. - Ver el contenido de tablas Delta sin abrir Fabric.
- Sincronización bajo demanda — los ficheros se descargan sólo cuando los abres, no ocupan disco mientras no los uses.
Es útil sobre todo para gente que no es técnica (analistas de negocio, finance, marketing) que necesitan dejar un CSV en un Lakehouse sin pasar por la UI web. Lo arrastran a una carpeta en Windows y ya está disponible para todo el mundo.
azcopy.
APIs y acceso programático
OneLake implementa la misma API que ADLS Gen2, que a su vez es compatible con la API de Blob Storage. Esto significa que prácticamente cualquier SDK o herramienta que hable con ADLS puede hablar con OneLake cambiando sólo la URL.
Desde Python con azure-storage-file-datalake
from azure.storage.filedatalake import DataLakeServiceClient from azure.identity import DefaultAzureCredential # OneLake usa la misma API que ADLS Gen2 service = DataLakeServiceClient( account_url="https://onelake.dfs.fabric.microsoft.com", credential=DefaultAzureCredential() ) # Los "filesystems" son los workspaces fs = service.get_file_system_client("Ventas") # Y los paths siguen la jerarquía de OneLake for p in fs.get_paths("Bronze.Lakehouse/Tables/facturas"): print(p.name)
Desde Spark (fuera de Fabric)
# Funciona igual desde Databricks o un Spark externo df = spark.read.format("delta").load( "abfss://Ventas@onelake.dfs.fabric.microsoft.com/Bronze.Lakehouse/Tables/facturas" )
Dentro de Fabric los propios Notebooks ya tienen el contexto configurado y no
necesitas URLs completas — basta con /lakehouse/default/Tables/facturas
o el shortcut correspondiente en el explorador de archivos del notebook.
Dominios: organizar OneLake por áreas de negocio
Un dominio (domain) es una agrupación lógica de workspaces que pertenecen a la misma área funcional: Finanzas, Marketing, Logística, Recursos Humanos… Los dominios no mueven datos ni cambian la jerarquía física; son una capa organizativa encima de los workspaces.
¿Para qué sirven?
Data Mesh
Implementan el patrón data mesh: cada dominio es responsable de sus propios datos y los publica como "productos de datos" consumibles por el resto. Descentralización con gobierno central.
Delegación de admin
El admin del tenant puede nombrar domain admins — por ejemplo, el lead de datos de Finanzas — que gestionan sus workspaces sin tener permisos globales.
Navegación y descubrimiento
En el hub de datos de Fabric, los usuarios pueden filtrar por dominio y encontrar rápidamente los datasets, lakehouses o informes relevantes para su área.
Los dominios son opcionales — no los necesitas en una implementación pequeña. Empiezan a tener sentido cuando tu organización supera los 20–30 workspaces y necesitas delegar responsabilidades.
Buenas prácticas para trabajar con OneLake
Arquitectura Medallion
Organiza los datos en 3 niveles: Bronze (crudo, tal cual llega), Silver (limpio, integrado) y Gold (agregado, listo para consumo). Cada nivel puede ser su propio Lakehouse para separar responsabilidades y permisos.
Un Lakehouse por propósito
No metas todo en un único Lakehouse gigante. Uno por capa medallion, o uno por dominio funcional. Los permisos se aplican a nivel item, así que separar facilita el gobierno.
Shortcuts para compartir Gold
En lugar de copiar tablas Gold a los workspaces de los consumidores, crea shortcuts internos. Cambios en Gold se propagan solos y no duplicas almacenamiento.
OPTIMIZE y VACUUM
Programa mantenimiento Delta periódico: OPTIMIZE compacta
ficheros pequeños y VACUUM limpia versiones antiguas.
Sin esto, las tablas se fragmentan y las lecturas se ralentizan con el
tiempo.
Nombres claros y consistentes
Workspaces: DEV_<dominio>, PROD_<dominio>.
Lakehouses: Bronze_<origen>. Tablas: snake_case.
Un estándar boring ahorra horas de confusión a los 6 meses.
Monitorea el storage
Fabric Capacity Metrics App muestra consumo de OneLake por workspace. Revísalo mensualmente: las tablas de log y los staging olvidados crecen sin parar si nadie los vigila.