Tentang replikasi di Cloud SQL

Replikasi adalah kemampuan untuk membuat salinan instance Cloud SQL dan mengalihkan tugas ke salinan tersebut.

Pengantar

Alasan utama menggunakan replikasi adalah untuk menskalakan penggunaan data dalam database tanpa menurunkan performa.

Alasan lain untuk replikasi termasuk memigrasikan data antar-region.

Selain itu, jika instance asli rusak, replika dapat dipromosikan ke instance mandiri (dalam hal ini, replika yang ada tidak akan menganggap instance tersebut sebagai yang utama).

Saat merujuk ke instance Cloud SQL, instance yang direplikasi disebut instance utama dan salinannya disebut replika baca. Semua replika baca dan instance utama berada di Cloud SQL.

Saat replika pertama sudah dibuat:

  • Instance utama disetel ke model pemulihan penuh untuk semua database di instance utama.
  • Disk sementara akan dibuat, lalu pencadangan penuh akan diambil dan disimpan di disk sementara. Disk sementara akan dihapus setelah proses pembuatan replika selesai.

Jika dalam jangka waktu pembuatan replika pertama, pengguna beralih ke model pemulihan sederhana, pembuatan replika akan gagal.

Hal berikut berlaku untuk database yang ditambahkan ke instance setelah replika dibuat:

  • Database ditambahkan ke grup ketersediaan secara otomatis dan diisi dalam replika menggunakan penyebaran otomatis.
  • Setiap pembuatan replika meminta pencadangan penuh (model pemulihan penuh) dari database pada instance utama. Login dan objek server yang dibuat setelah pembuatan replika tidak direplikasi.

Cloud SQL mendukung jenis replika berikut:

Dengan menggunakan pemaksaan konektor, Anda dapat mewajibkan penggunaan hanya Proxy Auth Cloud SQL atau Cloud SQL Language Connectors untuk terhubung ke instance Cloud SQL. Dengan penerapan konektor, Cloud SQL akan menolak koneksi langsung ke database. Anda tidak dapat membuat replika baca untuk instance yang mengaktifkan penerapan konektor. Demikian pula, jika instance memiliki replika baca, Anda tidak dapat mengaktifkan penerapan konektor untuk instance tersebut.

Cloud SQL tidak mendukung replikasi antara dua server eksternal.

Replika baca

Anda dapat menggunakan replika baca untuk mengalihkan tugas dari instance Cloud SQL. Replika baca adalah salinan tepat dari instance utama. Data dan perubahan lain pada instance utama diperbarui hampir secara real time pada replika baca.

Replika baca bersifat hanya-baca, Anda tidak dapat menulis apapun di dalamnya. Replika baca memproses kueri, permintaan baca, dan traffic analisis, sehingga mengurangi beban pada instance utama. Anda dapat memiliki hingga 8 replika baca per instance utama.

Anda menghubungkan ke replika secara langsung menggunakan nama koneksi dan alamat IP tersebut. Jika Anda terhubung ke replika menggunakan alamat IP pribadi, Anda tidak perlu membuat koneksi pribadi VPC tambahan untuk replika tersebut karena koneksi tersebut sudah diberikan oleh instance utama.

Untuk informasi lebih lanjut tentang cara membuat replika baca, lihat Membuat replika baca. Untuk informasi lebih lanjut tentang cara mengelola replika baca, lihat Mengelola replika baca.

Sebagai praktik terbaik, letakkan replika baca di zona yang berbeda dengan instance utama saat Anda menggunakan HA pada instance utama. Praktik ini memastikan bahwa replika baca terus beroperasi saat zona yang berisi instance utama mengalami pemadaman. Lihat Ringkasan ketersediaan tinggi untuk informasi lebih lanjut.

Memilih jenis mesin yang sesuai

Replika baca dapat memiliki jenis mesin yang berbeda dari yang utama. Anda harus memantau metrik pada instance seperti penggunaan memori dan CPU untuk memastikan bahwa instance replika berukuran tepat sesuai beban kerjanya, terutama apabila ukurannya lebih kecil daripada instance utama. Instance replika yang berukuran kecil lebih rentan terhadap performa buruk, seperti peristiwa kehabisan memori (OOM) yang sering terjadi.

Replika baca lintas region

Replikasi lintas region memungkinkan Anda membuat replika baca di region yang berbeda dari instance utama. Anda membuat replika baca lintas region dengan cara yang sama seperti saat Anda membuat replika dalam region.

Dalam kasus replika baca Server SQL, diasumsikan bahwa replika berada di jaringan virtual yang sama seperti replika utama, atau bahwa mereka berkomunikasi menggunakan IP Publik.

