Ketersediaan tinggi di Azure Database for PostgreSQL – Server Tunggal

BERLAKU UNTUK: Azure Database for PostgreSQL - Server Tunggal

Penting

Azure Database for PostgreSQL - Server Tunggal berada di jalur penghentian. Kami sangat menyarankan Agar Anda meningkatkan ke Azure Database for PostgreSQL - Server Fleksibel. Untuk informasi selengkapnya tentang migrasi ke Azure Database for PostgreSQL - Server Fleksibel, lihat Apa yang terjadi pada Server Tunggal Azure Database for PostgreSQL?.

Layanan Azure Database for PostgreSQL – Server Tunggal memberikan jaminan ketersediaan tingkat tinggi dengan perjanjian tingkat layanan (SLA) yang didukung secara finansial untuk waktu aktif. Azure Database for PostgreSQL menyediakan ketersediaan tinggi selama peristiwa yang direncanakan seperti operasi komputasi skala yang diinisiasi pengguna, dan juga ketika peristiwa yang tidak direncanakan seperti kegagalan perangkat keras, perangkat lunak, atau jaringan yang mendasarinya terjadi. Azure Database for PostgreSQL dapat dengan cepat pulih dari keadaan paling penting, memastikan hampir tidak ada waktu henti aplikasi saat menggunakan layanan ini.

Azure Database for PostgreSQL cocok untuk menjalankan database misi penting yang memerlukan waktu aktif tinggi. Dibangun di arsitektur Azure, layanan ini memiliki kemampuan ketersediaan tinggi, redundansi, dan ketahanan yang melekat untuk mengurangi waktu henti database dari penghentian yang direncanakan dan tidak direncanakan, tanpa mengharuskan Anda untuk mengonfigurasi komponen tambahan apa pun.

Komponen di Azure Database for PostgreSQL – Server Tunggal

Komponen Keterangan
PostgreSQL Database Server Azure Database for PostgreSQL menyediakan keamanan, isolasi, perlindungan sumber daya, dan kemampuan mulai ulang cepat untuk server database. Kemampuan ini memfasilitasi operasi seperti operasi penskalaan dan pemulihan server database setelah penghentian terjadi dalam beberapa detik.
Modifikasi data di server database biasanya terjadi dalam konteks transaksi database. Semua perubahan database direkam secara sinkron dalam bentuk log write-ahead (WAL) di Azure Storage – yang dilampirkan ke server database. Selama proses titik pemeriksaan database, halaman data dari memori server database juga dikirim ke penyimpanan.
Penyimpanan Jarak Jauh Semua file data fisik PostgreSQL dan file WAL disimpan di Azure Storage, yang dirancang untuk menyimpan tiga salinan data dalam suatu wilayah untuk memastikan redundansi, ketersediaan, dan keandalan data. Lapisan penyimpanan juga independen dari server database. Lapisan ini dapat dicopot dari server database yang gagal dan dipasang kembali ke server database baru dalam beberapa detik. Selain itu, Microsoft Azure Storage terus memantau kesalahan penyimpanan apa pun. Jika terdeteksi, kerusakan blok secara otomatis diperbaiki dengan menginstansiasi salinan penyimpanan baru.
Gateway Gateway bertindak sebagai proksi database dan merutekan semua koneksi klien ke server database.

Mitigasi waktu henti terencana

Azure Database for PostgreSQL dirancang untuk memberikan ketersediaan tinggi selama operasi waktu henti yang direncanakan.

Cuplikan layar Penskalaan Elastis di Azure PostgreSQL.

  1. Tingkatkan dan turunkan server database PostgreSQL dalam hitungan detik.
  2. Gateway yang bertindak sebagai proksi untuk merutekan klien tersambung ke server database yang tepat.
  3. Penskalaan penyimpanan dapat dilakukan tanpa waktu henti. Penyimpanan jarak jauh memungkinkan penghapusan/pemasangan ulang cepat setelah kegagalan. Berikut adalah beberapa skenario pemeliharaan yang direncanakan:
