Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Azure Cosmos DB for PostgreSQL tidak lagi didukung untuk proyek baru. Jangan gunakan layanan ini untuk proyek baru. Sebagai gantinya, gunakan salah satu dari dua layanan ini:
Gunakan Azure Cosmos DB for NoSQL untuk solusi database terdistribusi yang dirancang untuk skenario skala tinggi dengan perjanjian tingkat layanan ketersediaan (SLA) 99,999%, skala otomatis instan, dan failover otomatis di beberapa wilayah.
Gunakan fitur Elastic Clusters dari Azure Database For PostgreSQL untuk PostgreSQL yang dipecah menggunakan ekstensi Citus sumber terbuka.
Prasyarat
Untuk mengikuti panduan memulai ini, Anda harus terlebih dahulu:
- Buat kluster di portal Azure.
- Sambungkan ke kluster dengan psql untuk menjalankan perintah SQL.
- Membuat dan mendistribusikan tabel dengan contoh himpunan data kami.
Kueri terdistribusi
Sekarang saatnya untuk bagian yang menyenangkan dalam seri pemula cepat kami--menjalankan query.
Mari kita mulai dengan count (*) sederhana untuk memverifikasi berapa banyak data yang kita muat di bagian sebelumnya.
-- count all rows (across shards)
SELECT count(*) FROM github_users;
count
--------
264308
(1 row)
Ingat bahwa github_users adalah tabel terdistribusi, yang berarti datanya terbagi antara beberapa shard. Azure Cosmos DB for PostgreSQL secara otomatis menjalankan hitungan pada semua pecahan secara paralel, dan menggabungkan hasilnya.
Mari kita lanjutkan melihat beberapa contoh kueri lainnya:
-- 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)
Kueri yang lebih rumit
Berikut adalah contoh kueri yang lebih rumit, yang mengambil statistik per jam untuk peristiwa push di GitHub. Ini menggunakan fitur JSONB PostgreSQL untuk menangani data semi-terstruktur.
-- 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 menggabungkan kekuatan datastore SQL dan NoSQL dengan data terstruktur dan semi terstruktur.
Selain menjalankan kueri, Azure Cosmos DB for PostgreSQL juga menerapkan perubahan definisi data di seluruh pecahan tabel terdistribusi:
-- DDL commands that are also parallelized
ALTER TABLE github_users ADD COLUMN dummy_column integer;
Langkah berikutnya
Anda berhasil membuat kluster yang dapat diskalakan, membuat tabel, mendistribusikannya, memuat data, dan menjalankan kueri terdistribusi.
Sekarang Anda siap untuk belajar membangun aplikasi dengan Azure Cosmos DB for PostgreSQL.