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 elección afecta las funciones que puedes integrar y usar en 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 seleccionar una para tu servicio.

Diferencias entre MySQL y Spanner

MySQL

El tipo de base de datos de MySQL en 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 admite 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 2.3.6 y 3.1.2 de Hive.
  • 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 de Cloud SQL 99.95%* SLO de Spanner al 99.99%*
Períodos de mantenimiento Requeridos No requeridos

Notas:

  • * Los SLO de Cloud SQL y Spanner no se traducen directamente a los SLO de Dataproc Metastore. Dataproc Metastore La selección del tipo de base de datos no afecta los SLO de Dataproc Metastore.
  • No existe diferencia de precios entre los dos tipos de bases de datos.

Antes de comenzar

Funciones requeridas

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

Si quieres obtener más información para otorgar roles, consulta Administra el acceso.

Esta función predefinida contiene el permiso metastore.services.create, que se necesita para crear un almacén de metadatos de Dataproc.

Es posible que también puedas obtener este permiso con funciones personalizadas o con otras funciones predefinidas.

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

Elige tu tipo de base de datos

Debes elegir el tipo de base de datos cuando creas un servicio de Dataproc Metastore por primera vez.

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 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 de 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 en la que reside el servicio de Dataproc Metastore.
    • DATABASE_TYPE: Es el tipo de base de datos que deseas configurar para tu servicio de Dataproc Metastore. Los valores aceptados son mysql y spanner. El valor predeterminado es mysql.

¿Qué sigue?