Objetos de base de datos en Azure Databricks
Azure Databricks usa dos objetos protegibles principales para almacenar y acceder a los datos.
- Las tablas rigen el acceso a los datos tabulares.
- Los volúmenes rigen el acceso a datos no tabulares.
En este artículo se describe cómo se relacionan estos objetos de base de datos con catálogos, esquemas, vistas y otros objetos de base de datos en Azure Databricks. En este artículo también se proporciona una introducción general a cómo funcionan los objetos de base de datos en el contexto de la arquitectura general de la plataforma.
¿Qué son los objetos de base de datos en Azure Databricks?
Los objetos de base de datos son entidades que le ayudan a organizar, acceder y controlar los datos. Azure Databricks usa una jerarquía de tres niveles para organizar objetos de base de datos:
- Catálogo: el contenedor de nivel superior contiene esquemas. Vea ¿Qué son los catálogos en Azure Databricks?.
- Esquema o base de datos: contiene objetos de datos. Vea ¿Qué son los esquemas en Azure Databricks?.
- Objetos de datos que se pueden contener en un esquema:
- Volumen: un volumen lógico de datos no tabulares en el almacenamiento de objetos en la nube. Consulte ¿Qué son los volúmenes de Unity Catalog?.
- Tabla: una colección de datos organizados por filas y columnas. Consulte ¿Qué son las tablas y vistas?.
- Vista: una consulta guardada en una o varias tablas. Vea ¿Qué es una vista?.
- Función: lógica guardada que devuelve un valor escalar o un conjunto de filas. Consulte Funciones definidas por el usuario (UDF) en Unity Catalog.
- Modelo: un modelo de Machine Learning empaquetado con MLflow. Vea Administración del ciclo de vida del modelo en Unity Catalog.
Los catálogos se registran en un metastore que se administra en el nivel de cuenta. Solo los administradores interactúan directamente con el metastore. Consulte Metastores.
Azure Databricks proporciona recursos adicionales para trabajar con datos, todos los cuales se pueden controlar mediante controles de acceso de nivel de área de trabajo o Unity Catalog, la solución de gobernanza de datos de Databricks:
- Recursos de datos de nivel de área de trabajo, como cuadernos, trabajos y consultas.
- Objetos protegibles de Unity Catalog, como las credenciales de almacenamiento y los recursos compartidos de Delta Sharing, que controlan principalmente el acceso al almacenamiento o el uso compartido seguro.
Para obtener más información, consulte Objetos de base de datos frente a recursos de datos protegibles del área de trabajo y Credenciales protegibles de Unity Catalog e infraestructura.
Administración del acceso a objetos de base de datos mediante Unity Catalog
Puede conceder y revocar el acceso a objetos de base de datos en cualquier nivel de la jerarquía, incluido el propio metastore. El acceso a un objeto concede implícitamente el mismo acceso a todos los elementos secundarios de ese objeto, a menos que se revoque el acceso.
Puede usar comandos de ANSI SQL típicos para conceder y revocar el acceso a objetos en Unity Catalog. También puede usar el Explorador de catálogos para la administración controlada por la interfaz de usuario de privilegios de objetos de datos.
Para obtener más información sobre cómo proteger objetos en Unity Catalog, consulte Objetos protegibles en Unity Catalog.
Permisos de objeto predeterminados en Unity Catalog
En función de cómo se haya creado y habilitado el área de trabajo para Unity Catalog, los usuarios pueden tener permisos predeterminados en catálogos aprovisionados automáticamente, incluido el catálogo main
o el catálogo de área de trabajo (<workspace-name>
). Para obtener más información, consulte Privilegios de usuario predeterminados.
Si el área de trabajo se ha habilitado para Unity Catalog manualmente, incluye un esquema predeterminado, denominado default
, en el catálogo main
, que es accesible para todos los usuarios del área de trabajo. Si el área de trabajo se ha habilitado de forma automática para Unity Catalog e incluye un catálogo <workspace-name>
, ese catálogo contendrá un esquema denominado default
accesible para todos los usuarios del área de trabajo.
Objetos de base de datos frente a recursos de datos protegibles del área de trabajo
Azure Databricks permite administrar varios recursos de ingeniería, análisis, aprendizaje automático e inteligencia artificial de datos junto con los objetos de base de datos. No registra estos recursos de datos en Unity Catalog. En su lugar, estos recursos se administran en el nivel de área de trabajo, mediante listas de control para controlar los permisos. Estos recursos de datos incluyen lo siguiente:
- Cuaderno
- Paneles
- Trabajos
- Pipelines
- Archivos del área de trabajo
- Consultas SQL
- Experimentos
La mayoría de los recursos de datos contienen lógica que interactúa con objetos de base de datos para consultar datos, usar funciones, registrar modelos u otras tareas comunes. Para más información sobre cómo proteger los recursos de datos del área de trabajo, consulte Listas de control de acceso.
Nota:
El acceso al proceso se rige por las listas de control de acceso. Configure el proceso con un modo de acceso y puede agregar permisos de nube adicionales, que controlan cómo los usuarios pueden acceder a los datos. Databricks recomienda usar directivas de proceso y restringir los privilegios de creación de clústeres como procedimiento recomendado de gobernanza de datos. Consulte Modos de acceso.
Credenciales e infraestructura protegibles de Unity Catalog
Unity Catalog administra el acceso al almacenamiento de objetos en la nube, el uso compartido de datos y la federación de consultas mediante objetos protegibles registrados en el nivel de metastore. A continuación se muestran descripciones breves de estos objetos protegibles que no son de datos.
Conexión de Unity Catalog al almacenamiento de objetos en la nube
Debe definir las credenciales de almacenamiento y las ubicaciones externas para crear una nueva ubicación de almacenamiento administrada o para registrar tablas externas o volúmenes externos. Estos objetos protegibles se registran en Unity Catalog:
- Credencial de almacenamiento: una credencial de nube a largo plazo que proporciona acceso al almacenamiento en la nube.
- Ubicación externa: referencia a una ruta de acceso de almacenamiento de objetos en la nube accesible mediante la credencial de almacenamiento emparejada.
Consulte Conexión al almacenamiento y servicios de objetos en la nube mediante el catálogo de Unity.
Delta Sharing
Azure Databricks registra los siguientes objetos protegibles Delta Sharing en Unity Catalog:
- Recurso compartido: colección de solo lectura de tablas, volúmenes y otros recursos de datos.
- Proveedor: la organización o entidad que comparte datos. En el modelo de uso compartido de Databricks a Databricks, el proveedor se registra en el metastore de Unity Catalog del destinatario como una entidad única identificada por su identificador de metastore.
- Destinatario: la entidad que recibe recursos compartidos de un proveedor. En el modelo de uso compartido de Databricks a Databricks, el destinatario se identifica al proveedor mediante su identificador de metastore único.
Consulte ¿Qué es Delta Sharing?
Federación de Lakehouse
Lakehouse Federation permite crear catálogos externos para proporcionar acceso de solo lectura a los datos que residen en otros sistemas, como PostgreSQL, MySQL y Snowflake. Debe definir una conexión al sistema externo para crear catálogos externos.
Conexión: un objeto protegible de Unity Catalog especifica una ruta de acceso y credenciales para acceder a un sistema de base de datos externo en un escenario de federación de Lakehouse.
Consulte ¿Qué es la Federación Lakehouse?
Ubicaciones de almacenamiento administradas para volúmenes y tablas administrados
Al crear tablas y volúmenes de Azure Databricks, tiene la opción de hacerlos administrados o externos. Unity Catalog administra el acceso a tablas y volúmenes externos desde Azure Databricks, pero no controla los archivos subyacentes ni administra completamente la ubicación de almacenamiento de esos archivos. Las tablas y volúmenes administrados, por otro lado, están totalmente administrados por Unity Catalog y se almacenan en una ubicación de almacenamiento administrada asociada al esquema contenedor. Consulte Especificar una ubicación de almacenamiento administrada en Unity Catalog.
Databricks recomienda volúmenes administrados y tablas administradas para la mayoría de las cargas de trabajo, ya que simplifican la configuración, la optimización y la gobernanza.
Unity Catalog frente a metastore de Hive heredado
Databricks recomienda usar Unity Catalog para registrar y gobernar todos los objetos de base de datos, pero también proporciona compatibilidad heredada con el metastore de Hive para administrar esquemas, tablas, vistas y funciones.
Si interactúa con objetos de base de datos registrados mediante metastore de Hive, consulte Objetos de base de datos en el metastore de Hive heredado.