Yerinde geri yükleme

Firestore Standard sürümü ve Firestore Enterprise sürümü için geçerlidir.

Bu sayfada, yedeklenen verilerin, yedeğin kaynak veritabanıyla aynı ada sahip bir veritabanına nasıl geri yükleneceği açıklanmaktadır. Bu sayfayı okumadan önce Verileri yedekleme ve geri yükleme hakkında bilgi sahibi olmanız gerekir.

Yerinde geri yükleme

Yerinde geri yükleme, orijinal veritabanı mevcutken bir veritabanını yedekten, yedeği oluşturan kaynak veritabanına geri yüklemenize olanak tanır. Yerinde geri yükleme, trafiği yeniden yönlendirmenizi veya farklı bir adla veritabanı oluşturmanızı önler.

Geri yükleme işlemi, mevcut olmayan bir hedef veritabanı kullanmalıdır. Ancak kaynak veritabanını silip ardından bir yedekten kaynak veritabanıyla aynı ada sahip yeni bir veritabanına geri yükleme yaparak yerinde geri yükleme simülasyonu gerçekleştirebilirsiniz.

Yerinde geri yükleme işlemi gerçekleştirme

Yerinde geri yükleme işlemi gerçekleştirmek için aşağıdaki adımları uygulayın:

  1. Geri yükleme işlemi için kullanılacak yedeği belirleyin.
  2. Mevcut veritabanını silin.
  3. Geri yükleme işlemini tamamlamak için silinen veritabanının yedeğini ve veritabanı kimliğini kullanın.
Dikkat: Uygulamanız yerel modda bir Cloud Firestore istemci kitaplığı kullanıyorsa ve istemcileriniz çevrimdışı önbellek kullanıyorsa yerinde geri yükleme, yazma işlemlerini silmek yerine geri yüklenen veritabanına aktarabilir. Bu durum, silinen veritabanına bağlı istemci çevrimdışı olduğunda ve çevrimdışıyken yerinde geri yükleme yaptığınız sırada önbellekte yazma işlemleri biriktiğinde ortaya çıkabilir.

Başlamadan önce

Yerinde geri yükleme işlemine başlamadan önce aşağıdaki adımları tamamlamanızı öneririz.

Veritabanınızın dizin yapılandırmasını alıp kopyalayın. Yerinde geri yükleme işlemini tamamladıktan sonra dizinleri yeniden oluşturmak için dizin yapılandırmasını kullanın. Veritabanınızın dizin yapılandırmasını almak için aşağıdaki komutları kullanın:

  • Bileşik dizinlerin listesini almak için gcloud firestore indexes composite list kullanın:

        gcloud firestore indexes composite list --database=DATABASE_ID
    

    DATABASE_ID yerine veritabanınızın kimliğini yazın.

  • Tek alanlı (yerleşik) dizin muafiyetlerinin listesini almak için gcloud firestore indexes fields list kullanın.

        gcloud firestore indexes fields list --database=DATABASE_ID
    

Yerinde geri yükleme işlemi gerçekleştirme

Yerinde geri yükleme işlemi gerçekleştirmek için aşağıdaki adımları uygulayın. Bu işlem, veritabanını sildiğiniz andan geri yükleme işleminin tamamlandığı ana kadar kesinti süresi gerektirir.

Geri yükleme işlemi başladıktan sonra işlemi iptal edemezsiniz ve işlem tamamlanana kadar beklemeniz gerekir. Geri yükleme işlemi, işlemde kullanılan veritabanı kimliğini hemen kullanır.

  1. Geri yükleme işlemi için kullanılacak yedeği belirlemek üzere gcloud firestore backups list komutunu kullanın ve kaynak adını not edin. Kaynak adı şu biçimi kullanır:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. Mevcut veritabanını silmek için gcloud firestore databases delete komutunu kullanın:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    DATABASE_ID yerine veritabanı kimliğini girin.

  3. Veritabanını sildikten sonra veritabanı kimliğinin tekrar kullanılabilir hale gelmesi için en az 5 dakika bekleyin. gcloud firestore databases restore komutunu kullanarak geri yükleme işlemi başlatın:

    gcloud firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    DATABASE_ID yerine veritabanı kimliğini girin.

Sırada ne var?