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.
Filter umum sebagai kunci pembagian (shard)
Untuk memilih kunci serpihan untuk aplikasi transaksi berkecepatan tinggi, ikuti panduan-panduan ini:
- Pilih kolom yang digunakan untuk pencarian titik dan ada di sebagian besar operasi buat, baca, perbarui, dan hapus.
- Pilih kolom yang merupakan dimensi alami dalam data, atau bagian utama dari aplikasi. Misalnya:
- Dalam beban kerja IOT,
device_idadalah kolom distribusi yang baik.
- Dalam beban kerja IOT,
Pemilihan kunci shard yang baik membantu mengoptimalkan lompatan jaringan, sambil memanfaatkan sumber daya memori dan pemrosesan untuk mencapai latensi milidetik.
Model data optimal untuk aplikasi throughput tinggi
Di bawah ini adalah contoh model data sampel untuk aplikasi IoT yang mengambil telemetri (data deret waktu) dari perangkat. Ada dua tabel untuk menangkap telemetri: devices dan events. Mungkin ada tabel lain, tetapi tidak tercakup dalam contoh ini.
Saat membangun aplikasi berperforma tinggi, pertimbangkan beberapa optimasi.
- Distribusikan tabel besar pada kolom umum yang merupakan bagian utama aplikasi, dan kolom yang sebagian besar dikueri aplikasi Anda. Dalam contoh aplikasi IoT di atas,
device_idadalah kolom tersebut, dan kolom tersebut menempatkan bersama tabel kejadian dan perangkat. - Tabel kecil lainnya dapat menjadi tabel referensi.
- Karena aplikasi IOT memiliki dimensi waktu, partisi tabel terdistribusi Anda berdasarkan waktu. Anda dapat menggunakan kemampuan rangkaian waktu Azure Cosmos DB for PostgreSQL asli untuk membuat dan memelihara partisi.
- Pemartisian data membantu memfilter data secara efisien untuk kueri dengan filter waktu.
- Menghapuskan data lama juga cepat, menggunakan perintah DROP dibandingkan dengan DELETE.
- Tabel kejadian dalam contoh kami dipartisi berdasarkan bulan.
- Gunakan jenis data JSONB untuk menyimpan data semi terstruktur. Data telemetri perangkat biasanya tidak terstruktur, setiap perangkat memiliki metriknya sendiri.
- Dalam contoh kami, tabel kejadian memiliki kolom
detail, yaitu JSONB.
- Dalam contoh kami, tabel kejadian memiliki kolom
- Jika aplikasi IoT Anda memerlukan fitur geospasial, Anda dapat menggunakan ekstensi PostGIS, yang didukung Oleh Azure Cosmos DB for PostgreSQL secara asli.
Langkah berikutnya
Sekarang kita telah selesai mempelajari pemodelan data untuk aplikasi yang dapat diskalakan. Langkah selanjutnya adalah menyambungkan dan mengkueri database dengan bahasa pemrograman pilihan Anda.