Deneyime özgü olağanüstü durum kurtarma kılavuzu
Bu belge, bölgesel bir olağanüstü durum durumunda Doku verilerinizi kurtarmaya yönelik deneyime özgü yönergeler sağlar.
Örnek senaryo
Bu belgedeki bazı kılavuz bölümleri, açıklama ve çizim amacıyla aşağıdaki örnek senaryoyu kullanır. Bu senaryoya gerektiği gibi geri başvurun.
A bölgesinde W1 çalışma alanı olan bir C1 kapasiteniz olduğunu varsayalım. C1 kapasitesi için olağanüstü durum kurtarmayı açtıysanız, OneLake verileri B bölgesindeki bir yedeklemeye çoğaltılır. A bölgesi kesintilerle karşılaşıyorsa, C1'deki Doku hizmeti B bölgesine yük devreder.
Aşağıdaki görüntüde bu senaryo gösterilmektedir. Soldaki kutuda kesintiye uğrayan bölge gösterilir. Ortadaki kutu, yük devretmeden sonra verilerin kullanılabilirliğinin devamını temsil eder ve sağ taraftaki kutu, müşteri hizmetlerini tam işleve geri yüklemek için harekete geçtikten sonra tam olarak kapsanan durumu gösterir.
Genel kurtarma planı aşağıdadır:
Yeni bir bölgede yeni bir Doku kapasitesi C2 oluşturun.
C2'de, C1 ile aynı adlara sahip ilgili öğeleri içeren yeni bir W2 çalışma alanı oluşturun. W1.
Kesintiye uğrayan C1'den verileri kopyalayın. W1'i C2'ye. W2.
Öğeleri tam işlevlerine geri yüklemek için her bileşen için ayrılmış yönergeleri izleyin.
Deneyime özgü kurtarma planları
Aşağıdaki bölümlerde, müşterilere kurtarma işlemi boyunca yardımcı olmak için her Doku deneyimi için adım adım kılavuzlar sağlanır.
Veri Mühendisliği
Bu kılavuz, Veri Madenciliği deneyimi için kurtarma yordamlarında size yol gösterir. Göl evleri, not defterleri ve Spark iş tanımlarını kapsar.
Göl evi
Orijinal bölgedeki göl evleri müşteriler tarafından kullanılamaz durumda kalır. Müşteriler, bir göl evi kurtarmak için C2 çalışma alanında yeniden oluşturabilir. W2. Göl evleri kurtarmak için iki yaklaşım öneririz:
Yaklaşım 1: Lakehouse Delta tablolarını ve dosyalarını kopyalamak için özel betik kullanma
Müşteriler özel bir Scala betiği kullanarak lakehouse'ları yeniden oluşturabilir.
Yeni oluşturulan C2 çalışma alanında göl evi (örneğin LH1) oluşturun. W2.
C2 çalışma alanında yeni bir not defteri oluşturun. W2.
Tabloları ve dosyaları özgün lakehouse'tan kurtarmak için abfss gibi OneLake yollarını içeren verilere bakın (bkz . Microsoft OneLake'e Bağlanma). Özgün lakehouse'dan dosya ve tabloların ABFS yollarını almak için not defterindeki aşağıdaki kod örneğini kullanabilirsiniz (bkz . Microsoft Spark Yardımcı Programlarına Giriş). (C1'i değiştirin. Gerçek çalışma alanı adıyla W1)
mssparkutils.fs.ls('abfs[s]://<C1.W1>@onelake.dfs.fabric.microsoft.com/<item>.<itemtype>/<Tables>/<fileName>')
Tabloları ve dosyaları yeni oluşturulan lakehouse'a kopyalamak için aşağıdaki kod örneğini kullanın.
Delta tablolarında, yeni göl evinde kurtarmak için tabloyu birer birer kopyalamanız gerekir. Lakehouse dosyaları söz konusu olduğunda, tüm temel klasörlerle birlikte dosya yapısının tamamını tek bir yürütmeyle kopyalayabilirsiniz.
Betikte gereken yük devretme zaman damgası için destek ekibine ulaşın.
%%spark val source="abfs path to original Lakehouse file or table directory" val destination="abfs path to new Lakehouse file or table directory" val timestamp= //timestamp provided by Support mssparkutils.fs.cp(source, destination, true) val filesToDelete = mssparkutils.fs.ls(s"$source/_delta_log") .filter{sf => sf.isFile && sf.modifyTime > timestamp} for(fileToDelte <- filesToDelete) { val destFileToDelete = s"$destination/_delta_log/${fileToDelte.name}" println(s"Deleting file $destFileToDelete") mssparkutils.fs.rm(destFileToDelete, false) } mssparkutils.fs.write(s"$destination/_delta_log/_last_checkpoint", "", true)
Betiği çalıştırdığınızda tablolar yeni lakehouse'da görünür.
Yaklaşım 2: Dosyaları ve tabloları kopyalamak için Azure Depolama Gezgini kullanma
Özgün lakehouse'dan yalnızca belirli Lakehouse dosyalarını veya tablolarını kurtarmak için Azure Depolama Gezgini kullanın. Ayrıntılı adımlar için OneLake'i Azure Depolama Gezgini ile tümleştirme bölümüne bakın. Büyük veri boyutları için Yaklaşım 1'i kullanın.
Not
Yukarıda açıklanan iki yaklaşım, meta veriler OneLake'deki verilerle birlikte bulunduğundan ve depolandığından Delta biçimli tabloların hem meta verilerini hem de verilerini kurtarır. Spark Veri Tanımlama Dili (DDL) betikleri/komutları kullanılarak oluşturulan Delta biçimli olmayan tablolar (e.g. CSV, Parquet vb.) için, kullanıcı bunları kurtarmak için Spark DDL betiklerini/komutlarını korumak ve yeniden çalıştırmakla sorumludur.
Not Defteri
Birincil bölgedeki not defterleri müşteriler tarafından kullanılamaz durumda kalır ve not defterlerindeki kod ikincil bölgeye çoğaltılmaz. Not Defteri kodunu yeni bölgede kurtarmak için Not Defteri kodu içeriğini kurtarmaya yönelik iki yaklaşım vardır.
Yaklaşım 1: Git tümleştirmesi ile kullanıcı tarafından yönetilen yedeklilik (genel önizlemede)
Bunu kolay ve hızlı hale getirmenin en iyi yolu, Doku Git tümleştirmesini kullanmak ve ardından not defterinizi ADO deponuzla eşitlemektir. Hizmet başka bir bölgeye devredildikten sonra, depoyu kullanarak oluşturduğunuz yeni çalışma alanında not defterini yeniden oluşturabilirsiniz.
Git tümleştirmesini ayarlayın ve Bağlan ve ADO deposuyla eşitle'yi seçin.
Aşağıdaki görüntüde eşitlenmiş not defteri gösterilmektedir.
Not defterini ADO deposundan kurtarın.
Yeni oluşturulan çalışma alanında Azure ADO deponuza yeniden bağlanın.
Kaynak denetimi düğmesini seçin. Ardından deponun ilgili dalını seçin. Ardından Tümünü güncelleştir'i seçin. Özgün not defteri görüntülenir.
Özgün not defterinin varsayılan bir lakehouse'u varsa, kullanıcılar Lakehouse bölümüne başvurarak lakehouse'u kurtarabilir ve sonra yeni kurtarılan göl evi ile yeni kurtarılan not defterini bağlayabilir.
Git tümleştirmesi, not defteri kaynak gezgininde dosyaları, klasörleri veya not defteri anlık görüntülerini eşitlemeyi desteklemez.
Özgün not defterinin kaynak gezgininde dosyaları varsa:
Dosyaları veya klasörleri yerel bir diske veya başka bir yere kaydettiğinizden emin olun.
Dosyayı yerel diskinizde veya bulut sürücülerinden kurtarılan not defterine yeniden yükleyin.
Özgün not defterinin bir not defteri anlık görüntüsü varsa, not defteri anlık görüntüsünü kendi sürüm denetim sisteminize veya yerel diskinize de kaydedin.
Git tümleştirmesi hakkında daha fazla bilgi için bkz . Git tümleştirmesine giriş.
Yaklaşım 2: Kod içeriğini yedeklemeye yönelik el ile yaklaşım
Git tümleştirme yaklaşımını benimsemezseniz kodunuzun en son sürümünü, kaynak gezginindeki dosyaları ve not defteri anlık görüntüsünü Git gibi bir sürüm denetim sistemine kaydedebilir ve olağanüstü durumdan sonra not defteri içeriğini el ile kurtarabilirsiniz:
Kurtarmak istediğiniz not defteri kodunu içeri aktarmak için "Not defterini içeri aktar" özelliğini kullanın.
İçeri aktarma işleminden sonra istediğiniz çalışma alanına gidin (örneğin, "C2. W2") ile erişebilirsiniz.
Özgün not defterinin varsayılan lakehouse'u varsa Lakehouse bölümüne bakın. Ardından yeni kurtarılan lakehouse'u (özgün varsayılan lakehouse ile aynı içeriğe sahip olan) yeni kurtarılan not defterine bağlayın.
Özgün not defterinin kaynak gezgininde dosyaları veya klasörleri varsa, kullanıcının sürüm denetim sistemine kaydedilmiş dosyaları veya klasörleri yeniden karşıya yükleyin.
Spark İş Tanımı
Birincil bölgedeki Spark iş tanımları (SJD) müşteriler tarafından kullanılamaz durumda kalır ve not defterindeki ana tanım dosyası ve başvuru dosyası OneLake aracılığıyla ikincil bölgeye çoğaltılır. SJD'yi yeni bölgede kurtarmak istiyorsanız, SJD'yi kurtarmak için aşağıda açıklanan el ile adımları izleyebilirsiniz. SJD'nin geçmiş çalıştırmalarının kurtarılmayacağını unutmayın.
Azure Depolama Gezgini kullanarak kodu özgün bölgeden kopyalayıp olağanüstü durumdan sonra Lakehouse başvurularını el ile yeniden bağlayarak SJD öğelerini kurtarabilirsiniz.
Yeni C2 çalışma alanında yeni bir SJD öğesi (örneğin, SJD1) oluşturun. W2, özgün SJD öğesiyle (örneğin, dil, ortam vb.) aynı ayarlara ve yapılandırmalara sahiptir.
özgün SJD öğesinden yeni SJD öğesine Libs, Mains ve Snapshots kopyalamak için Azure Depolama Gezgini kullanın.
Kod içeriği yeni oluşturulan SJD'de görünür. Yeni kurtarılan Lakehouse başvuruyu işe el ile eklemeniz gerekir (Lakehouse kurtarma adımlarına bakın). Kullanıcıların özgün komut satırı bağımsız değişkenlerini el ile yeniden girmeleri gerekir.
Artık yeni kurtarılan SJD'nizi çalıştırabilir veya zamanlayabilirsiniz.
Azure Depolama Gezgini hakkında ayrıntılı bilgi için bkz. OneLake'i Azure Depolama Gezgini ile tümleştirme.
Veri Bilimi
Bu kılavuz, Veri Bilimi deneyimi için kurtarma yordamlarında size yol gösterir. ML modellerini ve denemelerini kapsar.
ML Modeli ve Denemesi
Birincil bölgedeki Veri Bilimi öğeler müşteriler tarafından kullanılamaz durumda kalır ve ML modellerindeki ve denemelerdeki içerik ve meta veriler ikincil bölgeye çoğaltılmaz. Bunları yeni bölgede tam olarak kurtarmak için, kod içeriğini bir sürüm denetim sistemine (Git gibi) kaydedin ve olağanüstü durumdan sonra kod içeriğini el ile yeniden çalıştırın.
Not defterini kurtarın. Not defteri kurtarma adımlarına bakın.
Yapılandırma, geçmişe dönük olarak çalıştırılan ölçümler ve meta veriler eşleştirilmiş bölgeye çoğaltılamaz. Olağanüstü durumdan sonra ML modellerini ve denemelerini tamamen kurtarmak için veri bilimi kodunuzun her sürümünü yeniden çalıştırmanız gerekir.
Data Warehouse
Bu kılavuz, Veri Ambarı deneyimi için kurtarma yordamlarında size yol gösterir. Depoları kapsıyor.
Ambar
Özgün bölgedeki ambarlar müşteriler tarafından kullanılamaz durumda kalır. Ambarları kurtarmak için aşağıdaki iki adımı kullanın.
C2 çalışma alanında yeni bir ara göl evi oluşturun. Özgün ambardan kopyaladığınız veriler için W2.
Ambar Gezgini ve T-SQL özelliklerinden yararlanarak ambarın Delta tablolarını doldurun (bkz . Microsoft Fabric'te veri ambarında tablolar).
Not
Geliştirme uygulamalarınıza göre Ambar kodunuzu (şema, tablo, görünüm, saklı yordam, işlev tanımları ve güvenlik kodları) sürümlenmiş ve güvenli bir konuma (Git gibi) kaydetmeniz önerilir.
Lakehouse ve T-SQL kodu aracılığıyla veri alımı
Yeni oluşturulan C2 çalışma alanında. W2:
C2'de geçici bir göl evi "LH2" oluşturun. W2.
Lakehouse kurtarma adımlarını izleyerek ara göl evindeki Delta tablolarını özgün ambardan kurtarın.
C2'de yeni bir "WH2" ambarı oluşturun. W2.
Ambar gezgininizde geçici göl evi bağlayın.
Veri içeri aktarma işleminden önce tablo tanımlarını nasıl dağıtacağınız bağlı olarak, içeri aktarmalar için kullanılan gerçek T-SQL farklılık gösterebilir. Ambar tablolarını göllerden kurtarmak için INSERT INTO, SELECT INTO veya CREATE TABLE AS SELECT yaklaşımını kullanabilirsiniz. Örneğin devamında INSERT INTO aromasını kullanacağız. (Aşağıdaki kodu kullanıyorsanız örnekleri gerçek tablo ve sütun adlarıyla değiştirin)
USE WH1 INSERT INTO [dbo].[aggregate_sale_by_date_city]([Date],[City],[StateProvince],[SalesTerritory],[SumOfTotalExcludingTax],[SumOfTaxAmount],[SumOfTotalIncludingTax], [SumOfProfit]) SELECT [Date],[City],[StateProvince],[SalesTerritory],[SumOfTotalExcludingTax],[SumOfTaxAmount],[SumOfTotalIncludingTax], [SumOfProfit] FROM [LH11].[dbo].[aggregate_sale_by_date_city] GO
Son olarak, Doku ambarınızı kullanarak uygulamalardaki bağlantı dizesi değiştirin.
Not
Bölgeler arası olağanüstü durum kurtarma ve tam otomatik iş sürekliliği ihtiyacı olan müşteriler için iki Doku Ambarı kurulumunu ayrı Doku bölgelerinde tutmanızı ve her iki siteye de düzenli dağıtımlar ve veri alımı yaparak kod ve veri eşliğini korumanızı öneririz.
Yansıtılmış veritabanı
Birincil bölgedeki yansıtılmış veritabanları müşteriler tarafından kullanılamaz durumda kalır ve ayarlar ikincil bölgeye çoğaltılmaz. Bölgesel bir hata durumunda kurtarmak için yansıtılmış veritabanınızı farklı bir bölgeden başka bir çalışma alanında yeniden oluşturmanız gerekir.
Data Factory
Birincil bölgedeki Data Factory öğeleri müşteriler tarafından kullanılamaz durumda kalır ve veri işlem hatlarındaki veya veri akışı 2. nesil öğelerdeki ayarlar ve yapılandırma ikincil bölgeye çoğaltılmaz. Bölgesel bir hata durumunda bu öğeleri kurtarmak için Veri Entegrasyonu öğelerinizi farklı bir bölgeden başka bir çalışma alanında yeniden oluşturmanız gerekir. Aşağıdaki bölümlerde ayrıntılar özetlenmiştir.
Veri Akışları 2. Nesil
Yeni bölgedeki bir Veri Akışı 2. Nesil öğesini kurtarmak istiyorsanız, PQT dosyasını Git gibi bir sürüm denetim sistemine dışarı aktarmanız ve olağanüstü durumdan sonra Veri Akışı 2. Nesil içeriğini el ile kurtarmanız gerekir.
Veri Akışı 2. Nesil öğenizden Power Query düzenleyicisinin Giriş sekmesinde Şablonu dışarı aktar'ı seçin.
Şablonu dışarı aktar iletişim kutusunda, bu şablon için bir ad (zorunlu) ve açıklama (isteğe bağlı) girin. İşlem sona erdiğinde Tamam öğesini seçin.
Olağanüstü durumdan sonra, yeni çalışma alanında yeni bir Dataflow 2. Nesil öğesi oluşturun "C2. W2".
Power Query düzenleyicisinin geçerli görünüm bölmesinde Power Query şablonundan içeri aktar'ı seçin.
Aç iletişim kutusunda varsayılan indirmeler klasörünüze göz atın ve önceki adımlarda kaydettiğiniz .pqt dosyasını seçin. Ardından Aç'ı seçin.
Şablon daha sonra yeni Veri Akışı 2. Nesil öğenize aktarılır.
Veri İşlem Hatları
Müşteriler bölgesel olağanüstü durum durumunda veri işlem hatlarına erişemez ve yapılandırmalar eşleştirilmiş bölgeye çoğaltılamaz. Kritik veri işlem hatlarınızı farklı bölgelerdeki birden çok çalışma alanında oluşturmanızı öneririz.
Gerçek Zamanlı Analiz
Bu kılavuz, Gerçek Zamanlı Zeka deneyimi için kurtarma yordamlarında size yol gösterir. KQL veritabanlarını/sorgu kümelerini ve olay akışlarını kapsar.
KQL Veritabanı/Sorgu Kümesi
KQL veritabanı/sorgu kümesi kullanıcıları, bölgesel bir olağanüstü durumlara karşı koruma sağlamak için proaktif önlemler almalıdır. Aşağıdaki yaklaşım, bölgesel bir olağanüstü durum durumunda KQL veritabanlarınızdaki sorgu kümelerindeki verilerin güvenli ve erişilebilir kalmasını sağlar.
KQL veritabanları ve sorgu kümeleri için etkili bir olağanüstü durum kurtarma çözümü garanti etmek için aşağıdaki adımları kullanın.
Bağımsız KQL veritabanları oluşturma: Ayrılmış Doku kapasitelerinde iki veya daha fazla bağımsız KQL veritabanı/sorgu kümesi yapılandırın. Bunlar, dayanıklılığı en üst düzeye çıkarmak için iki farklı Azure bölgesinde (tercihen Azure eşleştirilmiş bölgeler) ayarlanmalıdır.
Yönetim etkinliklerini çoğaltma: Bir KQL veritabanında gerçekleştirilen tüm yönetim eylemleri diğerine yansıtılmalıdır. Bu, her iki veritabanının da eşitlenmiş durumda kalmasını sağlar. Çoğaltılması gereken önemli etkinlikler şunlardır:
Tablolar: Tablo yapılarının ve şema tanımlarının veritabanları arasında tutarlı olduğundan emin olun.
Eşleme: Gerekli eşlemeleri yinele. Veri kaynaklarının ve hedeflerin doğru hizalanmış olduğundan emin olun.
İlkeler: Her iki veritabanının da benzer veri saklama, erişim ve diğer ilgili ilkelere sahip olduğundan emin olun.
Kimlik doğrulamasını ve yetkilendirmeyi yönetme: Her çoğaltma için gerekli izinleri ayarlayın. Güvenlik standartlarını korurken gerekli personele erişim sağlayarak uygun yetkilendirme düzeylerinin belirlendiğinden emin olun.
Paralel veri alımı: Verileri birden çok bölgede tutarlı ve hazır tutmak için, veri kümesini aldığınız her KQL veritabanına aynı anda yükleyin.
Olay Akışı
Olay akışı, kod içermeyen bir deneyimle gerçek zamanlı olayları yakalamak, dönüştürmek ve çeşitli hedeflere (örneğin lakehouses, KQL veritabanları/sorgu kümeleri) yönlendirmek için Doku platformunda merkezi bir yerdir. Hedefler olağanüstü durum kurtarma tarafından desteklendiği sürece olay akışları veri kaybetmez. Bu nedenle, müşterilerin veri kullanılabilirliğini garanti etmek için bu hedef sistemlerin olağanüstü durum kurtarma özelliklerini kullanması gerekir.
Müşteriler aynı Eventstream iş yüklerini birden çok Azure bölgesine çok siteli etkin/etkin bir stratejinin parçası olarak dağıtarak da coğrafi olarak yedeklilik elde edebilir. Çok siteli etkin/etkin bir yaklaşımla müşteriler, dağıtılan bölgelerden herhangi birinde iş yüklerine erişebilir. Bu yaklaşım olağanüstü durum kurtarma için en karmaşık ve maliyetli yaklaşımdır, ancak çoğu durumda kurtarma süresini sıfıra yakın bir değere düşürebilir. Müşteriler, coğrafi olarak tamamen yedekli olmak için
Farklı bölgelerde veri kaynaklarının çoğaltmalarını oluşturun.
İlgili bölgelerde Eventstream öğeleri oluşturun.
Bu yeni öğeleri aynı veri kaynaklarına bağlayın.
Farklı bölgelerdeki her olay akışı için aynı hedefleri ekleyin.