Skenario Keterangan
Skala komputasi naik/turun Ketika pengguna melakukan operasi peningkatan/penurunan skala komputasi, server database baru disediakan menggunakan konfigurasi komputasi yang diskalakan. Di server database lama, titik pemeriksaan aktif diizinkan untuk diselesaikan, koneksi klien dikosongkan, setiap transaksi yang tidak dilakukan dibatalkan, dan kemudian dimatikan. Penyimpanan kemudian dicopot dari server database lama dan dilampirkan ke server database baru. Ketika aplikasi klien mencoba kembali koneksi, atau mencoba membuat koneksi baru, Gateway akan mengarahkan permintaan koneksi ke server database baru.
Meningkatkan skala penyimpanan Peningkatan skala penyimpanan adalah operasi online dan tidak mengganggu server database.
Penyebaran Perangkat Lunak Baru (Azure) Peluncuran fitur baru atau perbaikan bug akan otomatis terjadi sebagai bagian dari pemeliharaan terencana layanan. Untuk informasi selengkapnya, lihat dokumentasi, dan periksa juga portal Anda.
Peningkatan versi minor Azure Database for PostgreSQL secara otomatis melakukan patching server database ke versi minor yang ditentukan oleh Azure. Proses ini terjadi sebagai bagian dari pemeliharaan yang direncanakan layanan. Ini akan dikenakan waktu henti singkat dalam hal detik, dan server database secara otomatis dimulai ulang dengan versi minor baru. Untuk informasi selengkapnya, lihat dokumentasi, dan periksa juga portal Anda.

Mitigasi waktu henti tidak terencana

Waktu henti tidak terencana dapat terjadi sebagai akibat dari kegagalan yang tidak terduga, termasuk kesalahan perangkat keras dasar, masalah jaringan, dan bug perangkat lunak. Jika server database tidak berfungsi secara tiba-tiba, server database baru akan otomatis disediakan dalam hitungan detik. Penyimpanan jarak jauh secara otomatis dilampirkan ke server database baru. Mesin PostgreSQL melakukan operasi pemulihan menggunakan WAL dan file database, dan membuka server database untuk memungkinkan klien terhubung. Transaksi yang tidak terikat hilang, dan harus dicoba ulang oleh aplikasi. Meskipun waktu henti yang tidak direncanakan tidak dapat dihindari, Azure Database for PostgreSQL mengurangi waktu henti dengan secara otomatis melakukan operasi pemulihan di server database dan lapisan penyimpanan tanpa memerlukan intervensi manusia.

Cuplikan layar Ketersediaan Tinggi di Azure PostgreSQL.

  1. Server Azure PostgreSQL dengan kemampuan penskalaan cepat.
  2. Gateway yang bertindak sebagai proksi untuk merutekan koneksi klien ke server database yang tepat.
  3. Penyimpanan Azure dengan tiga salinan untuk keandalan, ketersediaan, dan redundansi.
  4. Penyimpanan jarak jauh memungkinkan penghapusan/pemasangan ulang cepat setelah kegagalan server.

Waktu henti yang tidak dienkripsi: Skenario kegagalan dan pemulihan layanan

Berikut adalah beberapa skenario kegagalan dan bagaimana Azure Database for PostgreSQL secara otomatis pulih:

Skenario Pemulihan otomatis
Kegagalan server database Jika server database mati karena beberapa kesalahan perangkat keras yang mendasarinya, koneksi aktif dijatuhkan, dan setiap transaksi dalam pesawat dibatalkan. Server database baru akan otomatis disebarkan, dan penyimpanan data jarak jauh akan dilampirkan ke server database baru. Setelah pemulihan database selesai, klien bisa tersambung ke server database baru melalui Gateway.

Waktu pemulihan (RTO) tergantung pada berbagai faktor termasuk aktivitas pada saat kesalahan seperti transaksi besar dan jumlah pemulihan yang akan dilakukan selama proses startup server database.

