Conceptos clave

En este documento, se definen los términos y conceptos clave de Lakehouse para Apache Iceberg.

Esta página no es una lista exhaustiva de funciones, sino una referencia general de los términos y conceptos que se usan en la documentación de Lakehouse de Google Cloud.

Conceptos básicos

Los siguientes conceptos forman la base de la arquitectura de Lakehouse de Google Cloud.

Data Lakehouse

Un data lakehouse combina el ahorro de costos y la flexibilidad de un data lake con la administración de datos y el rendimiento de un almacén de datos. Te permite almacenar datos en formatos abiertos en Cloud Storage y usar funciones de BigQuery, como controles de seguridad precisos y consultas rápidas.

Arquitectura de medallón

Un patrón de diseño común en un data lakehouse es la arquitectura de medallón, que organiza lógicamente los datos en capas progresivas de estructura y calidad:

  • Capa de bronce (sin procesar): Transfiere y almacena datos sin procesar en formatos abiertos, como Apache Iceberg en Cloud Storage.
  • Capa de plata (limpia): Limpia, filtra y enriquece los datos sin procesar en tablas estandarizadas.
  • Capa de oro (curada): Ofrece tablas agregadas y completamente curadas a nivel empresarial. En Lakehouse de Google Cloud, BigQuery se usa con frecuencia para entregar la capa de oro para el consumo, la generación de informes y el análisis de alto rendimiento.

Interoperabilidad abierta

La interoperabilidad abierta es la capacidad de que varios sistemas analíticos y transaccionales, como BigQuery, Apache Spark y Apache Flink, operen en una sola copia de datos en formatos abiertos, como Apache Iceberg. Esto elimina la necesidad de duplicar datos y garantiza una vista coherente de los datos en diferentes herramientas.

Catálogo de entorno de ejecución de Lakehouse

El catálogo de entorno de ejecución de Lakehouse es un servicio de metadatos centralizado y sin servidores que actúa como la única fuente de información para Lakehouse de Google Cloud. Permite que varios motores, como Apache Spark, Apache Flink y BigQuery, descubran y consulten las mismas tablas de forma simultánea.

Tipos de catálogo

El catálogo de entorno de ejecución de Lakehouse ofrece diferentes tipos de catálogos para administrar tus metadatos.

Extremo de catálogo de REST de Apache Iceberg

Este es un catálogo basado en el extremo de catálogo de REST de Apache Iceberg. Proporciona interoperabilidad entre los motores de código abierto y BigQuery, y admite funciones como la venta de credenciales y la recuperación ante desastres.

Catálogo personalizado de Apache Iceberg para BigQuery

Esta es una integración que usa el catálogo de BigQuery directamente como el servicio de metadatos de respaldo para las tablas administradas de Apache Iceberg.

Extremo de catálogo de Apache Hive

Este extremo proporciona compatibilidad para las cargas de trabajo de código abierto que dependen de la interfaz de metastore de Apache Hive (HMS), lo que te permite ejecutar cargas de trabajo de Apache Hive o Spark en un servicio de metastore completamente administrado en Google Cloud.

Tipos de tablas

Lakehouse de Google Cloud admite varios formatos de tabla, según el motor que se use para administrar los datos y el extremo de catálogo que uses.

Tablas de Apache Iceberg

Estas son tablas de Apache Iceberg que creas a partir de motores de código abierto y almacenas en Cloud Storage. El catálogo de entorno de ejecución de Lakehouse administra estas tablas a través del extremo de catálogo de REST de Apache Iceberg. Los motores de código abierto tienen acceso de lectura y escritura a estas tablas, mientras que BigQuery tiene acceso de solo lectura. Esta opción es la mejor si quieres que tu flujo de trabajo de ETL sea administrado por motores de código abierto.

Tablas de BigQuery

Estas tablas se administran con BigQuery.

Tablas de Apache Iceberg

