Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Azure Cosmos DB for PostgreSQL wordt niet meer ondersteund voor nieuwe projecten. Gebruik deze service niet voor nieuwe projecten. Gebruik in plaats daarvan een van deze twee services:
Gebruik Azure Cosmos DB voor NoSQL voor een gedistribueerde databaseoplossing die is ontworpen voor grootschalige scenario's met% een SLA (Availability Service Level Agreement), directe automatische schaalaanpassing en automatische failover in meerdere regio's.
Gebruik de functie Elastische clusters van Azure Database For PostgreSQL voor sharded PostgreSQL met behulp van de opensource Citus-extensie.
Vereisten
Als u deze quickstart wilt volgen, moet u eerst het volgende doen:
- Maak een cluster in Azure Portal.
- Maak verbinding met het cluster met psql om SQL-opdrachten uit te voeren.
- Tabellen maken en distribueren met onze voorbeeldgegevensset.
Gedistribueerde query's
Nu is het tijd voor het leuke deel van onze quickstartserie: het uitvoeren van query's.
Laten we beginnen met een eenvoudige count (*) om te controleren hoeveel gegevens we in de vorige sectie hebben geladen.
-- count all rows (across shards)
SELECT count(*) FROM github_users;
count
--------
264308
(1 row)
Zoals u weet, is dit een gedistribueerde tabel, wat betekent dat github_users de gegevens worden verdeeld tussen meerdere shards. Azure Cosmos DB for PostgreSQL voert automatisch de telling uit op alle shards parallel en combineert de resultaten.
Laten we nog enkele queryvoorbeelden bekijken:
-- 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)
Complexere queries
Hier volgt een voorbeeld van een complexere query, waarmee uurstatistieken worden opgehaald voor pushgebeurtenissen op GitHub. De JSONB-functie van PostgreSQL wordt gebruikt om semi-gestructureerde gegevens te verwerken.
-- 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)
Azure Cosmos DB for PostgreSQL combineert de kracht van SQL- en NoSQL-gegevensarchieven met gestructureerde en semi-gestructureerde gegevens.
Naast het uitvoeren van query's past Azure Cosmos DB for PostgreSQL ook gegevensdefinitiewijzigingen toe in de shards van een gedistribueerde tabel:
-- DDL commands that are also parallelized
ALTER TABLE github_users ADD COLUMN dummy_column integer;
Volgende stappen
U hebt met succes een schaalbaar cluster gemaakt, tabellen gemaakt, gedistribueerd en gegevens geladen, en gedistribueerde query's uitgevoerd.
U bent nu klaar om toepassingen te bouwen met Azure Cosmos DB for PostgreSQL.