Admin Datastore

Firestore dalam mode Datastore sebelumnya mendukung kemampuan untuk mengaktifkan Admin Datastore, modul opsional dengan fitur penghapusan dan pencadangan massal. Admin Datastore digantikan oleh alternatif yang lebih andal:

Mengakses Admin Datastore

Jika sebelumnya Anda telah mengaktifkan Admin Datastore, Anda dapat terus mengakses modul dengan membuka https://ah-builtin-python-bundle-dot-PROJECT_ID.appspot.com/_ah/datastore_admin?app_id=PROJECT_ID, dengan PROJECT_ID adalah ID project Google Cloud Anda. Jika Anda menonaktifkan Admin Datastore, Anda tidak akan dapat mengaktifkan kembali modul.

Peringatan tentang penggunaan fitur Admin Datastore

  • Untuk penyalinan, penghapusan, dan pencadangan, update terbaru mungkin tidak dipertimbangkan.
  • Semua operasi Admin Datastore terjadi dalam aplikasi Anda, sehingga mengurangi kuota Anda.
  • Sebaiknya Anda menonaktifkan penulisan selama pencadangan atau pemulihan.
  • Entity yang ada dengan kunci yang sama akan ditimpa selama operasi penyalinan/pemulihan. Duplikat tidak dibuat jika operasi salin/pulihkan dilakukan beberapa kali. Operasi penyalinan/pemulihan tidak menghapus data tambahan.
  • Jika menggunakan antrean non-default untuk pencadangan/pemulihan, Anda hanya dapat menentukan target ah-builtin-python-bundle di queue.yaml. Anda tidak dapat menggunakan target lain.

Izin akses database

Secara default, Admin Datastore dapat mengakses database Datastore dalam project yang sama dan tidak memerlukan izin Identity and Access Management untuk Datastore.

Mencadangkan data

Ikuti langkah-langkah di bawah untuk membuat file cadangan untuk pemulihan data di masa mendatang atau untuk mengekspor.

  1. Jika belum melakukannya, buat bucket penyimpanan untuk project Anda. Secara opsional, periksa apakah akun layanan default App Engine untuk project memiliki akses ke bucket melalui Daftar Kontrol Akses. Setelan ini mungkin sudah ditetapkan secara default dan dapat diganti, jika diperlukan.

  2. (Direkomendasikan) Nonaktifkan penulisan Cloud Datastore.

  3. Buka Admin Datastore

  4. Pilih jenis entitas yang ingin Anda cadangkan.

  5. Klik Backup Entitas untuk menampilkan formulir pencadangan.

  6. Perhatikan bahwa nama cadangan diberikan dan menyertakan stempel tanggal.

    Anda harus mengubah nilai ini jika membuat lebih dari satu cadangan per hari karena cadangan tidak dibuat jika cadangan dengan nama yang sama sudah ada.

  7. Perhatikan bahwa antrean default digunakan untuk tugas pencadangan; Anda dapat menggunakannya dalam sebagian besar kasus.

    Jika menggunakan antrean non-default untuk pencadangan/pemulihan, Anda hanya dapat menentukan target ah-builtin-python-bundle di queue.yaml. Anda tidak dapat menggunakan target lain.

  8. Pilih Google Cloud Storage sebagai lokasi penyimpanan cadangan.

  9. Saat memilih Cloud Storage, Anda akan diminta untuk memasukkan nama bucket tempat cadangan akan disimpan, dalam format [BUCKET_NAME]. Anda dapat secara opsional menentukan nama bucket yang diberi akhiran struktur direktori, seperti [BUCKET_NAME]/backups/foo): Jika folder tersebut belum ada, folder tersebut akan dibuat.

  10. Mulai tugas pencadangan dengan mengklik Backup Entities. Perhatikan bahwa halaman status tugas ditampilkan. Status tugas pencadangan

  11. Klik Kembali ke Admin Datastore untuk melihat status pencadangan.

  12. Setelah pencadangan selesai, jika Anda menonaktifkan penulisan Cloud Datastore, aktifkan kembali penulisan tersebut.

Pertimbangan pencadangan dan pemulihan

Fitur pencadangan dan pemulihan dimaksudkan untuk membantu Anda memulihkan data yang tidak sengaja terhapus atau memungkinkan Anda mengekspor data. Anda dapat mencadangkan semua entity atau hanya jenis entity yang dipilih, dan Anda dapat memulihkan dari salah satu cadangan ini saat diperlukan.

Cadangan disimpan ke Cloud Storage.

Perhatikan bahwa cadangan tidak berisi indeks apa pun. Saat Anda memulihkan, indeks yang diperlukan akan otomatis dibangun ulang menggunakan definisi indeks yang Anda upload dengan aplikasi Anda.

