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

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Gremlin Tablo

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.

Çok bölgeli yazma hesabı geri yüklemeleri (önizleme)

Hub bölgesinde gerçekleştirilen tüm yazma işlemleri hemen onaylanır ve 100 saniye içinde zaman uyumsuz olarak yedeklenir. Uydu bölgesinde (çakışmasız çözüm bölgesi) yapılan mutasyonlar onay için merkez bölgeye gönderilir. Merkez bölgesi herhangi bir çakışma çözümü gerekip gerekmediğini denetler ve çakışmaları çözdükten sonra bir çakışma çözümlenmiş zaman damgası atar ve uydu bölgesine geri gönderir. Uydu bölgesi yalnızca merkez bölgesinden onay alındıktan sonra varlıkları yedekler.
Özetlemek gerekirse, geri yükleme işlemi yalnızca hub bölgesinden çakışma çözümleme zaman damgası ile onaylanan varlıkları geri yükler.

Not

Çoklu yazma bölgesi hesapları hakkında daha fazla bilgiyi burada bulabilirsiniz; merkez bölgesi portaldaki ilk bölgedir.

Çok bölgeli yazma hesabı geri yüklemeleri (önizleme) için geri yüklenmemiş olan nedir?

Geri yükleme zaman damgası tarafından henüz onaylanmayan mutasyonlar geri yüklenmez. Özel çakışma çözümleme ilkesine sahip koleksiyonlar, zaman damgasına göre son yazan kazanıra sıfırlanır.

Örnek: Doğu abd ve Batı abd olmak üzere iki bölge içeren ve doğu ABD'nin merkez bölge olduğu çoklu yazma bölgesi hesabı verildiğinde aşağıdaki olay dizisini göz önünde bulundurun:

Bu senaryoda, geri yükleme zaman damgası T3 ise yalnızca entity1 geri yüklenir. Entity2, merkez bölgesi tarafından T3 tarafından onaylanmamıştır. Yalnızca geri yükleme zaman damgası > T4 ise, entity2 geri yüklenir. T1: İstemci, Doc1 belgesini Doğu ABD'ye yazar. (Merkez bölgesi Doğu ABD olduğundan yazma işlemi hemen onaylanır)
T2: İstemci, Doc2 belgesini Batı ABD'ye yazar. T3: Batı ABD, doc2'yi onay için Doğu ABD'ye gönderir. T4: Doğu ABD Doc2'yi alır, belgeyi onaylar ve Doc2'yi Batı ABD'ye geri gönderir. T5: Batı ABD onaylı Doc2 alır.

Bu senaryoda, sağlanan geri yükleme zaman damgası T3 ise, yalnızca Doc1 geri yüklenir. Doc2, merkez tarafından T3 tarafından onaylanmadı. Yalnızca geri yükleme zaman damgası > T4 ise, doc2 geri yüklenir.

Not

Merkez bölgesinde geri yükleme genel önizlemede desteklenir.

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ğ VNET, 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

Müşteri tarafından yönetilen anahtarlar

Aşağıdakileri öğ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.

  • Şu anda Azure Synapse Link sürekli yedekleme veritabanı hesaplarında etkinleştirilebilir. Ancak tam tersi durum henüz desteklenmediğinden Synapse Link özellikli veritabanı hesaplarında sürekli yedeklemeyi açmak mümkün değildir. 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.

  • Belirli bir noktaya geri yükleme işlevi her zaman yeni bir Azure Cosmos DB hesabına geri yüklenir. Mevcut hesaba geri yükleme şu anda desteklenmemektedir. Yerinde geri yükleme hakkında geri bildirim sağlamak istiyorsanız hesap temsilciniz aracılığıyla Azure Cosmos DB ekibine başvurun.

  • 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.

  • 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üklemeyi yaparken TTL'yi devre dışı bırakmak için parametre geçirebilirsiniz. Sonuç olarak, bu şekilde yapılandırdıysanız geri yüklenen veriler hemen silinebilir. Bu durumu önlemek için geri yükleme zaman damgası TTL özelliklerinin kapsayıcıya eklenmesinden önceki bir tarih olmalıdır.

  • Sürekli yedekleme modu hesabı oluşturduğunuzda MongoDB için API'deki benzersiz dizinler eklenemez veya güncelleştirilemez. 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