All Products
Search
Document Center

PolarDB:Backup dan pemulihan data PolarSearch secara manual

Last Updated:Jun 04, 2026

PolarSearch memungkinkan Anda menggunakan fitur snapshot untuk mencadangkan data indeks dari kluster ke bucket Object Storage Service (OSS) milik Anda atau memulihkan data dari bucket OSS. Fitur ini dapat digunakan untuk migrasi data lintas kluster serta backup dan pemulihan kustom untuk kluster PolarSearch, sehingga menyediakan solusi yang fleksibel dan berbiaya rendah untuk perlindungan dan transfer data.

Catatan

Fitur ini saat ini dalam masa pratinjau. Untuk menggunakannya, submit a ticket untuk mengaktifkannya.

Prasyarat

Penagihan

Fitur snapshot gratis. Penyimpanan file snapshot di bucket OSS Anda dikenai biaya penyimpanan dan permintaan. Untuk informasi selengkapnya, lihat OSS billing overview.

Daftarkan repositori snapshot

Sebelum menggunakan fitur snapshot, Anda harus mendaftarkan repositori snapshot dan mengaitkannya dengan bucket OSS Anda. Gunakan API berikut untuk membuat repositori:

PUT /_snapshot/{repo-name}
{
    "type": "oss",
    "settings": {
      "endpoint": "{endpoint}",
      "bucket": "{bucket-name}",
      "base_path": "{path-name}",
      "region": "{region}",
      "access_key": "{your-AccessKey-ID}", 
      "secret_key": "{your-AccessKey-Secret}",
      "session_token": "{your-STS-Token}",
      "compress": true,
      "chunk_size": "512mb"
    }
}

Deskripsi parameter

Parameter

Deskripsi

{repo-name}

Nama kustom untuk repositori.

type

Jenis repositori. Nilai ini harus diatur ke oss.

endpoint

Titik akhir untuk bucket OSS Anda. Untuk informasi selengkapnya, lihat Regions and Endpoints.

bucket

Nama bucket OSS Anda.

base_path

(Opsional) Direktori root di bucket OSS tempat file snapshot disimpan.

region

Wilayah tempat bucket berada.

access_key

ID AccessKey Anda.

secret_key

AccessKey Secret Anda.

session_token

(Opsional) STS Token untuk Peran RAM Anda.

Penting

Jika Anda menggunakan STS Token, Anda juga harus mengatur parameter access_key dan secret_key ke nilai dari STS Token tersebut. Jika tidak menggunakan STS Token, gunakan ID AccessKey dan AccessKey Secret jangka panjang Anda.

compress

(Opsional) Menentukan apakah metadata snapshot seperti pemetaan dan pengaturan indeks dikompresi. Parameter ini tidak memengaruhi file data.

Nilai default adalah false.

chunk_size

(Opsional) Batas ukuran untuk unggahan terpotong selama proses snapshot. Data yang lebih besar dari ukuran ini diunggah ke OSS dalam bentuk chunk.

Nilai default adalah 1 GB.

Contoh

Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.

curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "oss",
    "settings": {
      "endpoint": "{endpoint}",
      "bucket": "{bucket-name}",
      "base_path": "{path-name}",
      "region": "{region}",
      "access_key": "{your-AccessKey-ID}", 
      "secret_key": "{your-AccessKey-Secret}"
    }
  }'

Buat snapshot: backup data ke OSS

Setelah mendaftarkan repositori snapshot, buat snapshot untuk indeks tertentu menggunakan API berikut:

PUT /_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true
{
    "indices": "{index-name}",
    "ignore_unavailable":false
}

Deskripsi parameter

Kategori parameter

Nama parameter

Deskripsi

Parameter permintaan

wait_for_completion

Menentukan apakah perlu menunggu hingga operasi snapshot selesai. Nilai default adalah false.

  • Eksekusi sinkron: Jika Anda mengatur wait_for_completion=true, perintah akan menunggu hingga snapshot dibuat sebelum mengembalikan hasil.

  • Eksekusi asinkron: Jika Anda mengatur wait_for_completion=false, perintah langsung mengembalikan respons dan snapshot dibuat di latar belakang. Anda dapat memeriksa status snapshot dengan menjalankan perintah berikut. Operasi selesai ketika bidang state dalam tanggapan bernilai SUCCESS.

    GET /_snapshot/{repo-name}/{snapshot-name}/_status

