Quando cria um serviço Dataproc Metastore, tem de optar por usar o tipo de base de dados MySQL ou o tipo de base de dados Spanner.
Esta escolha afeta as funcionalidades que pode integrar e usar com o seu serviço de Dataproc Metastore. É importante ter em atenção que não pode atualizar o tipo de base de dados depois de criar um serviço Dataproc Metastore. Certifique-se de que escolhe o tipo de base de dados adequado às suas necessidades.
Esta página explica as diferenças entre estes tipos de bases de dados e como selecionar um para o seu serviço.
Diferenças entre o MySQL e o Spanner
MySQL
O tipo de base de dados MySQL do Dataproc Metastore é uma implementação do Cloud SQL. Tenha em atenção o seguinte quando usar uma base de dados MySQL:
- O MySQL é o tipo de base de dados predefinido quando cria um Dataproc Metastore.
- O MySQL é suportado por todas as versões do Hive.
- O MySQL suporta todas as funcionalidades do Dataproc Metastore.
- O MySQL suporta a encriptação do Dataproc Metastore, como a utilização de chaves de encriptação geridas pelo cliente (CMEK).
Spanner
O tipo de base de dados do Spanner do Dataproc Metastore é uma implementação do Spanner. Tenha em atenção o seguinte quando usar uma base de dados do Spanner:
- O Spanner só é suportado nas versões 2.3.6 e 3.1.2 do Hive.
- O Spanner só suporta importações Avro.
Detalhes adicionais
A tabela seguinte fornece detalhes adicionais acerca destas diferenças.
MySQL | Spanner | |
---|---|---|
Fiabilidade (tempo de atividade) | SLO do Cloud SQL de 99,95%* | SLO do Spanner de 99,99%* |
Períodos de manutenção | Obrigatória | Não é obrigatório |
Notas:
- * Os SLOs do Cloud SQL e do Spanner não se traduzem diretamente nos SLOs do Dataproc Metastore. Dataproc Metastore A seleção do tipo de base de dados não afeta os SLOs do Dataproc Metastore.
- Não existe diferença de preços entre os dois tipos de bases de dados.
Antes de começar
- Ative o Dataproc Metastore no seu projeto.
- Compreenda os requisitos de rede específicos do seu projeto.
Funções necessárias
Para receber a autorização de que precisa para criar um Dataproc Metastore, peça ao seu administrador que lhe conceda as seguintes funções de IAM no seu projeto, com base no princípio do menor privilégio:
-
Conceda controlo total dos recursos do Dataproc Metastore (
roles/metastore.editor
) -
Conceda acesso total a todos os recursos de Metastore do Dataproc, incluindo a administração de políticas de IAM (
roles/metastore.admin
)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Esta função predefinida contém a autorização
metastore.services.create
, que é necessária para
criar um Dataproc Metastore.
Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.
Para mais informações sobre funções e autorizações específicas do Dataproc Metastore, consulte o artigo Gerir o acesso ao Dataproc com a IAM.Escolha o tipo de base de dados
Escolhe o tipo de base de dados quando cria um serviço do Dataproc Metastore pela primeira vez.
O exemplo seguinte mostra uma versão abreviada dos passos que segue para escolher um tipo de base de dados. Para ver instruções passo a passo completas, consulte o artigo Crie um serviço do Dataproc Metastore.
Consola
Na Google Cloud consola, abra a página Dataproc Metastore:
Na barra de navegação, clique em Criar.
É apresentada a página Criar serviço.
Para Tipo de base de dados, selecione MySQL ou Spanner.
O MySQL é o tipo de base de dados predefinido.
Escolha as restantes configurações para o seu serviço, conforme necessário.
Clique em Enviar.
CLI gcloud
Execute o seguinte comando:
gcloud metastore services create
gcloud metastore services create SERVICE_ID \ --location=LOCATION \ --database-type=DATABASE_TYPE; default="mysql"
Substitua o seguinte:
SERVICE_ID
: o nome ou o ID do seu serviço do Dataproc Metastore.LOCATION
: a região em que o seu serviço de Dataproc Metastore reside.DATABASE_TYPE
: o tipo de base de dados que quer definir para o seu serviço Dataproc Metastore. Os valores aceites incluemmysql
espanner
. O valor predefinido émysql
.