Aplikasi yang menggunakan database PostgreSQL perlu dibangun dengan cara yang mereka deteksi dan coba lagi koneksi yang dijatuhkan dan transaksi yang gagal. Ketika aplikasi dicoba kembali, Gateway secara transparan mengalihkan koneksi ke server database yang baru dibuat.
Kegagalan penyimpanan Aplikasi tidak melihat dampak apa pun untuk masalah terkait penyimpanan seperti kegagalan disk atau kerusakan blok fisik. Karena data disimpan dalam tiga salinan, salinan data dilayani oleh penyimpanan yang masih ada. Kerusakan blok akan otomatis diperbaiki. Jika salinan data hilang, salinan data baru akan dibuat secara otomatis.
Kegagalan komputasi Kegagalan komputasi adalah peristiwa langka. Jika terjadi kegagalan komputasi, kontainer komputasi baru disediakan dan penyimpanan dengan file data dipetakan ke dalamnya, mesin database PostgreSQL kemudian dibawa online pada layanan kontainer dan gateway baru memastikan failover transparan tanpa perlu perubahan aplikasi. Harap dicatat juga bahwa lapisan komputasi telah dibangun dalam ketahanan Zona Ketersediaan dan komputasi baru dipisahkan di zona Ketersediaan yang berbeda jika terjadi kegagalan komputasi AZ.

Berikut adalah beberapa skenario kegagalan yang pemulihannya memerlukan tindakan pengguna:

Skenario Rencana pemulihan
Kegagalan wilayah Kegagalan suatu wilayah adalah peristiwa langka. Namun, jika memerlukan perlindungan terhadap kegagalan wilayah, Anda dapat mengonfigurasi satu atau beberapa replika baca di wilayah lain untuk pemulihan bencana (DR). (Untuk informasi detailnya, lihat artikel ini yang membahas tentang cara membuat dan mengelola replika baca). Jika terjadi kegagalan tingkat wilayah, Anda dapat secara manual mempromosikan replika baca yang dikonfigurasi di wilayah lain agar menjadi server database produksi Anda.
Kegagalan zona ketersediaan Kegagalan zona Ketersediaan juga merupakan peristiwa langka. Namun, jika Anda memerlukan perlindungan dari kegagalan Zona ketersediaan, Anda dapat mengonfigurasi satu atau beberapa replika baca atau mempertimbangkan untuk menggunakan penawaran Server Fleksibel kami yang menyediakan ketersediaan tinggi zona-redundan.
Kesalahan logika/pengguna Pemulihan dari kesalahan pengguna, seperti tabel yang dijatuhkan secara tidak sengaja atau data yang salah diperbarui, melibatkan operasi pemulihan point-in-time (PITR), dengan memulihkan dan memulihkan data hingga waktu tepat sebelum kesalahan terjadi.

Jika Anda hanya ingin memulihkan subset database atau tabel tertentu daripada semua database di server database, Anda dapat memulihkan server database dalam instans baru, mengekspor tabel melalui pg_dump, lalu menggunakan pg_restore untuk memulihkan tabel tersebut ke database Anda.

Ringkasan

Azure Database for PostgreSQL menyediakan kemampuan hidupkan ulang cepat dari server database, penyimpanan redundan, dan perutean yang efisien dari Gateway. Untuk perlindungan data tambahan, Anda dapat mengonfigurasi cadangan untuk direplikasi secara geografis, dan juga menyebarkan satu atau beberapa replika baca di wilayah lain. Dengan kemampuan ketersediaan tinggi yang melekat, Azure Database for PostgreSQL melindungi database Anda dari penghentian paling umum, dan menawarkan SLA uptime sebesar 99,99% didukung oleh industri terkemuka dan didukung keuangan. Semua kemampuan ketersediaan dan keandalan ini menjadikan Azure sebagai platform yang ideal untuk menjalankan aplikasi misi penting Anda.

Langkah berikutnya