Lorsque vous créez un service Dataproc Metastore, vous devez choisir d'utiliser le type de base de données MySQL ou Spanner.
Ce choix affecte les fonctionnalités que vous pouvez intégrer et utiliser avec votre service Dataproc Metastore. Il est important de noter que vous ne pouvez pas modifier le type de base de données après avoir créé un service Dataproc Metastore. Assurez-vous de choisir le type de base de données adapté à vos besoins.
Cette page explique les différences entre ces types de bases de données et comment en sélectionner un pour votre service.
Différences entre MySQL et Spanner
MySQL
Le type de base de données MySQL de Dataproc Metastore est une implémentation de Cloud SQL. Tenez compte des points suivants lorsque vous utilisez une base de données MySQL :
- MySQL est le type de base de données par défaut lors de la création d'un service Dataproc Metastore.
- MySQL est compatible avec toutes les versions de Hive.
- MySQL est compatible avec toutes les fonctionnalités de Dataproc Metastore.
- MySQL est compatible avec le chiffrement Dataproc Metastore, par exemple à l'aide de clés de chiffrement gérées par le client (CMEK).
Spanner
Le type de base de données Spanner de Dataproc Metastore est une implémentation de Spanner. Tenez compte des points suivants lorsque vous utilisez une base de données Spanner :
- Spanner n'est compatible qu'avec les versions 2.3.6 et 3.1.2 de Hive.
- Spanner n'est compatible qu'avec les importations Avro.
- Le nombre maximal de colonnes compatibles dans un tableau est de 5 000.
Informations supplémentaires
Le tableau suivant fournit des informations supplémentaires sur ces différences.
| MySQL | Spanner | |
|---|---|---|
| Fiabilité (temps d'activité) | Objectif de niveau de service Cloud SQL : 99,95 %* | Objectif de niveau de service Spanner : 99,99 %* |
| Intervalles de maintenance | Obligatoire | Non obligatoire |
Remarques :
- *Les objectifs de niveau de service Cloud SQL et Spanner ne se traduisent pas directement en objectifs de niveau de service Dataproc Metastore. Dataproc Metastore : le type de base de données que vous sélectionnez n'a aucune incidence sur les objectifs de niveau de service Dataproc Metastore.
- Il n'y a aucune différence de prix entre les deux types de bases de données.
Avant de commencer
- Activez Dataproc Metastore dans votre projet.
- Comprenez les exigences de mise en réseau spécifiques à votre projet.
Rôles requis
Pour obtenir l'autorisation nécessaire pour créer un service Dataproc Metastore, demandez à votre administrateur de vous accorder les rôles IAM suivants dans votre projet, en fonction du principe du moindre privilège :
-
Accorder le contrôle total des ressources Dataproc Metastore (
roles/metastore.editor) -
Accorder un accès complet à toutes les ressources Dataproc Metastore, y compris l'administration des stratégies IAM (
roles/metastore.admin)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation
metastore.services.create
,
qui est requise pour
créer un service Dataproc Metastore.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour en savoir plus sur les rôles et autorisations spécifiques à Dataproc Metastore, consultez Gérer l'accès au service géré pour Apache Spark avec IAM.Choisir votre type de base de données
Vous choisissez votre type de base de données lorsque vous créez un service Dataproc Metastore pour la première fois.
L'exemple suivant présente une version abrégée des étapes à suivre pour choisir un type de base de données. Pour obtenir des instructions complètes, consultez Créer un service Dataproc Metastore.
Console
Dans la Google Cloud console, ouvrez la page "Dataproc Metastore" :
Dans la barre de navigation, cliquez sur Créer.
La page Créer un service s'ouvre.
Pour Type de base de données, sélectionnez MySQL ou Spanner.
MySQL est le type de base de données par défaut.
Choisissez les configurations restantes pour votre service, si nécessaire.
Cliquez sur Envoyer.
Gcloud CLI
Exécutez la
gcloud metastore services createcommande suivante :gcloud metastore services create SERVICE_ID \ --location=LOCATION \ --database-type=DATABASE_TYPE; default="mysql"
Remplacez les éléments suivants :
SERVICE_ID: nom ou ID de votre service Dataproc Metastore.LOCATION: région dans laquelle réside votre service Dataproc Metastore.DATABASE_TYPE: type de base de données que vous souhaitez définir pour votre service Dataproc Metastore. Les valeurs acceptées sontmysqletspanner. La valeur par défaut estmysql.