Estas son tablas de Apache Iceberg que creas a partir de BigQuery y almacenas en Cloud Storage. BigQuery controla todo el diseño y la optimización de los datos. Si bien varios motores pueden leer estas tablas, BigQuery es el único motor que puede escribir directamente en ellas.

Tablas nativas

BigQuery administra estas tablas y almacena datos en el almacenamiento de BigQuery. Puedes conectar estas tablas al catálogo de entorno de ejecución de Lakehouse.

Tablas externas

Las tablas externas residen fuera del catálogo de entorno de ejecución de Lakehouse. Los datos y los metadatos se administran por sí mismos en un catálogo de terceros (como Cloud Storage, S3 o Azure Blob Storage). BigQuery solo puede leer estas tablas.

Funciones de tabla

Evolución de la tabla

Lakehouse de Google Cloud admite la evolución de la tabla de Apache Iceberg, lo que te permite cambiar el esquema o la especificación de partición de una tabla con el tiempo sin volver a escribir los datos de la tabla ni volver a crearla.

Viaje en el tiempo

El viaje en el tiempo te permite consultar los datos de una tabla tal como existían en un momento específico o en un ID de instantánea. Esto es útil para auditar, reproducir experimentos o restablecer datos después de una eliminación accidental.

Almacenamiento de metadatos en caché

El almacenamiento de metadatos en caché es una función que acelera el rendimiento de las consultas para las tablas externas. Almacena una copia de los metadatos de la tabla en el almacenamiento de BigQuery, lo que reduce la necesidad de leer archivos de metadatos de Cloud Storage durante la ejecución de la consulta.

Administración de tablas de Lakehouse de Google Cloud

La administración de tablas de Lakehouse de Google Cloud simplifica el mantenimiento de lakehouse mediante la automatización de tareas como la compactación y la recolección de elementos no utilizados para las tablas administradas. Esto garantiza un rendimiento óptimo de las consultas y eficiencia de almacenamiento.

Conceptos de interoperabilidad

Federación de catálogos de BigQuery

La federación de catálogos de BigQuery te permite usar el extremo de catálogo de REST de Apache Iceberg del catálogo de entorno de ejecución de Lakehouse para exponer tablas administradas por BigQuery, por ejemplo, tablas administradas de Iceberg, a motores externos de código abierto (OSS), como Apache Spark y Trino.

En lugar de crear un contenedor de catálogo de Lakehouse dedicado para almacenar metadatos, el extremo de catálogo de REST de Apache Iceberg actúa únicamente como una puerta de enlace de proxy, que enruta las solicitudes de catálogo directamente al catálogo interno de BigQuery. Esto te permite crear y administrar tablas directamente en BigQuery con DDL o APIs estándar de BigQuery, al mismo tiempo que les brinda a los motores OSS externos acceso de solo lectura para consultar esas tablas a través del extremo de catálogo de REST.

Lakehouse entre nubes

Lakehouse entre nubes extiende Lakehouse de Google Cloud, lo que te permite conectarte a catálogos externos remotos (por ejemplo, Databricks Unity Catalog o AWS Glue). Sincroniza metadatos de otros proveedores de servicios en la nube, lo que te permite consultar datos con BigQuery o motores externos de código abierto a través del extremo de catálogo de REST de Apache Iceberg, sin migrar los datos.

Conjuntos de datos públicos

Lakehouse de Google Cloud aloja conjuntos de datos públicos de alta calidad que se entregan a través del catálogo de REST de Apache Iceberg, lo que proporciona acceso de solo lectura para la exploración y las pruebas sin administrar la infraestructura.

Estructura de nombres P.C.N.T.

La estructura de nombres P.C.N.T. es la convención de cuatro partes que se usa para identificar y consultar de forma única las tablas en el catálogo de entorno de ejecución de Lakehouse desde BigQuery. Significa Project.Catalog.Namespace.Table:

  • Project: Es el ID del Google Cloud proyecto.
  • Catálogo: Es el nombre del catálogo de entorno de ejecución de Lakehouse.
  • Namespace: Es la agrupación lógica de tablas (similar a un conjunto de datos).
  • Tabla: Es el nombre de la tabla de datos.