Parameter isi permintaan

indices

Indeks yang akan dibackup. Anda dapat menggunakan karakter wildcard (*) dan memisahkan beberapa nama indeks dengan koma (,). Secara default, semua indeks dibackup.

Catatan

Penggunaan karakter wildcard (*) akan mencakup tabel sistem. Untuk menghindari backup atau pemulihan tabel sistem, tentukan hanya indeks yang diperlukan, atau gunakan tanda minus (-) untuk mengecualikan tabel sistem.

ignore_unavailable

Menentukan apakah indeks yang tidak ada diabaikan dan proses snapshot dilanjutkan. Nilai default adalah false, yang menyebabkan operasi gagal.

partial

Menentukan apakah snapshot parsial diizinkan. Jika diatur ke true, data dari shard yang berhasil tetap disimpan meskipun beberapa shard gagal. Nilai default adalah false.

Contoh

Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.

curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "indices": "{index-name}",
    "ignore_unavailable": false
  }'

Lihat snapshot

Gunakan API berikut untuk melihat informasi tentang semua snapshot di repositori snapshot OSS Anda:

GET /_snapshot/{repo-name}/_all?pretty

Contoh

Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.

curl -X GET "https://{pc-endpoint}:3001/_snapshot/{repo-name}/_all?pretty" -u "{username}:{passwd}"

Pulihkan data

Jalankan perintah berikut untuk memulihkan data indeks dari snapshot tertentu:

Catatan

Untuk memulihkan snapshot dari kluster PolarSearch ke kluster PolarSearch lain, kluster PolarSearch tujuan harus mendaftarkan snapshot repository yang sama dengan kluster PolarSearch sumber. Jika pemulihan dilakukan dalam kluster PolarSearch yang sama, Anda tidak perlu mendaftar ulang dan dapat langsung menjalankan pemulihan data.

POST /_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true
{
  "indices": "{index-name}",
  "ignore_unavailable": true
}

Parameter

Kategori parameter

Nama parameter

Deskripsi

Parameter permintaan

wait_for_completion

Menentukan apakah perlu menunggu hingga pemulihan snapshot selesai. Nilai default adalah false.

  • Eksekusi sinkron: Jika Anda mengatur wait_for_completion=true, perintah akan menunggu hingga pemulihan selesai sebelum mengembalikan respons.

  • Eksekusi asinkron: Jika Anda mengatur wait_for_completion=false, perintah langsung mengembalikan respons, dan pekerjaan pemulihan berjalan di latar belakang. Anda dapat memeriksa progres pemulihan indeks dengan menjalankan perintah berikut. Pemulihan selesai ketika bidang stage bernilai DONE.

    GET /{index-name}/_recovery

Parameter isi permintaan

indices

Menentukan indeks yang akan dipulihkan. Karakter wildcard * didukung. Beberapa indeks dipisahkan dengan koma ,. Nilai default adalah semua indeks.

ignore_unavailable

Menentukan apakah indeks yang tidak ada diabaikan dan pembuatan snapshot dilanjutkan. Nilai default adalah false, yang menyebabkan operasi gagal.

partial

Menentukan apakah snapshot parsial dibuat. Jika diatur ke true, data dari shard yang berhasil tetap disimpan meskipun beberapa shard gagal. Nilai default adalah false.

index_settings

Mengganti pengaturan indeks dari snapshot selama pemulihan. Misalnya, Anda dapat mengubah jumlah replika agar sesuai dengan konfigurasi kluster tujuan.

ignore_index_settings

Daftar pengaturan indeks yang diabaikan selama pemulihan. Biasanya digunakan untuk mengabaikan pengaturan yang spesifik untuk kluster sumber.

Contoh

Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.

curl -X POST "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "indices": "{index-name}",
    "ignore_unavailable": true
  }'