Exercício - Criar tabelas no Azure Cosmos DB para PostgreSQL
Neste exercício, você cria as tabelas para iniciar os desenvolvedores do Woodgrove Bank na criação de uma versão distribuída do banco de dados do aplicativo de pagamento do Woodgrove Bank:
Criar um banco de dados do Azure Cosmos DB para PostgreSQL
Crie um banco de dados do Azure Cosmos DB para PostgreSQL com um único nó coordenador (com quatro vCores e 0,5 TiB de armazenamento) e dois nós de trabalho (cada um com 4 vCores e 0,5 TiB de armazenamento).
Nota
Você precisará de sua própria assinatura do Azure para concluir os exercícios neste módulo. Se não tiver uma subscrição do Azure, pode inscrever-se numa conta gratuita do Azure. Certifique-se de limpar todos os recursos criados no final do módulo para evitar ser cobrado.
Abra um navegador da Web e navegue até o portal do Azure.
Em seguida, selecione Criar um recurso, Bancos de dados e Azure Cosmos DB. Você também pode usar a funcionalidade Pesquisar para localizar o recurso.
Na tela de opção Selecionar API, selecione Criar no bloco do Azure Cosmos DB para PostgreSQL .
Nota
O portal exibirá uma tela de configuração do Azure Cosmos DB para PostgreSQL.
No separador Informações Básicas, introduza as seguintes informações:
Parâmetro Valor Detalhes do projeto Subscrição Escolher a sua subscrição do Azure Grupo de recursos Selecione Criar novo e nomeie seu grupo learn-cosmosdb-postgresql
de recursos .Detalhes do cluster Nome do cluster Insira um nome globalmente exclusivo, como learn-cosmosdb-postgresql
.Localização Deixe o padrão ou use uma região próxima a você. Escala Consulte as definições de configuração na próxima etapa. Versão do PostgreSQL Deixe a versão padrão (15) selecionada. Conta de administrador Nome de utilizador de administrador Este nome de utilizador está definido como citus
e não pode ser editado.Password Introduza e confirme uma palavra-passe forte. Gorjeta
Anote o nome do servidor e a senha para uso posterior.
Para a configuração Escala , selecione Configurar e, na página de configuração do nó, defina o seguinte:
Parâmetro Valor Nós Contagens de nós Escolha 2 nós. Computação por nó Selecione 4 vCores, 32 GiB RAM. Armazenamento por nó Selecione 512 GiB. Coordenador (talvez seja necessário expandir esta seção) Coordenador de computação Selecione 4 vCores, 16 GiB RAM. Coordenador de armazenamento Selecione 512 GiB. Elevada disponibilidade deixe esta opção desselecionada. Deixe todas as outras opções como padrão. Selecione Salvar na página de escala para retornar à configuração do cluster.
Selecione o botão Next : Networking > para ir para a guia Rede da caixa de diálogo de configuração.
Na guia Rede, defina o método Conectividade como Acesso público (endereços IP permitidos) e marque a caixa Permitir acesso público dos serviços e recursos do Azure no Azure para este cluster.
Selecione o botão Rever + criar e, no ecrã de revisão, selecione Criar para criar o cluster do Azure Cosmos DB para PostgreSQL.
Conectar-se ao banco de dados usando psql no Azure Cloud Shell
Depois que o cluster do Azure Cosmos DB para PostgreSQL for criado, navegue até o recurso no portal do Azure.
Na navegação, em Configurações, selecione Cadeias de conexão. Copie a cadeia de conexão rotulada psql.
Abra o Azure Cloud Shell em um navegador da Web.
Selecione Bash.
Se solicitado, selecione a assinatura usada para sua conta do Azure Cosmos DB para PostgreSQL e selecione Criar armazenamento.
Agora, use o utilitário de linha de comando psql para se conectar ao Azure Cosmos DB para PostgreSQL. Copie a cadeia de conexão da Etapa 2 e cole-a no Cloud Shell. Atualize a parte da cadeia de conexão para usar a
password
configuração de senha ao criar o cluster do Azure Cosmos DB para PostgreSQL. Em seguida, execute o comando.
Criar tabelas
Uma vez que a conta é criada, as tabelas podem ser adicionadas. Use psql
no Azure Cloud Shell para interagir com o banco de dados.
Criar tabelas locais
Tabelas locais, tabelas de referência e tabelas de distribuição começam como uma tabela local no nó coordenador.
O código abaixo cria as event_types
tabelas , , payment_events
payment_users
e com payment_merchants
suas relações tradicionais de chave primária. As chaves estrangeiras para as tabelas distribuídas serão adicionadas mais tarde.
CREATE TABLE event_types
(
event_type_id bigint PRIMARY KEY,
event_type text
);
CREATE TABLE payment_users
(
user_id bigint,
url text,
login text,
avatar_url text
);
CREATE TABLE payment_merchants
(
merchant_id bigint PRIMARY KEY,
name text,
url text
);
CREATE TABLE payment_events
(
event_id bigint,
user_id bigint,
event_type_id bigint REFERENCES event_types (event_type_id),
merchant_id bigint REFERENCES payment_merchants (merchant_id),
event_details jsonb,
created_at timestamp
) PARTITION BY RANGE (created_at);
Confirme se as tabelas foram criadas e ainda não distribuídas
Confirme se as tabelas foram criadas executando o seguinte comando:
\dt
Este resultado da consulta deve mostrar quatro linhas, uma linha para cada uma das tabelas.
List of relations Schema | Name | Type | Owner --------+-------------------+-------------------+------- public | event_types | table | citus public | payment_events | partitioned table | citus public | payment_merchants | table | citus public | payment_users | table | citus
Use o
citus_tables
modo de exibição para garantir que essas tabelas recém-criadas ainda não sejam distribuídas. Execute a seguinte consulta:SELECT * FROM citus_tables;
Os resultados desta consulta devem mostrar zero linhas.
Agora que essas tabelas foram criadas, vamos examinar a escolha de colunas de distribuição para as tabelas que queremos distribuir.