Replika lintas region:

  • Tingkatkan performa baca dengan membuat replika tersedia lebih dekat dengan region aplikasi Anda.
  • Menyediakan kemampuan pemulihan dari bencana tambahan untuk mencegah kegagalan regional.
  • Memungkinkan Anda memigrasikan data dari satu region ke region lainnya.

Lihat Mempromosikan replika untuk migrasi regional atau pemulihan dari bencana untuk informasi lebih lanjut tentang replika lintas region.

Replika baca bertingkat

Replikasi bertingkat memungkinkan Anda membuat replika baca di bawah replika baca lain di region yang sama atau berbeda. Replika berurutan diterapkan menggunakan grup ketersediaan terdistribusi. Beberapa kasus penggunaan untuk replika bertingkat adalah sebagai berikut:

  • Pemulihan dari bencana (disaster recovery): Anda dapat menggunakan hierarki bertingkat replika baca untuk menyimulasikan topologi instance utama Anda dan replika bacanya. Selama pemadaman, replika baca yang Anda pilih akan dipromosikan menjadi replika baca utama dan replika baca di bawah replika baca utama yang baru akan terus direplikasi dan siap digunakan. Primary lama menjadi sekunder dari primary baru saat tersedia, dan Anda dapat beralih kembali ke primary lama setelah pulih menggunakan pengalihan. Untuk informasi selengkapnya tentang penggunaan replika beruntun untuk pemulihan dari bencana, lihat Tentang pemulihan dari bencana.
  • Peningkatan performa: Mengurangi beban pada instance utama dengan mengurangi beban tugas replikasi ke beberapa replika baca.
  • Menskalakan operasi baca: Anda dapat memiliki lebih banyak replika untuk membagikan beban baca.
  • Pengurangan biaya: Menggunakan satu replika bertingkat dengan replikasi lintas region di region lain dapat mengurangi biaya jaringan Anda.

Terminologi

  • Replika yang dapat disusun secara bertingkat: Replika baca lintas region yang dapat digunakan untuk operasi failover replika dan pengalihan di pemulihan dari bencana (DR) lanjutan dengan Cloud SQL untuk SQL Server.
  • Replika bertingkat: Replika baca yang dapat memiliki replikanya sendiri.
  • Level: Anda dapat membuat level replika dalam hierarki replika bertingkat. Misalnya, jika Anda menambahkan empat replika ke suatu instance, keempat replika tersebut berada di level yang sama.
  • Instance yang seinduk: Beberapa replika yang mereplikasi dari instance utama yang sama. Instance yang seinduk berada di level yang sama dalam hierarki replika. Sebuah replika secara resmi dapat memiliki hingga delapan instance yang sama.
  • Replika daun: Replika baca yang tidak memiliki replikanya sendiri. Dalam hierarki replikasi multilevel, replika daun berada di level terakhir.
  • Promosi Tindakan yang mengonversi replika, di level apa pun dalam hierarki, menjadi instance utama. Saat dipromosikan, hierarki replika bertingkat replika akan dipertahankan.

Mengonfigurasi replika bertingkat

Replika bertingkat memungkinkan Anda menambahkan replika baca ke replika yang ada. Anda dapat menambahkan hingga empat level replika, termasuk instance utama. Saat Anda mempromosikan replika di bagian atas hierarki replika bertingkat, replika tersebut menjadi instance utama dan replika bertingkatnya terus mereplikasi.

Untuk informasi selengkapnya tentang cara mengonfigurasi grup ketersediaan terdistribusi, lihat Mengonfigurasi grup ketersediaan terdistribusi Selalu Aktif.

Pembatasan

  • Anda tidak dapat menghapus replika yang memiliki replika di bawahnya. Untuk menghapus replika, Anda harus memulai dengan replika daun dan melanjutkan ke atas melalui hierarki.
  • Dependensi region melingkar tidak didukung. Untuk memiliki replika replika bertingkat di region yang sama dengan instance utama, replika bertingkat juga harus berada di region yang sama.
  • Anda harus membuat replika yang dapat disusun bertingkat di region yang berbeda dengan region instance utama. Kemudian, Anda dapat membuat replika bertingkat di region yang sama dengan replika yang dapat dibuat bertingkat.

Kasus penggunaan replikasi

Kasus penggunaan berikut berlaku untuk setiap jenis replikasi.

Nama Kasus penggunaan Replika Manfaat dan kasus penggunaan Informasi selengkapnya
Replika baca Instance Cloud SQL Instance Cloud SQL
  • Kapasitas baca tambahan
  • Target analisis
  • Meningkatkan performa baca
  • Mengekspor dari replika
