Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
O Azure Cosmos DB for PostgreSQL não tem mais suporte para novos projetos. Não use esse serviço nos novos projetos. Em vez disso, use um destes dois serviços:
Use o Azure Cosmos DB for NoSQL em uma solução de banco de dados distribuída projetada para cenários de alta escala com um contrato de nível de serviço de disponibilidade (SLA) de 99,999%, dimensionamento automático instantâneo e failover automático em várias regiões.
Use o Recurso Clusters Elásticos do Banco de Dados do Azure para PostgreSQL no PostgreSQL compartilhado usando a extensão de código aberto Citus.
Pré-requisitos
Para seguir este início rápido, primeiro você precisará:
- Criar um cluster no Portal do Azure.
- Conectar-se ao cluster com psql para executar comandos SQL.
- Criar e distribuir tabelas com o conjunto de dados de exemplo.
Consultas distribuídas
Agora é hora da parte divertida da série de guias de início rápido - Executar consultas.
Vamos começar com um count (*) simples para verificar quantos dados carregamos na seção anterior.
-- count all rows (across shards)
SELECT count(*) FROM github_users;
count
--------
264308
(1 row)
Lembre-se de que github_users é uma tabela distribuída, o que significa que os dados são divididos entre vários fragmentos. O Azure Cosmos DB for PostgreSQL executa a contagem em todos os fragmentos automaticamente e em paralelo e combina os resultados.
Vamos continuar analisando mais alguns exemplos de consulta.
-- Find all events for a single user.
-- (A common transactional/operational query)
SELECT created_at, event_type, repo->>'name' AS repo_name
FROM github_events
WHERE user_id = 3861633;
created_at | event_type | repo_name
---------------------+--------------+--------------------------------------
2016-12-01 06:28:44 | PushEvent | sczhengyabin/Google-Image-Downloader
2016-12-01 06:29:27 | CreateEvent | sczhengyabin/Google-Image-Downloader
2016-12-01 06:36:47 | ReleaseEvent | sczhengyabin/Google-Image-Downloader
2016-12-01 06:42:35 | WatchEvent | sczhengyabin/Google-Image-Downloader
2016-12-01 07:45:58 | IssuesEvent | sczhengyabin/Google-Image-Downloader
(5 rows)
Consultas mais complicadas
Veja um exemplo de uma consulta mais complicada, que recupera estatísticas por hora de eventos de push do GitHub. Ele usa o recurso JSONB do PostgreSQL para processar dados semiestruturados.
-- Querying JSONB type. Query is parallelized across nodes.
-- Find the number of commits on the default branch per hour
SELECT date_trunc('hour', created_at) AS hour,
sum((payload->>'distinct_size')::int) AS num_commits
FROM github_events
WHERE event_type = 'PushEvent' AND
payload @> '{"ref":"refs/heads/master"}'
GROUP BY hour
ORDER BY hour;
hour | num_commits
---------------------+-------------
2016-12-01 05:00:00 | 13051
2016-12-01 06:00:00 | 43480
2016-12-01 07:00:00 | 34254
2016-12-01 08:00:00 | 29307
(4 rows)
O Azure Cosmos DB for PostgreSQL combina o poder dos armazenamentos de dados SQL e NoSQL com dados estruturados e semiestruturados.
Além de executar consultas, o Azure Cosmos DB for PostgreSQL também aplica alterações de definição de dados nos fragmentos de uma tabela distribuída:
-- DDL commands that are also parallelized
ALTER TABLE github_users ADD COLUMN dummy_column integer;
Próximas etapas
Você criou um cluster escalonável, criou tabelas, distribuiu essas tabelas, carregou dados e executou consultas distribuídas.
Agora, você está pronto para aprender a criar aplicativos com o Azure Cosmos DB for PostgreSQL.