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:
- Fitur pencadangan digantikan oleh ekspor dan impor terkelola.
- Fitur penghapusan massal digantikan oleh template Bulk Delete Entities untuk Dataflow.
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
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 untuk membuat file cadangan untuk pemulihan data di masa mendatang atau untuk mengekspor.
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.
(Direkomendasikan) Nonaktifkan penulisan Cloud Datastore.
Pilih jenis entitas yang ingin Anda cadangkan.
Klik Backup Entitas untuk menampilkan formulir pencadangan.
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.
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
diqueue.yaml
. Anda tidak dapat menggunakan target lain.Pilih Google Cloud Storage sebagai lokasi penyimpanan cadangan.
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.Mulai tugas pencadangan dengan mengklik Backup Entities. Perhatikan bahwa halaman status tugas 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 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:
- Buka Admin Datastore
- 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:
- Buka Admin Datastore
- Pilih satu atau beberapa cadangan dalam daftar Cadangan atau Cadangan Tertunda.
- Klik Info untuk menampilkan informasi cadangan tersebut.
- Klik Back untuk kembali ke layar Admin Cloud Datastore utama.
Memulihkan data
Untuk memulihkan dari cadangan:
- (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.
- Buka Admin Datastore
- Dalam daftar cadangan yang tersedia, pilih cadangan yang ingin Anda pulihkan.
- Klik Pulihkan.
- 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.
- 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
selainah-builtin-python-bundle
. - Mulai pemulihan dengan mengklik Pulihkan. Perhatikan bahwa halaman status tugas 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:
- Principal: [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.
Di 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, lalu klik Info. Anda akan melihat handle file di samping label Handle.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.
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.
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.
Mulai pemulihan dengan mengklik Pulihkan. Perhatikan bahwa halaman status tugas ditampilkan.
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:
Buka halaman App Engine di Google Cloud konsol.
Gunakan menu pull-down di bagian atas halaman untuk memilih layanan
default
dan versiah-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:
Buka halaman Admin.
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:
Buka halaman App Engine di Google Cloud konsol.
Gunakan menu pull-down di bagian atas halaman untuk memilih layanan
default
dan versiah-builtin-python-bundle
.
Menonaktifkan akses Admin Datastore
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