Tanyakan kepada sumber sebelum menyalin data

Satu pertanyaan mungkin hanya perlu membaca sumber terbaru, bukan membuat basis data kedua. Pilih akses jarak jauh atau sinkronisasi menurut tugasnya.

query source before syncing

Apa jawaban singkatnya?

Jika tugasnya menjawab pertanyaan, baca sumber yang diizinkan dan kembalikan hasil berguna yang paling kecil. Salin data jika sistem lain harus menguasai keadaan, tetap bekerja saat sumber tidak tersedia, atau bertindak atas peristiwa yang disimpan. Kueri jarak jauh tetap membutuhkan izin, batas usia data, anggaran latensi, dan keadaan gagal yang jelas.

Pelajari selengkapnya
Di halaman ini

Bayangkan layar dukungan yang memerlukan satu jawaban: apakah pesanan ini sudah dibayar? Sistem pembayaran mengetahui jawabannya. Tim integrasi mengusulkan menyalin setiap catatan pembayaran ke basis data kedua, menjaga salinannya tetap mutakhir, lalu membacanya ketika petugas membuka pesanan. Ini contoh operasional hipotetis, bukan kasus analitis dari demonstrasi yang dirujuk.

Salinan itu mungkin diperlukan. Namun, tanyakan dulu apakah layar saat ini hanya memerlukan satu jawaban yang boleh diakses.

Demonstrasi teknis kueri analitis lintas layanan awan menunjukkan kueri pada sumber data yang sudah ada tanpa lebih dulu membuat salinan permanen tabel sumber di sistem tujuan. Demonstrasi yang sama juga membuat tabel gabungan, menunjukkan bahwa akses jarak jauh dan penyalinan dapat berdampingan dalam satu alur. Ini kemampuan produk yang nyata, bukan janji bahwa layanan kueri analitis cocok untuk layar operasional status pembayaran atau bahwa data tidak pernah bergerak saat kueri berjalan. Dokumentasi Google Cloud tentang kueri federasi menjelaskan bahwa beberapa hasil kueri luar berpindah sementara ke layanan kueri. Perbedaan penting ada di antara replika tersinkron yang permanen dan pembacaan terbatas untuk pertanyaan tertentu.

Putuskan berdasarkan tugas sistem pemakai

Ada dua permintaan berbeda di balik “hubungkan sistem ini”. Pertama bertanya, “Apa yang dikatakan sumber sekarang?” Kedua bertanya, “Keadaan apa yang harus disimpan sistem tujuan agar dapat bertindak nanti?”

Untuk layar dukungan, pembacaan yang dibatasi dapat mengembalikan status pesanan dan waktu pengamatannya. Sumber tetap berwenang. Jika sumber tidak tersedia, layar perlu mengatakan bahwa status terbaru tidak dapat diperoleh atau dengan jelas menandai jawaban dari cache. Salinan kedua justru menciptakan pertanyaan baru: status mana yang berlaku jika keduanya berbeda?

Sumber kebenaran status terbaru
Kueri terbatas pembacaan berizin waktu pengamatan
Sistem pemakai satu jawaban
Kueri terbatas secara konseptual

Sistem pemakai meminta satu jawaban terbaru dari sumber melalui kueri berizin dan terbatas; kueri dapat memproses data sementara tanpa membuat replika permanen.

Untuk kampanye keranjang yang ditinggalkan, sistem tujuan mungkin harus bertindak tanpa seseorang membuka layar. Ia mungkin memerlukan peristiwa yang tepat waktu, status persetujuan, dan cara membatalkan pesan yang sudah dijadwalkan setelah pembelian. Pembacaan langsung saat kampanye berjalan masih dapat membantu, tetapi jawaban sesuai permintaan saja belum menyelesaikan tugas.

Yang dibutuhkan sistem pemakaiRancangan pertama untuk diujiPertukaran utama
Satu jawaban terkiniKueri terbatas ke sumber yang berwenangBergantung pada akses dan latensi sumber
Tindakan berkelanjutan setelah perubahanPeristiwa atau sinkronisasi perubahan minimumHarus menangani keterlambatan, duplikasi, dan peristiwa hilang
Bukti historis suatu keputusanPotret bidang relevan dengan versiHarus mengatur masa simpan dan akses
Operasi saat sumber tidak tersediaCache atau replika yang dinyatakan jelasDapat usang; memerlukan aturan usia data

