Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Az Azure Cosmos DB for PostgreSQL már nem támogatott új projektek esetén. Ne használja ezt a szolgáltatást új projektekhez. Ehelyett használja az alábbi két szolgáltatás egyikét:
Az Azure Cosmos DB for NoSQL használata nagy léptékű forgatókönyvekhez tervezett elosztott adatbázis-megoldáshoz 99,999% rendelkezésre állási szolgáltatásiszint-szerződéssel (SLA), azonnali automatikus skálázással és automatikus feladatátvétellel több régióban.
Használja az Azure Database For PostgreSQL Rugalmas fürtök funkcióját a megosztott PostgreSQL-hez a nyílt forráskódú Citus-bővítmény használatával.
Előfeltételek
A rövid útmutató követéséhez először a következőket kell elvégeznie:
- Hozzon létre egy fürtöt az Azure Portalon.
- Csatlakozzon a fürthöz a psql használatával SQL-parancsok futtatásához.
- Táblák létrehozása és terjesztése példaadatkészletünkkel.
Elosztott lekérdezések
Most itt az ideje a szórakoztató résznek a gyorsindítási sorozatunkban: a lekérdezések futtatása.
Kezdjük egy egyszerű count (*) ellenőrzéssel, hogy mennyi adatot töltöttünk be az előző szakaszban.
-- count all rows (across shards)
SELECT count(*) FROM github_users;
count
--------
264308
(1 row)
Ne feledje, hogy github_users ez egy elosztott tábla, ami azt jelenti, hogy az adatok több szegmens között vannak elosztva. Az Azure Cosmos DB for PostgreSQL automatikusan futtatja az összes szegmens számát párhuzamosan, és egyesíti az eredményeket.
Tekintsünk tovább néhány további lekérdezési példát:
-- 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)
Bonyolultabb lekérdezések
Íme egy példa egy bonyolultabb lekérdezésre, amely a GitHubon található push események óránkénti statisztikáit lekéri. A PostgreSQL JSONB-funkcióját használja a félig strukturált adatok kezelésére.
-- 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)
Az Azure Cosmos DB for PostgreSQL egyesíti az SQL és a NoSQL-adattárak erejét strukturált és félig strukturált adatokkal.
A lekérdezések futtatása mellett az Azure Cosmos DB for PostgreSQL adatdefiníciós módosításokat is alkalmaz az elosztott tábla szegmenseiben:
-- DDL commands that are also parallelized
ALTER TABLE github_users ADD COLUMN dummy_column integer;
Következő lépések
Sikeresen létrehozott egy méretezhető fürtöt, táblákat hozott létre, elosztotta őket, betöltötte az adatokat, és elosztott lekérdezéseket futtatott.
Most már készen áll arra, hogy megtanuljon alkalmazásokat készíteni az Azure Cosmos DB for PostgreSQL-hez.