Tipos de bases de datos

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

Esta opción afecta las funciones que puedes integrar y usar con tu Servicio de Dataproc Metastore. Es importante tener en cuenta que no puedes actualizar el tipo de base de datos después de crear un servicio de 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 seleccionarlos 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 cuando se crea un Dataproc Metastore.
  • MySQL es compatible con todas las versiones de Hive.
  • MySQL es compatible con todas las funciones de Dataproc Metastore.
  • MySQL admite la encriptación de Dataproc Metastore, como el uso de claves de encriptación administradas 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 de Hive 2.3.6 y 3.1.2.
  • Spanner solo admite importaciones de Avro.

Detalles adicionales

En la siguiente tabla, se proporcionan detalles adicionales sobre estas diferencias.

MySQL Spanner
Confiabilidad (tiempo de actividad) SLO 99.95%de Cloud SQL* SLO 99.99%de Spanner*
Períodos de mantenimiento Obligatorio No requeridos

Notas:

  • * Los SLO de Cloud SQL y Spanner no se relacionan directamente se traducen en SLO de Dataproc Metastore. Dataproc Metastore El tipo de base de datos que elijas no afecta a Dataproc Metastore SLO
  • No hay diferencia de precios entre los dos tipos de bases de datos.

Antes de comenzar

Funciones requeridas

A fin de obtener el permiso que necesitas para crear un Dataproc Metastore, solicita a tu administrador que te otorgue el los siguientes roles de IAM en tu proyecto, según el principio de privilegio mínimo:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene las metastore.services.create permiso, que se requiere para crear un Dataproc Metastore.

Es posible que también puedas obtener este permiso con roles personalizados otros roles predefinidos.

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

Elige el tipo de base de datos

Tú eliges el tipo de base de datos cuando creas una Servicio de Dataproc Metastore.

En el siguiente ejemplo, se muestra una versión abreviada de los pasos que sigues. elegir un tipo de base de datos. Para obtener instrucciones paso a paso completas, consulta Crea un servicio de Dataproc Metastore.

Console

  1. En la consola de Google Cloud, abre la página de 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 los parámetros de configuración restantes para tu servicio, según sea necesario.

  5. Haz clic en Enviar.

gcloud CLI

  1. Ejecuta el siguiente comando gcloud metastore services create:

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

    Reemplaza lo siguiente:

    • SERVICE_ID: Es el nombre o el ID de tu servicio de Dataproc Metastore.
    • LOCATION: Es la región a la que donde reside el servicio de Dataproc Metastore.
    • DATABASE_TYPE: Es el tipo de base de datos que deseas. configurado para tu servicio de Dataproc Metastore. Los valores aceptados incluyen mysql y spanner. El valor predeterminado es mysql.

¿Qué sigue?