Yerinde geri yükleme

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

Bu sayfada, yedekteki verilerin, yedeğin kaynak veritabanası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, bir veritabanını yedekten, yedeği oluşturan kaynak veritabanına geri yüklemenize olanak tanır. Bu işlem sırasında orijinal veritabanı varlığını sürdürür. Yerinde geri yükleme, trafiği yeniden yönlendirmekten veya farklı bir ada sahip veritabanı oluşturmaktan kaçınmanıza yardımcı olur.

Geri yükleme işleminde, henüz mevcut olmayan bir hedef veritabanı kullanılmalıdır. Ancak kaynak veritabanını silip yedekten geri yükleyerek kaynak veritabanasıyla aynı ada sahip yeni bir veritabanı oluşturarak yerinde geri yükleme işlemini simüle edebilirsiniz.

Yerinde geri yükleme 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şleminde kullanılacak yedeği belirleyin.
  2. Mevcut veritabanını silin.
  3. Geri yükleme işlemini tamamlamak için yedeklemeyi ve silinen veritabanının veritabanı kimliğini kullanın.
Dikkat: Uygulamanız, yerel modda Cloud Firestore istemci kitaplığını kullanıyorsa ve istemcileriniz çevrimdışı önbellek kullanıyorsa yerinde geri yükleme, yazma işlemlerini silmek yerine geri yüklenen veritabanına boşaltabilir. 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ın ve 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:

  • Birleş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 gerçekleştirme

Yerinde geri yükleme işlemi gerçekleştirmek için aşağıdaki adımları tamamlayın. Bu işlem, veritabanını sildiğiniz an ile geri yükleme işleminin tamamlandığı an arasında kapalı kalma süresi gerektirir.

Geri yükleme işlemi başladıktan sonra işlemi iptal edemezsiniz ve işlemin tamamlanmasını beklemeniz gerekir. Geri yükleme işlemi, işlemde kullanılan veritabanı kimliğini hemen kullanmaya başlar.

  1. Geri yükleme işleminde kullanılacak yedeği belirlemek için gcloud firestore backups list komutunu kullanın ve kaynak adını not edin. Kaynak adı aşağıdaki 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 yazın.

  3. Veritabanını sildikten sonra veritabanı kimliğinin tekrar kullanılabilir hâle 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 yazın.

Sırada ne var?