Tipos de bases de datos

Cuando creas un servicio de Dataproc Metastore, debes elegir entre el tipo de base de datos MySQL o el tipo de base de datos Spanner.

Esta opción afecta a las funciones que puedes integrar y usar con tu servicio Dataproc Metastore. Es importante tener en cuenta que no puedes actualizar el tipo de base de datos después de crear un servicio Dataproc Metastore. Asegúrate de elegir el tipo de base de datos adecuado para tus necesidades.

En esta página se explican las diferencias entre estos tipos de bases de datos y cómo seleccionar uno para tu servicio.

Diferencias entre MySQL y Spanner

MySQL

El tipo de base de datos MySQL de Dataproc Metastore es una implementación de Cloud SQL. Ten en cuenta lo siguiente cuando uses una base de datos MySQL:

  • MySQL es el tipo de base de datos predeterminado al crear un metastore de Dataproc.
  • Todas las versiones de Hive son compatibles con MySQL.
  • MySQL es compatible con todas las funciones de Dataproc Metastore.
  • MySQL admite el cifrado de Dataproc Metastore, como el uso de claves de cifrado gestionadas por el cliente (CMEK).

Spanner

El tipo de base de datos de Spanner de Dataproc Metastore es una implementación de Spanner. Ten en cuenta lo siguiente cuando uses una base de datos de Spanner:

  • Spanner solo es compatible con las versiones 2.3.6 y 3.1.2 de Hive.
  • Spanner solo admite importaciones de Avro.

Información adicional

En la siguiente tabla se ofrecen más detalles sobre estas diferencias.

MySQL Spanner
Fiabilidad (tiempo de actividad) SLO de Cloud SQL del 99,95%* Objetivo de nivel de servicio de Spanner del 99,99%*
Ventanas de mantenimiento Obligatorio No se requiere

Notas:

  • *Los SLOs de Cloud SQL y Spanner no se traducen directamente a los SLOs de Dataproc Metastore. Dataproc Metastore El tipo de base de datos que elijas no afectará a los acuerdos de nivel de servicio de Dataproc Metastore.
  • No hay ninguna diferencia de precio entre los dos tipos de bases de datos.

Antes de empezar

Roles obligatorios

Para obtener el permiso que necesitas para crear un metastore de Dataproc, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto, según el principio de privilegio mínimo:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso metastore.services.create , que es necesario para crear un metastore de Dataproc.

También puedes obtener este permiso con roles personalizados u otros roles predefinidos.

Para obtener más información sobre roles y permisos específicos de Dataproc Metastore, consulta Gestionar el acceso a Dataproc con IAM.

Elige el tipo de base de datos

El tipo de base de datos se elige al crear un servicio de Dataproc Metastore.

En el siguiente ejemplo se muestra una versión abreviada de los pasos que debes seguir para elegir un tipo de base de datos. Para ver instrucciones detalladas, consulta el artículo Crear un servicio de Dataproc Metastore.

Consola

  1. En la Google Cloud consola, abre la página Dataproc Metastore:

    Abrir Dataproc Metastore

  2. En la barra de navegación, haz clic en Crear.

    Se abrirá la página Crear servicio.

  3. En Tipo de base de datos, selecciona MySQL o Spanner.

    MySQL es el tipo de base de datos predeterminado.

  4. Elige las configuraciones restantes de tu servicio según sea necesario.

  5. Haz clic en Enviar.

CLI de gcloud

  1. Ejecuta el siguiente comando gcloud metastore services create:

    gcloud metastore services create SERVICE_ID \
       --location=LOCATION \
       --database-type=DATABASE_TYPE; default="mysql"
    

    Haz los cambios siguientes:

    • SERVICE_ID: nombre o ID de tu servicio de Dataproc Metastore.
    • LOCATION: la región en la que se encuentra tu servicio de Dataproc Metastore.
    • DATABASE_TYPE: el tipo de base de datos que quieras definir para tu servicio Dataproc Metastore. Los valores aceptados son mysql y spanner. El valor predeterminado es mysql.

Siguientes pasos