Introducción a BigLake Metastore

BigLake Metastore es un servicio completamente administrado y sin servidores que proporciona una sola fuente de información para tu lakehouse de datos. Permite que varios motores, incluidos Apache Spark, Apache Flink y BigQuery, compartan tablas y metadatos sin copiar archivos.

El metastore de BigLake admite la delegación de acceso al almacenamiento (venta de credenciales), lo que mejora la seguridad, ya que elimina la necesidad de acceder directamente al bucket de Cloud Storage. También se integra con Dataplex Universal Catalog para ofrecer administración, linaje y calidad de los datos unificados.

Funciones clave

Como componente de BigLake, BigLake Metastore ofrece varias ventajas para la administración y el análisis de datos, como una arquitectura sin servidores, interoperabilidad del motor con APIs abiertas, una experiencia del usuario unificada y estadísticas, transmisión y IA de alto rendimiento cuando se usa con BigQuery. Para obtener más información sobre estos beneficios, consulta ¿Qué es BigLake?

Opciones de configuración

BigLake Metastore se puede configurar de dos maneras: con el catálogo REST de Iceberg o el catálogo de Iceberg personalizado para BigQuery. La mejor opción depende de tu caso de uso, como se muestra en la siguiente tabla:

Caso práctico Recomendación
Nuevos usuarios del metastore de BigLake que desean que su motor de código abierto acceda a datos en Cloud Storage y necesitan interoperabilidad con otros motores, incluidos BigQuery y AlloyDB para PostgreSQL Usa el catálogo REST de Iceberg.
Usuarios existentes de BigLake Metastore que tienen tablas actuales con el catálogo de Iceberg personalizado para BigQuery. Sigue usando el catálogo de Iceberg personalizado para BigQuery, pero usa el catálogo REST de Iceberg para los flujos de trabajo nuevos. Las tablas creadas con el catálogo personalizado de Iceberg para BigQuery se pueden ver con el catálogo de REST de Iceberg a través de la federación de catálogos de BigQuery.

Diferencias con BigLake Metastore (clásico)

BigLake Metastore es el almacén de metadatos recomendado en Google Cloud, mientras que BigLake Metastore (clásico) se considera una función heredada.

Las principales diferencias entre BigLake Metastore y BigLake Metastore (clásico) incluyen las siguientes:

  • BigLake Metastore admite una integración directa con motores de código abierto, como Spark, lo que ayuda a reducir la redundancia cuando almacenas metadatos y ejecutas trabajos. Se puede acceder directamente a las tablas del metastore de BigLake desde varios motores de código abierto y BigQuery.
  • BigLake Metastore admite el catálogo REST de Iceberg, mientras que BigLake Metastore (clásico) no lo hace.

Limitaciones de BigLake Metastore

Se aplican las siguientes limitaciones a las tablas en BigLake Metastore:

  • No puedes crear ni modificar tablas de BigLake Iceberg con instrucciones del lenguaje de definición de datos (DDL) o del lenguaje de manipulación de datos (DML) de BigQuery. Puedes modificar las tablas de BigLake Iceberg con la API de BigQuery (con la herramienta de línea de comandos de bq o las bibliotecas cliente), pero, si lo haces, corres el riesgo de realizar cambios que sean incompatibles con el motor externo.
  • Las tablas de metastore de BigLake no admiten operaciones de cambio de nombre ni la instrucción ALTER TABLE ... RENAME TO de Spark SQL.
  • Las tablas de metastore de BigLake en BigQuery están sujetas a las mismas cuotas y límites que las tablas estándar.
  • El rendimiento de las consultas de las tablas del metastore de BigLake desde el motor de BigQuery puede ser lento en comparación con la consulta de datos en las tablas estándar de BigQuery. En general, la velocidad de las consultas debe ser equivalente a la lectura de datos de Cloud Storage.
  • Una ejecución de prueba de BigQuery de una consulta que usa una tabla de metastore de BigLake puede informar un límite inferior de 0 bytes de datos, incluso si se muestran filas. Este resultado se produce porque la cantidad de datos que se procesan desde la tabla no se puede determinar hasta que se ejecuta la consulta completa. La ejecución de la consulta genera un costo por procesar estos datos.
  • No puedes hacer referencia a una tabla de BigLake Metastore en una consulta de tabla comodín.
  • No puedes usar el método tabledata.list para recuperar datos de las tablas de BigLake Metastore. En cambio, puedes guardar los resultados de la consulta en una tabla de BigQuery y, luego, usar el método tabledata.list en esa tabla.
  • Las tablas de BigLake Metastore no admiten el agrupamiento en clústeres.
  • Las tablas de BigLake Metastore no admiten nombres de columnas flexibles.
  • No se admite la visualización de estadísticas de almacenamiento de tablas para las tablas de BigLake Metastore.
  • BigLake Metastore no admite vistas de Iceberg.

¿Qué sigue?