PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi · Pelajaran

Replikasi Segerak berbanding Tak Segerak

Fahami pertukaran antara ketahanan dan kependaman bagi replikasi fizikal segerak dan tak segerak dalam PostgreSQL.

Pelajaran 4 daripada 413 langkah

Replikasi Segerak berbanding Tak Segerak ialah pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi merangkumi sejumlah 4 pelajaran.

Dua Mod Penstriman

Replikasi penstriman fizikal boleh berjalan dalam dua mod: tak segerak (lalai) dan segerak. Perbezaannya ialah masa pelayan utama menganggap COMMIT telah selesai.

Replikasi Tak Segerak

Dalam mod tak segerak, pelayan utama melakukan COMMIT sebaik sahaja WAL dikosongkan secara setempat. Ia tidak menunggu pelayan siap sedia. Kaedah ini pantas, tetapi ranap boleh menyebabkan COMMIT terkini yang belum dihantar hilang.

Replikasi Segerak

Dalam mod segerak, pelayan utama menunggu sehingga sekurang-kurangnya satu pelayan siap sedia mengesahkan bahawa ia telah menerima (atau menggunakan) WAL sebelum melaporkan kejayaan COMMIT. Ini menjamin tiada kehilangan data bagi COMMIT yang disahkan, dengan kos kependaman tambahan.

Mengkonfigurasi Pelayan Siap Sedia Segerak

Namakan pelayan siap sedia anda dengan application_name dan senaraikannya dalam synchronous_standby_names pada pelayan utama.

-- on the primary, in postgresql.conf
synchronous_standby_names = 'standby1, standby2';

Penyegerakan Berasaskan Kuorum

Anda boleh mewajibkan mana-mana N daripada beberapa pelayan siap sedia untuk mengesahkan, sambil mengimbangi ketahanan dan ketersediaan.

synchronous_standby_names = 'ANY 1 (standby1, standby2)';

Tahap synchronous_commit

Tetapan synchronous_commit mengawal sejauh mana COMMIT mesti bergerak:

  • off / local — setempat sahaja
  • remote_write — pelayan siap sedia menerima WAL
  • on — pelayan siap sedia mengosongkan WAL ke cakera
  • remote_apply — pelayan siap sedia menggunakan WAL (kelihatan pada replika)

Kawalan Setiap Transaksi

Tetapan ini boleh diubah bagi setiap transaksi, supaya penulisan yang tidak penting berjalan pantas manakala penulisan kritikal menunggu pengesahan.

SET synchronous_commit = 'remote_apply';
INSERT INTO payments (amount) VALUES (100);

Risiko Ketersediaan Penyegerakan

Jika satu-satunya pelayan siap sedia segerak terhenti, COMMIT pada pelayan utama akan tersekat sehingga pelayan siap sedia kembali. Sentiasa padankan replikasi segerak dengan beberapa calon atau tetapan kuorum.

Menyemak Keadaan Replikasi

Periksa keadaan langsung daripada pelayan utama menggunakan pg_stat_replication.

SELECT application_name, state, sync_state
FROM pg_stat_replication;

Memilih Mod

Gunakan tak segerak untuk daya pemprosesan dan replika yang jauh dari segi geografi. Gunakan segerak apabila kehilangan walaupun satu transaksi yang telah dilakukan COMMIT tidak boleh diterima, seperti dalam lejar kewangan.

Realiti Kependaman

Kependaman COMMIT segerak kira-kira sama dengan perjalanan pergi balik rangkaian ke pelayan siap sedia ditambah masa fsyncnya. Memastikan pelayan siap sedia segerak menggunakan pautan berkependaman rendah adalah penting.

Semakan Pantas

Apakah pertukaran utama bagi replikasi segerak?

Ringkasan

Anda telah membandingkan replikasi tak segerak dan segerak, mengkonfigurasi tahap synchronous_standby_names dan synchronous_commit, serta mempelajari pertukaran antara ketahanan, kependaman dan ketersediaan.

Percuma untuk bermula

Pelajari PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
11
Pelajaran
44

Soalan Lazim

Adakah pelajaran “Replikasi Segerak berbanding Tak Segerak” percuma?

Ya — teks penuh “Replikasi Segerak berbanding Tak Segerak” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi, tingkat taraf kepada CoddyKit PRO. Kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Replikasi Segerak berbanding Tak Segerak”?

Fahami pertukaran antara ketahanan dan kependaman bagi replikasi fizikal segerak dan tak segerak dalam PostgreSQL. Anda berlatih PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi?

Tiada pengalaman terdahulu diperlukan. Pembelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Replikasi Segerak berbanding Tak Segerak” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi ini?

Ya. Setiap pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Memahami Konsep Replikasi
  2. Replikasi Fizikal (Penstriman)
  3. Menyediakan Pelayan Siap Sedia
  4. Replikasi Segerak berbanding Tak Segerak
← Kembali ke PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi