Firestore dalam mode Datastore sebelumnya mendukung kemampuan untuk mengaktifkan Admin Datastore, yaitu modul opsional dengan fitur pencadangan dan penghapusan massal. Admin Datastore diganti dengan alternatif yang lebih andal:
- Fitur cadangan diganti dengan ekspor dan impor terkelola.
- Fitur hapus massal digantikan oleh template Bulk Delete Entity untuk Dataflow.
Mengakses Admin Datastore
Jika sebelumnya Anda telah mengaktifkan Admin Datastore, Anda dapat terus mengakses modul ini dengan membuka https://ah-builtin-python-bundle-dot-PROJECT_ID.appspot.com/_ah/datastore_admin?app_id=PROJECT_ID
, dengan PROJECT_ID
sebagai ID project Google Cloud Anda. Jika Admin Datastore dinonaktifkan, Anda tidak akan dapat mengaktifkan kembali modul ini.
Peringatan tentang penggunaan fitur Admin Datastore
- Untuk menyalin, menghapus, dan mencadangkan, 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 salin/pemulihan. Duplikat tidak dibuat jika operasi salin/pemulihan dilakukan beberapa kali. Operasi penyalinan/pemulihan tidak menghapus data tambahan.
- Jika menggunakan antrean non-default untuk pencadangan/pemulihan, Anda hanya dapat menentukan
ah-builtin-python-bundle
target diqueue.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 ini guna membuat file cadangan untuk pemulihan data di masa mendatang atau untuk diekspor.
Buat bucket penyimpanan untuk project Anda jika belum melakukannya. Secara opsional, periksa apakah akun layanan default App Engine untuk project memiliki akses ke bucket melalui Daftar Kontrol Akses. Hal ini dapat ditetapkan secara default dan dapat diganti, jika perlu.
(Direkomendasikan) Nonaktifkan penulisan Cloud Datastore.
Pilih jenis entitas yang ingin Anda cadangkan.
Klik Entitas Cadangan untuk menampilkan formulir cadangan.
Perhatikan bahwa nama cadangan diberikan dan menyertakan stempel tanggal.
Anda harus mengubah nilai ini jika membuat lebih dari satu pencadangan per hari karena cadangan tidak dilakukan jika cadangan dengan nama yang sama sudah ada.
Perhatikan bahwa antrean default digunakan untuk tugas pencadangan; Anda dapat menggunakannya pada kebanyakan kasus.
Jika menggunakan antrean non-default untuk pencadangan/pemulihan, Anda hanya dapat menentukan
ah-builtin-python-bundle
target diqueue.yaml
. Anda tidak dapat menggunakan target lain.Pilih Google Cloud Storage sebagai lokasi penyimpanan cadangan.
Saat memilih Cloud Storage, Anda akan diminta untuk memberi nama bucket tempat cadangan akan disimpan, dalam format
[BUCKET_NAME]
. Anda juga dapat menentukan nama bucket yang diberi akhiran dengan struktur direktori, seperti[BUCKET_NAME]/backups/foo
): Jika belum ada, folder tersebut akan dibuat.Mulai tugas pencadangan dengan mengklik Entitas Cadangan. Perhatikan bahwa halaman status pekerjaan ditampilkan.
Klik Kembali ke Admin Datastore untuk melihat status pencadangan.
Setelah pencadangan selesai, jika Anda menonaktifkan penulisan Cloud Datastore, aktifkan kembali penulisan tersebut.
Pertimbangan pencadangan dan pemulihan
Fitur pencadangan dan pemulihan ditujukan untuk membantu Anda memulihkan data dari penghapusan data yang tidak disengaja atau untuk memungkinkan Anda mengekspor data. Anda dapat mencadangkan semua entity atau hanya jenis entity yang dipilih, dan dapat memulihkan dari salah satu cadangan ini jika 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 lainnya, seperti BigQuery.
Pemulihan tidak menetapkan ID baru ke entitas. Pemulihan menggunakan ID yang ada pada waktu pencadangan dan menimpa entitas yang ada dengan ID yang sama. Selama pemulihan, ID dicadangkan saat entity sedang dipulihkan. Hal ini akan mencegah konflik ID dengan entity baru jika operasi tulis diaktifkan saat pemulihan sedang berjalan. Entitas baru ditambahkan sejak cadangan 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 aplikasi ke beberapa aplikasi lain, asalkan Anda menggunakan Cloud Storage untuk cadangan Anda.
Membatalkan cadangan
Jika tugas pencadangan sedang berjalan, tugas tersebut akan muncul dalam daftar Cadangan Tertunda pada layar Admin Cloud Datastore.
Untuk menghentikan pencadangan yang berjalan ini:
- Buka Admin Datastore
- Di bagian Tertunda Cadangan, pilih cadangan dalam daftar dan 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 dipilih untuk cadangan Anda di Google Cloud Storage dan menghapusnya dengan aman setelah pembatalan selesai. Nama
file tersebut dimulai dengan pola berikut:
datastore_backup_[BUCKET_NAME]
.
Menemukan informasi tentang cadangan
Anda mungkin ingin mengetahui detail tentang cadangan, seperti jenis entity yang ada di dalamnya, tempat penyimpanannya di Google Cloud Storage, serta waktu mulai dan akhirnya. Untuk menampilkan informasi cadangan ini:
- Buka Admin Datastore
- Pilih satu atau beberapa cadangan pada daftar Cadangan atau Cadangan Tertunda.
- Klik Info untuk menampilkan informasi untuk cadangan tersebut.
- Klik Kembali untuk kembali ke layar utama Admin Cloud Datastore.
Memulihkan data
Untuk memulihkan dari cadangan:
- (Direkomendasikan) Nonaktifkan penulisan Cloud Datastore untuk aplikasi Anda. Biasanya, sebaiknya lakukan ini untuk menghindari konflik antara pemulihan dan setiap data baru yang ditulis ke Cloud Datastore.
- Buka Admin Datastore
- Pada daftar cadangan yang tersedia, pilih cadangan yang ingin Anda pulihkan.
- Klik Pulihkan.
- Di halaman saran yang ditampilkan, perhatikan daftar entity dengan kotak centang. Secara default, semua entitas akan dipulihkan. Hapus centang kotak di samping setiap entitas yang tidak ingin Anda pulihkan.
- Selain itu, di halaman saran, perhatikan bahwa antrean default, dengan
setelan performanya 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 di
queue.yaml
selainah-builtin-python-bundle
. - Mulai pemulihan dengan mengklik Pulihkan. Perhatikan bahwa halaman status pekerjaan akan ditampilkan.
- Klik Kembali ke Admin Datastore untuk melihat status pemulihan.
- 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:
Buat kebijakan Identity and Access Management (IAM) di bucket penyimpanan aplikasi sumber dengan izin berikut:
- Kepala Sekolah: [PROJECT_ID]@appspot.gserviceaccount.com
- Peran:
Storage Legacy Bucket Reader
danStorage Legacy Object Reader
dengan
[PROJECT_ID]
adalah project ID aplikasi target.Buat cadangan baru di aplikasi sumber.
(Direkomendasikan) Nonaktifkan penulisan Cloud Datastore untuk aplikasi target Anda guna menghindari konflik antara data yang dipulihkan dan data baru yang ditulis ke Cloud Datastore.
Dalam kotak teks di samping tombol berlabel Import Backup Information, tentukan bucket aplikasi sumber yang berisi cadangan, dalam format
/gs/[BUCKET_NAME]
.
Atau, berikan handle file untuk cadangan tertentu: Untuk melihat handle file untuk cadangan, buka halaman Admin untuk aplikasi sumber, pilih cadangan, dan klik Info. Anda akan melihat handle file di samping label Handle.Klik Impor Informasi Cadangan.
Halaman pemilihan yang dihasilkan menampilkan cadangan yang tersedia untuk bucket yang Anda tentukan, kecuali jika Anda menentukan cadangannya berdasarkan handle-nya. 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.
- Pulihkan dari cadangan jika Anda ingin memulihkan dari cadangan ini, tetapi tidak ingin cadangan ditampilkan dalam daftar cadangan yang tersedia untuk aplikasi Anda.
Di halaman saran yang ditampilkan, perhatikan daftar entity dengan kotak centang. Secara default, semua entitas akan dipulihkan. Hapus centang kotak di samping setiap entitas yang tidak ingin Anda pulihkan.
Selain itu, di halaman saran, perhatikan bahwa antrean default, dengan setelan performanya 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.
Mulai pemulihan dengan mengklik Pulihkan. Perhatikan bahwa halaman status pekerjaan akan ditampilkan.
Setelah pemulihan selesai, jika Anda menonaktifkan penulisan Cloud Datastore, aktifkan kembali penulisan tersebut.
Melihat penggunaan resource
Pencadangan yang sangat sering dilakukan sering kali 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 dibandingkan dengan operasi Storage dan penggunaan Storage.
Untuk melihat penggunaan resource:
Kunjungi halaman App Engine Konsol Google Cloud.
Gunakan menu pulldown di bagian atas halaman untuk memilih layanan
default
dan versiah-builtin-python-bundle
.
Mengaktifkan atau menonaktifkan penulisan database
Biasanya ada baiknya untuk menonaktifkan penulisan sebelum pemulihan. Hal ini membantu menghindari konflik antara pemulihan dan data baru yang ditulis ke database Anda.
Menonaktifkan penulisan akan mencegah entity diubah oleh
- Viewer Datastore.
- aplikasi yang menggunakan Datastore API.
Untuk mengaktifkan atau menonaktifkan operasi tulis:
Buka halaman Admin.
Klik Aktifkan penulisan untuk mengaktifkan penulisan, atau Nonaktifkan penulisan untuk menonaktifkan penulisan. Teks tombolnya bervariasi, tergantung 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 kerja instance frontend meningkat, selain operasi Storage dan penggunaan Storage.
Untuk melihat penggunaan resource:
Kunjungi halaman App Engine Konsol Google Cloud.
Gunakan menu pulldown di bagian atas halaman untuk memilih layanan
default
dan versiah-builtin-python-bundle
.
Nonaktifkan akses Admin Datastore
Jalankan perintah berikut, dengan mengganti
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