Tabel ini mendukung keputusan, bukan tolok ukur. Tabel itu tidak menghasilkan batas universal antara kueri dan salinan.

Salinan mempunyai biaya berkelanjutan

Ekstraksi pertama mudah diremehkan karena akhirnya selesai. Salinan tetap hidup. Bidang baru muncul, pengenal digabung, izin berubah, atau peristiwa lama tiba setelah yang baru. Kini sistem tujuan dapat menyimpan jawaban yang akan ditolak sumber.

Biayanya bukan hanya penyimpanan. Ada pekerjaan penyelarasan: memantau jeda, memutar ulang perubahan yang terlewat, menghapus data ketika diwajibkan, dan menjelaskan mengapa keputusan memakai nilai kemarin. Tugas itu masuk akal ketika sistem tujuan memerlukan keadaan sendiri. Tugas itu pemborosan bila hasil yang diminta hanya jawaban terkini.

Kueri juga punya biaya. Ia dapat membebani sumber, memperlihatkan bidang kepada pihak akses lain, melintasi jaringan, dan gagal pada saat terburuk. Perencana kueri mungkin memproses lebih banyak data daripada hasil yang tampak. Dokumentasi federasi menjelaskan rincian eksekusi yang perlu diperiksa sebelum menganggap kueri jarak jauh sebagai tanpa perpindahan data.

Kueri aman mempunyai tujuan dan hasil sempit. Sebut siapa yang menguasai bidang. Batasi izin peminta. Tentukan seberapa usang jawaban boleh diterima, berapa lama kueri boleh menunggu, dan apa yang disampaikan antarmuka saat batas waktu habis. Simpan waktu pengamatan bersama jawaban.

Kapan salinan terkendali layak dibuat

“Data lokal memberi antarmuka yang lebih dapat diprediksi dan lebih sedikit kegagalan jarak jauh.” Itu argumen serius. Jika alur kerja mempunyai syarat latensi ketat atau harus berjalan saat sumber mati, replika terkendali mungkin rancangan yang benar.

Kata terkendali menentukan artinya. Tetapkan bidang yang disalin, seberapa cepat diperbarui, apa yang terjadi jika pembaruan berhenti, dan kapan sistem pemakai menolak bertindak dengan keadaan usang. Uji koreksi terlambat selain jalur normal. Jawaban cepat tetapi usang bisa lebih buruk daripada keadaan tidak tersedia yang terlihat.

Mulailah dari pertanyaan terkecil sistem pemakai. Jika pembacaan menyelesaikannya, biarkan sumber tetap berwenang. Jika tindakan memerlukan keadaan lokal, salin hanya yang dapat dibenarkan tindakan itu.

Percobaan kecil dapat menentukan pilihan tanpa membangun lapisan replikasi umum. Pilih satu pertanyaan yang benar-benar diajukan sistem pemakai, catat seberapa segar jawabannya harus tersedia, lalu jalankan kueri berizin ke sumber. Amati latensi, beban sumber, dan perilaku kegagalan dengan kendali akses realistis. Kemudian uji keadaan tersalin paling sempit yang memenuhi kebutuhan sama. Bandingkan bukan hanya waktu respons, tetapi juga koreksi, penghapusan, dan perilaku saat layanan mati. Panduan perencanaan integrasi memberi konteks alur yang lebih luas; percobaan ini memilih tempat jawaban seharusnya tinggal. Tak satu pun jalur otomatis lebih murah setelah pemeliharaan berkelanjutan dihitung.

Sambungan tidak diukur dari jumlah baris yang melintasinya.

Pertanyaan yang sering diajukan

Kapan kueri jarak jauh lebih tepat daripada sinkronisasi?

Ketika peminta membutuhkan jawaban dari sumber yang berwenang dan dapat menerima ketersediaan serta latensi sumber itu. Batasi akses dan tampilkan waktu jawaban dibaca.

Kapan data harus disalin?

Salin keadaan seminimal mungkin ketika sistem lain harus bertindak tanpa kueri langsung, menyimpan potret untuk audit, atau memenuhi kebutuhan latensi dan ketersediaan yang tidak dapat dipenuhi sumber.

Apakah kueri langsung berarti data tidak pernah berpindah?

Tidak. Layanan federasi dapat memindahkan data antara atau hasil untuk menjalankan kueri. Periksa perilaku eksekusi, penyimpanan, dan keamanan yang didokumentasikan penyedia.

Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

Dapatkan Brevo