Replika baca lintas region Instance Cloud SQL Instance Cloud SQL
  • Kapasitas baca tambahan
  • Target analisis
  • Kemampuan pemulihan dari bencana tambahan
  • Meningkatkan performa baca
  • Memigrasikan data antara region
Replikasi SQL Server Instance eksternal untuk Cloud SQL Cloud SQL untuk instance Server SQL
  • Jalur migrasi ke Cloud SQL
  • Replikasi dari server eksternal ke Cloud SQL
  • Replikasi dari Cloud SQL ke server eksternal
  • Replikasi antara instance Cloud SQL
  • Replikasi data ke Google Cloud
  • Target analisis

Penagihan

  • Replika baca dikenakan biaya yang sama seperti instance Cloud SQL standar. Replikasi data tidak dikenai biaya.
  • Harga untuk replika baca lintas region sama dengan pembuatan instance Cloud SQL baru di region tersebut. Lihat Harga instance Cloud SQL dan pilih region yang sesuai. Selain biaya reguler yang terkait dengan instance, replika lintas region akan dikenakan biaya transfer data lintas region untuk log replikasi yang dikirim dari instance utama ke instance replika, seperti yang sudah dijelaskan di Harga Traffic Keluar Jaringan.

Referensi singkat untuk replika baca Cloud SQL

Topik Diskusi
Cadangan Anda tidak dapat mengonfigurasi cadangan pada replika.
Inti dan memori Replika baca dapat menggunakan jumlah inti dan memori yang berbeda dari instance utama.
Menghapus instance utama Sebelum dapat menghapus instance utama, Anda harus mempromosikan semua replika bacanya ke instance mandiri atau menghapus replika baca.
Menghapus replika Saat Anda menghapus replika, status instance utama tersebut tidak akan berpengaruh.
Menghapus database yang direplikasi Anda dapat menghapus database Server SQL yang direplikasi menggunakan konsol Google Cloud atau perintah gcloud, dan penghapusan ini akan otomatis disebarkan ke replika. Anda tidak dapat menghapus database Server SQL yang direplikasi menggunakan perintah T-SQL.
Failover Instance utama hanya dapat melakukan failover ke replika jika replika tersebut adalah replika DR. Replika baca tidak dapat melakukan failover dengan cara apa pun selama pemadaman layanan.
Load balancing Cloud SQL tidak menyediakan load balancing di antara replika.
Masa pemeliharaan Replika baca berbagi masa pemeliharaan dengan instance utama. Replika mengikuti setelan pemeliharaan untuk instance utama, termasuk masa pemeliharaan, penjadwalan ulang, dan periode penolakan pemeliharaan. Selama pemeliharaan, Cloud SQL akan mengupdate semua replika baca terlebih dahulu sebelum mengupdate instance utama.
Beberapa replika baca Anda dapat membuat hingga 8 replika baca untuk satu instance utama.
IP Pribadi Jika Anda terhubung ke replika menggunakan alamat IP pribadi, Anda tidak perlu membuat koneksi pribadi VPC tambahan untuk replika tersebut karena sudah diberikan oleh instance utama.
Memulihkan instance utama Anda tidak dapat memulihkan instance utama sebuah replika saat replika tersebut masih ada. Sebelum memulihkan instance dari cadangan atau menjalankan pemulihan point-in-time pada instance tersebut, Anda harus mengangkat atau menghapus semua replika tersebut.
Setelan Setelan instance utama disebarkan ke replika, termasuk perubahan pada data tentang pengguna yang dapat mengakses instance.
Menghentikan replika Anda tidak dapat melakukan stop pada replika. Anda dapat melakukan restart atau delete, tetapi Anda tidak dapat menghentikannya seperti Anda dapat menghentikan instance utama.
Meng-upgrade replika Replika baca dapat mengalami upgrade yang mengganggu kapan saja.
Tabel pengguna Anda tidak dapat membuat perubahan pada replika. Semua perubahan pengguna harus dilakukan di instance utama.

Batasan

  • Fitur ini hanya berlaku bagi versi Cloud SQL untuk Server SQL berikut:

    • SQL Server 2017 Enterprise
    • SQL Server 2019 Enterprise
    • SQL Server 2022 Enterprise
  • Login tidak disebarkan ke replika.

  • Anda harus memantau replika menggunakan T-SQL dan/atau SQL Server Management Studio.

  • Sebelum menghapus database, Anda harus menutup koneksi database.

  • Saat Anda membuat replika, instance utama tidak boleh berisi database dalam mode pengguna tunggal. Jika tidak pembuatan replika akan gagal.

Langkah berikutnya