Azure Cosmos DB'de belirli bir noktaya geri yükleme ile sürekli yedekleme

ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Gremlin Masa

Azure Cosmos DB'nin belirli bir noktaya geri yükleme özelliği, çeşitli senaryolarda yardımcı olur:

  • Bir kapsayıcı içindeki yanlışlıkla yazma veya silme işleminden kurtarma.
  • Silinen bir hesabı, veritabanını veya kapsayıcıyı geri yükleme.
  • Geri yükleme noktasında herhangi bir bölgeye (yedeklemelerin bulunduğu) geri yükleme.

Azure Cosmos DB, fazladan sağlanan aktarım hızı (RU) kullanmadan veya veritabanınızın performansını ve kullanılabilirliğini etkilemeden arka planda veri yedekleme gerçekleştirir. Sürekli yedeklemeler, hesabın bulunduğu her bölgede alınır. Örneğin, bir hesabın Batı ABD'de yazma bölgesi ve Doğu ABD ile Doğu ABD 2'deki okuma bölgeleri olabilir. Bu çoğaltma bölgeleri daha sonra ilgili her bölgede bir uzak Azure Depolama hesabına yedeklenebilir. Varsayılan olarak, her bölge yedeklemeyi Yerel Olarak Yedekli depolama hesaplarında depolar. Bölgede Kullanılabilirlik alanları etkinleştirildiyse yedekleme, Alanlar Arası Yedekli depolama hesaplarında depolanır.

Bir kapsayıcının birden çok bölgede nasıl yedeklendiğini gösteren diyagram.

Geri yükleme için kullanılabilen zaman penceresi (bekletme süresi olarak da bilinir), aşağıdaki iki seçeneğin daha düşük değeridir: 30 gün ve 7 gün.

Seçilen seçenek, sürekli yedeklemenin seçilen katmanına bağlıdır. Geri yükleme zamanı, kaynağın oluşturulduğu noktadan daha eski olmayan saklama süresi içinde herhangi bir zaman damgası olabilir. Güçlü tutarlılık modunda, yazma bölgesinde alınan yedeklemeler, okuma bölgelerine kıyasla daha günceldir. Okuma bölgeleri, ağ veya diğer geçici sorunlar nedeniyle geri kalabilir. Geri yükleme yaparken, belirli bir bölgedeki belirli bir kaynak için en son geri yüklenebilir zaman damgasını alabilirsiniz. En son geri yüklenebilir zaman damgasına başvurmak, kaynak yedeklemelerinin verilen zaman damgasına kadar olduğunu ve bu bölgede geri yüklenebileceğini onaylamaya yardımcı olur.

