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 características 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 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 cuando se crea un Dataproc Metastore.
- MySQL es compatible con todas las versiones de Hive.
- MySQL es compatible con todas las características 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 Dataproc Metastore Spanner es una implementación de Cloud 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 no admite la encriptación de Dataproc Metastore, como el uso de claves de encriptación administradas por el cliente (CMEK).
- Spanner solo admite importaciones 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 Cloud Spanner 99.99%* |
Latencia | Sin cambios en la latencia | Mayor latencia de alrededor del 50% |
CMEK | Admitido | No es compatible |
Períodos de mantenimiento | Requeridos | No requeridos |
Notas:
- *Los SLO de Cloud SQL y Cloud Spanner no se traducen directamente en los SLO de Dataproc Metastore. Dataproc Metastore La selección del tipo de base de datos no afecta a los SLO de Dataproc Metastore.
- No hay diferencia de precios entre los dos tipos de base de datos.
Antes de comenzar
- Habilita Dataproc Metastore en tu proyecto.
- Comprende los requisitos de red específicos de tu proyecto.
Funciones requeridas
Para obtener el permiso que necesitas para crear un almacén de datos de Dataproc, pídele al administrador que te otorgue las siguientes funciones de IAM en tu proyecto, según el principio de privilegio mínimo:
-
Otorga control total de los recursos de Dataproc Metastore (
roles/metastore.editor
) -
Otorga acceso completo a todos los recursos de Dataproc Metastore, incluida la administración de políticas de IAM (
roles/metastore.admin
).
Para obtener más información sobre cómo 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 datos de Dataproc.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Elige tu tipo de base de datos
Elige 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 sigues para elegir un tipo de base de datos. Para obtener instrucciones completas paso a paso, consulta Crea un servicio de Dataproc Metastore.
Consola
En Google Cloud Console, abre la página de Dataproc Metastore:
En la barra de navegación, haga clic en Create.
Se abrirá la página Crear servicio.
En Tipo de base de datos, selecciona MySQL o Spanner.
MySQL es el tipo de base de datos predeterminado.
Elige las configuraciones restantes para tu servicio, según sea necesario.
Haz clic en Enviar.
CLI de gcloud
Ejecuta el siguiente comando
gcloud metastore services create
:gcloud beta metastore services create SERVICE_ID \ --location=LOCATION \ --database-type=DATABASE_TYPE; default="mysql"
Reemplaza lo siguiente:
SERVICE_ID
: Es el nombre o ID de tu servicio de Dataproc Metastore.LOCATION
: Es la región en la que se encuentra el servicio de Dataproc Metastore.DATABASE_TYPE
: Es el tipo de base de datos que deseas configurar para el servicio de Dataproc Metastore. Los valores aceptados incluyenmysql
yspanner
. El valor predeterminado esmysql
.