Anda juga dapat menggunakan file cadangan untuk mengekspor data ke layanan Google Cloud lain, seperti BigQuery.

Pemulihan tidak menetapkan ID baru ke entitas. Pemulihan menggunakan ID yang ada pada waktu pencadangan dan menimpa entity yang ada dengan ID yang sama. Selama pemulihan, ID dicadangkan saat entitas dipulihkan. Tindakan ini akan mencegah konflik ID dengan entity baru jika penulisan diaktifkan saat pemulihan sedang berjalan. Entitas baru yang ditambahkan sejak pencadangan dipertahankan.

Anda dapat memulihkan semua data dari cadangan atau memulihkan jenis entity tertentu dari cadangan. Selain itu, Anda juga dapat menggunakan fitur ini untuk memulihkan cadangan data satu aplikasi ke aplikasi lain, asalkan Anda menggunakan Cloud Storage untuk cadangan Anda.

Membatalkan pencadangan

Jika tugas pencadangan sedang berjalan, tugas tersebut akan muncul dalam daftar Pencadangan Tertunda di layar Admin Cloud Datastore.

Untuk menghentikan pencadangan yang sedang berjalan ini:

  1. Buka Admin Datastore
  2. Di bagian Cadangan Tertunda, pilih cadangan dalam daftar, lalu klik Batalkan.

Saat Anda membatalkan tugas pencadangan, App Engine akan mencoba menghapus data cadangan yang telah disimpan hingga saat itu. Namun, dalam beberapa kasus, beberapa file dapat tetap ada setelah pembatalan. Anda dapat menemukan file ini di lokasi yang Anda pilih untuk cadangan di Google Cloud Storage dan menghapusnya dengan aman setelah pembatalan selesai. Nama file tersebut diawali dengan pola berikut: datastore_backup_[BUCKET_NAME].

Menemukan informasi tentang cadangan

Anda mungkin ingin mengetahui detail tentang cadangan, seperti jenis entitas yang dikandungnya, tempat cadangan disimpan di Google Cloud Storage, serta waktu mulai dan berakhirnya. Untuk menampilkan informasi cadangan ini:

  1. Buka Admin Datastore
  2. Pilih satu atau beberapa cadangan dalam daftar Cadangan atau Cadangan Tertunda.
  3. Klik Info untuk menampilkan informasi cadangan tersebut.
  4. Klik Back untuk kembali ke layar Admin Cloud Datastore utama.

Memulihkan data

Untuk memulihkan dari cadangan:

  1. (Direkomendasikan) Nonaktifkan penulisan Cloud Datastore untuk aplikasi Anda. Biasanya, sebaiknya lakukan hal ini untuk menghindari konflik antara pemulihan dan data baru yang ditulis ke Cloud Datastore.
  2. Buka Admin Datastore
  3. Dalam daftar cadangan yang tersedia, pilih cadangan yang ingin Anda pulihkan.
  4. Klik Pulihkan.
  5. Di halaman saran yang ditampilkan, perhatikan daftar entitas dengan kotak centang. Secara default, semua entitas akan dipulihkan. Hapus centang pada kotak centang di samping setiap entitas yang tidak ingin Anda pulihkan.
  6. Selain itu, di halaman saran, perhatikan bahwa antrean default, dengan setelan performa yang telah dikonfigurasi sebelumnya, digunakan untuk tugas pemulihan. Ubah ini ke antrean lain yang telah Anda konfigurasi secara berbeda jika Anda memerlukan karakteristik performa antrean yang berbeda, pastikan antrean yang dipilih tidak memiliki target yang ditentukan dalam queue.yaml selain ah-builtin-python-bundle.
  7. Mulai pemulihan dengan mengklik Pulihkan. Perhatikan bahwa halaman status tugas ditampilkan.
  8. Klik Kembali ke Admin Datastore untuk melihat status pemulihan. Status pemulihan
  9. Setelah pemulihan selesai, jika Anda menonaktifkan penulisan, aktifkan kembali penulisan Cloud Datastore untuk aplikasi Anda.

Memulihkan data ke aplikasi lain

Jika mencadangkan data menggunakan Google Cloud Storage, Anda dapat memulihkan cadangan ke aplikasi selain aplikasi yang digunakan untuk membuat cadangan.