Şu anda belirli bir noktada bir Azure Cosmos DB hesabı (NoSQL için API veya MongoDB API'si, Tablo için API, Gremlin için API) içeriğini başka bir hesaba geri yükleyebilirsiniz. Bu geri yükleme işlemini Azure portalı, Azure CLI (Azure CLI), Azure PowerShell veya Azure Resource Manager şablonları aracılığıyla gerçekleştirebilirsiniz.

Yedekleme alanı yedekliliği

Varsayılan olarak, Azure Cosmos DB sürekli mod yedekleme verilerini yerel olarak yedekli depolama bloblarında depolar. Alanlar arası yedeklilik yapılandırılmış bölgeler için yedekleme, alanlar arası yedekli depolama bloblarında depolanır. Sürekli yedekleme modunda yedekleme depolama yedekliliğini güncelleştiremezsiniz.

Geri yüklemenin farklı yolları

Sürekli yedekleme modu, silinen kapsayıcıları ve veritabanlarını geri yüklemenin iki yolunu destekler. Bunlar, burada belgelendiği gibi yeni bir hesaba geri yüklenebilir veya burada açıklandığı gibi mevcut bir hesaba geri yüklenebilir. Bu iki mod arasındaki seçim senaryolara bağlıdır. Çoğu durumda, silinen kapsayıcıları ve veritabanlarını mevcut bir hesaba geri yüklemek tercih edilir. Bu, yeni bir hesaba geri yüklenmeleri durumunda gerekli olan veri aktarımının maliyetini önler. Yanlışlıkla veri değişikliğinin yapıldığı senaryo için tercih edilen seçenek yeni hesaba geri yükleme olabilir.

Yeni hesaba ne geri yüklenir?

Kararlı bir durumda, kaynak hesapta gerçekleştirilen tüm mutasyonlar (veritabanları, kapsayıcılar ve öğeler dahil) 100 saniye içinde zaman uyumsuz olarak yedeklenir. Azure Depolama yedekleme medyası çalışmıyor veya kullanılamıyorsa, medya kullanılabilir olana kadar mutasyonlar yerel olarak kalıcı hale gelir. Daha sonra mutasyonlar temizlenir ve geri yüklenebilen operasyonların aslına uygunluk kaybı yaşanmasını önler.

Sağlanan kapsayıcı işleme birimlerinin herhangi bir bileşimini, paylaşılan veritabanı işleme birimini veya hesabın tamamını geri yüklemeyi seçebilirsiniz. Geri yükleme eylemi tüm verileri ve bunların dizin özelliklerini yeni bir hesaba geri yükler. Geri yükleme işlemi bir hesapta, veritabanında veya kapsayıcıda geri yüklenen tüm verilerin belirtilen geri yükleme süresince tutarlı olmasını garanti eder. Geri yükleme süresi, geri yüklenmesi gereken verilerin miktarına bağlıdır. Yeni geri yüklenen veritabanı hesabının tutarlılık ayarı, kaynak veritabanı hesabının tutarlılık ayarlarıyla aynı olacaktır.

Not

Sürekli yedekleme moduyla yedeklemeler, Azure Cosmos DB hesabınızın kullanılabildiği her bölgede alınır. Her bölge hesabı için alınan yedeklemeler varsayılan olarak Yerel olarak yedeklidir ve hesabınızda bu bölge için kullanılabilirlik alanı özelliği etkinleştirilmişse Alanlar yedeklidir. Geri yükleme eylemi her zaman verileri yeni bir hesaba geri yükler.

Ne geri yüklenmez?

Belirli bir noktaya kurtarma işleminden sonra aşağıdaki yapılandırmalar geri yüklenmez:

  • Paylaşılan aktarım hızı veritabanı altındaki kapsayıcıların bir alt kümesi geri yüklenemez. Veritabanının tamamı bir bütün olarak geri yüklenebilir.
  • Güvenlik duvarı, Sanal Ağ sanal ağ, Veri düzlemi Rolü tabanlı erişim denetimi RBAC veya özel uç nokta ayarları.
  • Kaynak hesaptan tüm Bölgeler.
  • Saklı yordamlar, tetikleyiciler, UDF'ler.
  • Rol tabanlı erişim denetimi atamaları.

Geri yükleme tamamlandıktan sonra bu yapılandırmaları geri yüklenen hesaba ekleyebilirsiniz.

Canlı hesaplar için geri yüklenebilen zaman damgası

Silinmemiş Azure Cosmos DB canlı hesaplarını geri yüklemek için kapsayıcı için her zaman en son geri yüklenebilir zaman damgasını belirlemek en iyi yöntemdir. Daha sonra hesabı en son sürümüne geri yüklemek için bu zaman damgasını kullanabilirsiniz.

Geri yükleme senaryoları

Belirli bir noktaya geri yükleme özelliği aşağıdaki senaryoları destekler. [1] ile [3] arasında senaryolarda, geri yükleme zaman damgası önceden biliniyorsa geri yüklemenin nasıl tetikleneceği gösterilmektedir. Ancak, yanlışlıkla silme veya bozulmanın tam zamanını bilmediğiniz senaryolar olabilir. [4] ve [5] senaryoları, geri yüklenebilir veritabanı veya kapsayıcılardaki yeni olay akışı API'lerini kullanarak geri yükleme zaman damgasının nasıl bulunduğunu göstermektedir.

Geri yüklenebilen bir hesap için zaman damgaları içeren yaşam döngüsü olayları.

  1. Silinen hesabı geri yükle - Geri yükleyebileceğiniz tüm silinmiş hesaplar Geri Yükleme bölmesinde görünür. Örneğin, A Hesabı zaman damgası T3'te silinirse. Bu durumda T3'ten hemen önceki zaman damgası, konum, hedef hesap adı, kaynak grubu ve hedef hesap adı Azure portalından, PowerShell'den veya CLI'dan geri yüklemek için yeterlidir.

    Geri yüklenebilen bir veritabanı ve kapsayıcı için zaman damgaları içeren yaşam döngüsü olayları.

  2. Belirli bir bölgedeki bir hesabın verilerini geri yükleme - Örneğin, A Hesabı T3 zaman damgasında Doğu ABD ve Batı ABD olmak üzere iki bölgede mevcutsa. Batı ABD'de A hesabının bir kopyasına ihtiyacınız varsa, azure portalından, PowerShell'den veya CLI'dan belirli bir noktaya geri yükleme gerçekleştirebilir ve hedef konum olarak Batı ABD kullanabilirsiniz.

  3. Bilinen geri yükleme zaman damgasına sahip bir kapsayıcı içindeki yanlışlıkla yazma veya silme işleminden kurtarma - Örneğin, Veritabanı 1 içindeki Kapsayıcı 1'in içeriğinin yanlışlıkla T3 zaman damgasında değiştirildiğini biliyorsanız. Kapsayıcının istenen durumunu kurtarmak için zaman damgası T3'te Azure portalından, PowerShell'den veya CLI'dan başka bir hesaba belirli bir noktaya geri yükleme yapabilirsiniz.

  4. Veritabanının yanlışlıkla silinmesinden önceki bir zamana hesap geri yükleme - Azure portalında, bir veritabanının ne zaman silindiğini belirlemek ve geri yükleme süresini bulmak için olay akışı bölmesini kullanabilirsiniz. Benzer şekilde, Azure CLI ve PowerShell ile veritabanı olay akışını numaralandırarak veritabanı silme olayını bulabilir ve ardından geri yükleme komutunu gerekli parametrelerle tetikleyebilirsiniz.

  5. Kapsayıcı özelliklerinin yanlışlıkla silinmesinden veya değiştirilmesinden önce hesabı önceki bir noktaya geri yükleyin. - Azure portalında, geri yükleme zamanını bulmak için bir kapsayıcının ne zaman oluşturulduğunu, değiştirildiğini veya silindiğini belirlemek için olay akışı bölmesini kullanabilirsiniz. Benzer şekilde, Azure CLI ve PowerShell ile kapsayıcı olayları akışını numaralandırarak tüm kapsayıcı olaylarını bulabilir ve ardından geri yükleme komutunu gerekli parametrelerle tetikleyebilirsiniz.

İzinler

Azure Cosmos DB, sürekli yedekleme hesabının geri yükleme izinlerini belirli bir rol veya sorumluyla yalıtmanıza ve kısıtlamanıza olanak tanır. Daha fazla bilgi edinmek için İzinler makalesine bakın.

Fiyatlandırma

Sürekli 30 günlük yedeklemeye sahip Azure Cosmos DB hesabı, yedeklemeyi depolamak için ek aylık ücrete sahiptir. Verilerinizi geri yüklemek için hem 30 günlük hem de 7 günlük sürekli geri katmanı ücretlendirilir. Geri yükleme işlemi her başlatıldığında geri yükleme maliyeti eklenir. Bir hesabı sürekli yedeklemeyle yapılandırdıysanız ancak verileri geri yüklemezseniz, faturanıza yalnızca yedekleme depolama maliyeti dahil edilir.

Aşağıdaki örnek, Batı ABD'de dağıtılan bir Azure Cosmos DB hesabının fiyatını temel alır. Fiyatlandırma ve hesaplama, kullandığınız bölgeye bağlı olarak değişebilir. En son fiyatlandırma bilgileri için Azure Cosmos DB fiyatlandırma sayfasına bakın.

  • 30 günlük sürekli yedekleme ilkesiyle etkinleştirilen tüm hesaplar aşağıdaki gibi hesaplanan yedekleme depolama alanı için aylık ücretlendirilir:

    $0,20/GB * Hesaptaki GB cinsinden veri boyutu * Bölge sayısı

  • Her geri yükleme API'sini çağırma tek seferlik ücretlendirilir. Ücret, geri yüklenen veri miktarının bir işlevidir:

    0,15 USD/GB * GB cinsinden veri boyutu.

Örneğin, iki bölgede 1 TB veriniz varsa:

  • Yedekleme depolama maliyeti (1000 * 0,20 * 2) = aylık 400 ABD doları olarak hesaplanır

  • Geri yükleme maliyeti (1000 * 0,15) = geri yükleme başına 150 ABD doları olarak hesaplanır

İpucu

Azure Cosmos DB hesabınızın geçerli veri kullanımını ölçme hakkında daha fazla bilgi için bkz . Azure İzleyici Azure Cosmos DB içgörülerini keşfetme. Sürekli 7 günlük katman, verilerin yedeklenmeleri için ücret ödemez.

Sürekli 30 günlük katman ile Sürekli 7 günlük katman karşılaştırması

  • Bir katman için bekletme süresi, başka bir katman için 30 gün ile 7 gündür.
  • Yedekleme depolaması için 30 günlük saklama katmanı ücretlendirilir. 7 günlük saklama katmanı ücretlendirilmiyor.
  • Geri yükleme her zaman iki katmanda da ücretlendirilir

Yaşam süresi

  • Varsayılan geri yükleme işlemi, TTL yapılandırması da dahil olmak üzere bir kapsayıcının tüm özelliklerini varsayılan olarak geri yükler; geri yükleme TTL'yi devre dışı bırakmadan yapılırsa bu durum verilerin silinmesine neden olabilir. Silme işlemini önlemek için lütfen geri yüklemeyi yaparken PowerShell (-DisableTtl $true) veya cli (--disable-ttl True) içinde TTL'yi devre dışı bırakmak için parametresini geçirin.

Müşteri tarafından yönetilen anahtarlar

Öğrenmek için bkz . Müşteri tarafından yönetilen anahtarlar sürekli yedeklemeleri nasıl etkiler?

  • Sürekli yedeklemelerle müşteri tarafından yönetilen anahtarları kullanırken Azure Cosmos DB hesabınızı yapılandırma.
  • Müşteri tarafından yönetilen anahtarlar geri yüklemeleri nasıl etkiler?

Geçerli sınırlamalar

Şu anda belirli bir noktaya geri yükleme işlevselliği aşağıdaki sınırlamalara sahiptir:

  • Sürekli yedekleme için desteklenen SQL, MongoDB, Gremlin ve Tablo için Azure Cosmos DB API'leri. Cassandra için API şu anda desteklenmiyor.

  • Multi region write hesapları desteklenmez.

  • Sürekli yedekleme modunu kullanan veritabanı hesapları için Synapse Link GA'dır. Synapse Link özellikli hesaplar için sürekli yedekleme modu genel önizleme aşamasındadır. Şu anda kapsayıcılardan Synapse Link'i devre dışı bırakmış olan müşteriler sürekli yedeklemeye geçiremez. Analiz deposu yedeklemelere dahil değildir. Yedekleme ve analiz deposu hakkında daha fazla bilgi için bkz . analiz deposu yedeklemesi.

  • Geri yüklenen hesaplar kaynak hesabınızın bulunduğu bölgede oluşturulur. Bir hesabı kaynak hesabın mevcut olmadığı bir bölgeye geri yükleyemezsiniz.

  • Geri yükleme penceresi, sürekli 30 günlük katman için yalnızca 30 gündür ve sürekli 7 günlük katman için yedi gündür. Bu katmanlar değiştirilebilir, ancak gerçek miktarlar (7 veya 30) değiştirilemez. Ayrıca, 30 günlük katmandan 7 günlük katmana geçerseniz, yedinci katmandan sonraki günlerde veri kaybı olasılığı vardır.

  • Yedeklemeler otomatik olarak coğrafi olağanüstü durumlara karşı dayanıklı değildir. Hesabın ve yedeklemenin dayanıklılığı için açıkça başka bir bölge eklenmelidir.

  • Geri yükleme işlemi devam ederken Kimlik ve Erişim Yönetimi (IAM) ilkelerini değiştirmeyin veya silmeyin. Bu ilkeler, hesabın herhangi bir sanal ağı, güvenlik duvarı yapılandırmasını değiştirmesine izin verir.

  • Sürekli yedeklemeye sahip MongoDB için Azure Cosmos DB hesapları, mevcut bir koleksiyon için benzersiz dizin oluşturmayı desteklemez. Böyle bir hesap için, benzersiz dizinler koleksiyonlarıyla birlikte oluşturulmalıdır; koleksiyon uzantısı oluşturma komutları kullanılarak yapılabilir.

  • Geri yüklemeden sonra, bazı koleksiyonlarda tutarlı dizin yeniden oluşturuluyor olabilir. IndexTransformationProgress özelliği aracılığıyla yeniden derleme işleminin durumunu de kontrol edebilirsiniz.

  • Sürekli yedekleme modu hesabı oluşturduğunuzda MongoDB için API'deki benzersiz dizinler eklenemez, güncelleştirilemez veya bırakılamaz. Ayrıca, bir hesabı düzenli aralıklı moddan sürekli moda geçirdiğinizde de değiştirilemezler.

  • Sürekli mod geri yükleme, geri yükleme noktasından itibaren geçerli olan aktarım hızı ayarını geri yüklemeyebilir.

Sonraki adımlar