Conceptos de seguridad

Conexiones

Una conexión es un recurso de BigQuery que almacena credenciales para acceder a datos externos. En Lakehouse de Google Cloud, las conexiones delegan el acceso a Cloud Storage, ya que permiten que la cuenta de servicio de la conexión acceda al bucket de almacenamiento en tu nombre.

Venta de credenciales

La venta de credenciales es un mecanismo de seguridad que ayuda a reforzar el control de acceso cuando se usa el catálogo de entorno de ejecución de Lakehouse. Cuando está habilitado, el servicio genera credenciales de corta duración y de alcance reducido diseñadas para otorgar acceso solo a las rutas de acceso de archivos específicas que se requieren para una consulta.

Administración unificada

La administración unificada te permite definir y aplicar políticas de seguridad y administración de datos de forma centralizada a través de la integración con Knowledge Catalog. Cuando registras tablas en el catálogo de entorno de ejecución de Lakehouse, el sistema registra automáticamente las entradas correspondientes en el catálogo de metadatos empresariales (Knowledge Catalog), lo que permite el linaje de datos, la búsqueda semántica y la administración central en todos los motores sin mover ni copiar archivos.

Conceptos del motor de consultas

Lakehouse de Google Cloud desacopla el almacenamiento del procesamiento, lo que permite que varios motores de análisis interactúen con tablas abiertas.

Managed Service para Apache Spark

Managed Service para Apache Spark (antes conocido como Managed Service para Apache Spark) proporciona un entorno de ejecución completamente administrado para procesar formatos de tabla abiertos, como Apache Iceberg. Admite dos modos de ejecución principales:

  • Lotes sin servidores: Diseñados para canalizaciones de procesamiento de datos automatizadas y no interactivas, y cargas de trabajo de ETL. Este modelo de pago por ejecución elimina la administración de clústeres, quita la contención de recursos entre los trabajos y automatiza el mantenimiento de la infraestructura.
  • Sesiones interactivas sin servidores: Diseñadas para el análisis exploratorio de datos, la ingeniería de datos y la experimentación de ciencia de datos. Las sesiones interactivas potencian los notebooks de Apache Spark en segundo plano con Spark Connect o kernels remotos de Spark, lo que proporciona un entorno de ajuste de escala automático sin configuración de infraestructura.

Niveles de servicio

Cuando ejecutas cargas de trabajo de Apache Spark en el catálogo de entorno de ejecución de Lakehouse, puedes seleccionar entre diferentes niveles de servicio:

  • Nivel Estándar: Es el nivel de ejecución predeterminado adecuado para las cargas de trabajo de procesamiento por lotes estándar.
  • Nivel Premium: Proporciona capacidades avanzadas, incluida la compatibilidad con sesiones interactivas de notebooks sin servidores y funciones que aceleran el rendimiento, como Lightning Engine.

Plantillas de sesión

Las plantillas de sesión simplifican la configuración de sesiones interactivas sin servidores. Permiten que los administradores definan y conserven parámetros de configuración de entorno comunes (como propiedades de catálogo, configuraciones de red y versiones de entorno de ejecución). Esto promueve la coherencia y mejora la productividad de los desarrolladores, ya que minimiza la configuración repetida. Las plantillas de sesión se pueden crear y administrar con la Google Cloud consola, la CLI de gcloud, la API de REST o Terraform.

Conceptos de confiabilidad

Replicación entre regiones

La replicación entre regiones replica metadatos en varias regiones para garantizar la disponibilidad del catálogo durante las interrupciones regionales.

Conmutación por error

La conmutación por error es el proceso de cambiar entre regiones principales y secundarias durante una interrupción regional para mantener las operaciones del catálogo.