Untuk memulihkan data cadangan dari aplikasi sumber ke aplikasi target:

  1. Buat kebijakan Identity and Access Management (IAM) di bucket penyimpanan aplikasi sumber dengan izin berikut:

    • Principal: [PROJECT_ID]@appspot.gserviceaccount.com
    • Peran: Storage Legacy Bucket Reader dan Storage Legacy Object Reader

    dengan [PROJECT_ID] adalah project ID aplikasi target.

  2. Buat cadangan baru di aplikasi sumber.

  3. (Direkomendasikan) Nonaktifkan penulisan Cloud Datastore untuk aplikasi target Anda guna menghindari konflik antara data yang dipulihkan dan data baru yang ditulis ke Cloud Datastore.

  4. Buka Admin Datastore

  5. Di kotak teks di samping tombol berlabel Import Backup Information, tentukan bucket aplikasi sumber yang berisi cadangan, dalam format /gs/[BUCKET_NAME]. Bucket penyimpanan cadangan
    Atau, berikan handle file untuk cadangan tertentu: Untuk melihat handle file untuk cadangan, buka halaman Admin untuk aplikasi sumber, pilih cadangan, lalu klik Info. Anda akan melihat handle file di samping label Handle.

  6. Klik Impor Informasi Cadangan.
    Halaman pilihan yang dihasilkan akan menampilkan cadangan yang tersedia untuk bucket yang Anda tentukan, kecuali jika Anda menentukan cadangan berdasarkan nama sebutannya. Pilih cadangan yang diinginkan, lalu klik salah satu opsi berikut:

    • Tambahkan ke daftar cadangan jika Anda ingin cadangan ini dipertahankan dalam daftar cadangan yang tersedia untuk aplikasi Anda.
    • Pulihkan dari cadangan jika Anda ingin memulihkan dari cadangan ini tetapi tidak ingin cadangan ditampilkan dalam daftar cadangan yang tersedia untuk aplikasi Anda.
  7. Di halaman saran yang ditampilkan, perhatikan daftar entitas dengan kotak centang. Secara default, semua entitas akan dipulihkan. Hapus centang pada kotak centang di samping setiap entitas yang tidak ingin Anda pulihkan.

  8. Selain itu, di halaman saran, perhatikan bahwa antrean default, dengan setelan performa yang telah dikonfigurasi sebelumnya, digunakan untuk tugas pemulihan. Ubah ini ke antrean lain yang telah Anda konfigurasi secara berbeda jika Anda memerlukan karakteristik performa antrean yang berbeda.

  9. Mulai pemulihan dengan mengklik Pulihkan. Perhatikan bahwa halaman status tugas ditampilkan.

  10. Setelah pemulihan selesai, jika Anda menonaktifkan penulisan Cloud Datastore, aktifkan kembali.

Melihat penggunaan resource

Pencadangan yang sangat sering dilakukan biasanya menghasilkan biaya yang lebih tinggi. Saat menjalankan tugas Admin Cloud Datastore, Anda sebenarnya menjalankan tugas MapReduce yang mendasarinya. Tugas MapReduce menyebabkan jam kerja instance frontend meningkat di atas operasi Penyimpanan dan penggunaan Penyimpanan.

Untuk melihat penggunaan resource Anda:

  1. Buka halaman App Engine di Google Cloud konsol.

    Buka halaman App Engine

  2. Gunakan menu pull-down di bagian atas halaman untuk memilih layanan default dan versi ah-builtin-python-bundle.

Mengaktifkan atau menonaktifkan penulisan database

Biasanya, sebaiknya nonaktifkan penulisan sebelum pemulihan. Hal ini membantu menghindari konflik antara pemulihan dan data baru yang ditulis ke database Anda.

Menonaktifkan penulisan mencegah entitas diubah oleh

  • Datastore Viewer.
  • aplikasi yang menggunakan Datastore API.

Untuk mengaktifkan atau menonaktifkan penulisan:

  1. Buka halaman Admin.

    Buka halaman Admin

  2. Klik Aktifkan penulisan untuk mengaktifkan penulisan, atau Nonaktifkan penulisan untuk menonaktifkan penulisan. Teks tombol bervariasi, bergantung pada status project Anda.

Melihat penggunaan resource Admin Datastore

Saat menjalankan tugas Admin Datastore, Anda sebenarnya menjalankan tugas MapReduce yang mendasarinya. Tugas MapReduce menyebabkan jam instance frontend meningkat di atas operasi Storage dan penggunaan Storage.

Untuk melihat penggunaan resource Anda:

  1. Buka halaman App Engine di Google Cloud konsol.

    Buka halaman App Engine

  2. Gunakan menu pull-down di bagian atas halaman untuk memilih layanan default dan versi ah-builtin-python-bundle.

Menonaktifkan akses Admin Datastore

  1. Jalankan perintah berikut, ganti PROJECT_ID dengan ID project Google Cloud Anda:

    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://appengine.googleapis.com/v1/apps/PROJECT_ID/services/default/versions/ah-builtin-python-bundle