Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: ✅ Microsoft Fabric'te Ambar
Bu makale, Azure Synapse Analytics özel SQL havuzundan Microsoft Fabric Data Warehouse'ye geçiş yöntemlerini açıklar.
Tavsiye
Strateji ve göç planlaması hakkında daha fazla bilgi için Migration planning: Azure Synapse Analytics dedicated SQL pools to Fabric Data Warehouse sayfasına bakabilirsiniz.
Azure Synapse Analytics ayrılmış SQL havuzlarından geçiş için otomatik bir deneyim, Veri Ambarı için Fabric Geçiş Yardımcısı kullanılarak sağlanabilir. Bu makalenin geri kalanında daha fazla el ile geçiş adımı yer alır.
Aşağıdaki tablo, veri şeması (DDL), veritabanı kodu (DML) ve veri taşıma yöntemlerini özetlemektedir. Seçenek sütunu her senaryo için detaylara bağlantı verir.
| Seçenek numarası | Seçenek | Ne yapar? | Yetenek veya tercihi | Senaryo |
|---|---|---|---|---|
| 1 | Veri Fabrikası | Şema (DDL) dönüşümü Veri ayıklama Veri alımı |
ADF/Pipeline | Hepsi tek bir şemada (DDL) ve veri geçişiyle basitleştirildi. Boyut tabloları için önerilir. |
| 2 | Bölümlendirilmiş Veri Fabrikası | Şema (DDL) dönüşümü Veri ayıklama Veri alımı |
ADF/Pipeline | okuma/yazma paralelliğini artıracak şekilde bölümleme seçeneklerinin kullanılması, işleme hızını, 1. seçeneğe kıyasla on katına çıkarır ve olgu tabloları için önerilir. |
| 3 | Hızlandırılmış koda sahip Data Factory | Şema (DDL) dönüşümü | ADF/Pipeline | Önce şemayı (DDL) dönüştürün ve geçirin, ardından CETAS kullanarak çıkarın ve verileri en iyi genel alım performansı için COPY/Data Factory kullanarak içeri alın. |
| 4 | Kodun hızlandırılması amacıyla kullanılan saklı yordamlar | Şema (DDL) dönüşümü Veri ayıklama Kod değerlendirmesi |
T-SQL | Üzerinde çalışmak istediği görevler üzerinde daha ayrıntılı denetime sahip IDE kullanan SQL kullanıcısı. Verileri almak için COPY/Data Factory kullanın. |
| 5 | Visual Studio Code için SQL Veritabanı Projesi uzantısı | Şema (DDL) dönüşümü Veri ayıklama Kod değerlendirmesi |
SQL Projesi | Dağıtım için 4. seçeneğin tümleştirilmesiyle SQL Veritabanı Projesi. Verileri almak için COPY veya Data Factory kullanın. |
| 6 | DIŞ TABLO OLUŞTUR VE SELECT OLARAK SEÇ (CETAS) | Veri ayıklama | T-SQL | Azure Data Lake Storage (ADLS) Gen2'ye uygun maliyetli ve yüksek performanslı veri ayıklama işlemi. Verileri almak için COPY/Data Factory kullanın. |
| 7 | dbt kullanarak geçiş | Şema (DDL) dönüşümü veritabanı kodu (DML) dönüştürme |
dbt | Mevcut dbt kullanıcıları DDL ve DML'lerini dönüştürmek için dbt Fabric bağdaştırıcısını kullanabilir. Daha sonra bu tablodaki diğer seçenekleri kullanarak verileri geçirmeniz gerekir. |
İlk geçiş için bir iş yükü seçin
Synapse adanmış SQL havuzundan Fabric Data Warehouse’a geçiş projesine nereden başlayacağınıza karar verirken, aşağıdakileri yapabileceğiniz bir iş yükü alanı seçin:
- Yeni ortamın faydalarını hızla sunarak Fabric Data Warehouse geçişin uygulanabilirliğini kanıtlayın. Küçük ve basit başlayın, birden fazla küçük göçe hazırlanın.
- Şirket içi teknik personelinizin diğer alanlara geçiş yaparken kullandıkları süreçler ve araçlarla ilgili deneyim kazanmalarına izin verin.
- Kaynak Synapse ortamına özgü diğer geçişler ve yardımcı olacak araçlar ve işlemler için bir şablon oluşturun.
Tavsiye
Taşınacak nesnelerin envanterini oluşturun ve geçiş sürecini baştan sona belgeleyin ki diğer özel SQL havuzları veya iş yükleri için tekrarlayabilesiniz.
İlk göçte taşınan veri hacmi, Fabric Data Warehouse ortamının yeteneklerini ve faydalarını gösterecek kadar büyük olmalı, ancak değeri hızlıca gösterecek kadar büyük olmamalıdır. 1-10 terabayt aralığındaki bir boyut tipiktir.
Fabric Data Factory ile geçiş
Bu bölüm, Azure Data Factory ve Synapse pipeline'larına aşina olan kullanıcılar için Data Factory seçeneklerini açıklar. Sürükle-bırak arayüzü, DDL'yi dönüştürmek ve veri taşımak için basit bir yol sunar.
Fabric Data Factory aşağıdaki görevleri gerçekleştirebilir:
- Şemayı (DDL) Fabric Data Warehouse sözdizimi haline dönüştürün.
- Fabric Data Warehouse üzerinde şema (DDL) oluşturun.
- Verileri Fabric Data Warehouse'a aktarın.
Seçenek 1. Şema ve veri geçirme - Veri Kopyalama Yardımcısı ve ForEach Kopyalama Etkinliği
Bu yöntem, kaynak ayrılmış SQL havuzuna bağlanmak, ayrılmış SQL havuzunun DDL sentaksisini Fabric'ye dönüştürmek ve verileri Fabric Data Warehouse'ye kopyalamak için Data Factory Kopyalama veri asistanını kullanır. Bir veya daha fazla hedef tablo seçebilirsiniz (TPC-DS veri kümesi için 22 tablo vardır). UI'de seçilen tablo listesini döngüye almak için ForEach oluşturur ve 22 paralel Kopyalama Etkinliği iş parçacığını çalıştırır.
- Her seçilen tablo için bir tane olan 22
SELECTsorgu özel SQL havuzunda oluşturulur ve yürütülür. - Oluşturulan sorguların çalıştırılmasına izin vermek için uygun DWU ve kaynak sınıfına sahip olduğundan emin olun. Bu durumda, gönderilen 22 sorgunun işlenmesi için en fazla 32 sorgunun geçirilmesine imkan vermek amacıyla,
staticrc10ile birlikte en az DWU1000 gereklidir. - Verilerin özel SQL havuzundan Fabric Data Warehouse’a Data Factory kullanılarak doğrudan kopyalanması hazırlama gerektirir. Yutma süreci iki aşamadan oluşur:
- İlk aşama, özel SQL havuzundan verileri ADLS'ye çıkarır. Bu aşamaya aşamalama denir.
- İkinci aşama, hazırlanan verileri Fabric Data Warehouse'a aktarır. Alım süresinin büyük bölümü hazırlama aşamasında harcanır; bu nedenle hazırlama, performansı önemli ölçüde etkiler.
Önerilen kullanım
ForEach etkinliği oluşturmak için Copy assistant kullanılması, DDL’yi dönüştürmek ve özel SQL havuzundan seçilen tabloları tek adımda Fabric Data Warehouse’a aktarmak için basit bir arayüz sağlar.
Ancak bu seçenek optimal genel veri kapasitesini sağlamaz. Aşamalama ve kaynaktan aşamaya geçiş aşamasında okuma ile yazma işlemlerini paralel hale getirme ihtiyacı gecikmenin başlıca kaynaklarıdır. Bu seçeneği sadece boyut tabloları için kullanın.
Seçenek 2. DDL/Veri Transferi - Bölüm seçeneğiyle işlem hattı
Daha büyük bilgi tablolarını Fabric pipeline ile yüklerken verimliliği artırmak için, her bilgi tablosu için bir Kopyalama etkinliği kullanın ve bölümlemeyi etkinleştirin. Bu yapılandırma, en iyi Kopyalama etkinliği performansını sağlar.
Kaynak tablonun fiziksel bölümlerini kullanılabilir durumda kullanın. Tablo fiziksel olarak bölünmemişse, dinamik bölümleme için bir bölme sütunu ve minimum ile maksimum değerler belirtin. Aşağıdaki ekran görüntüsünde, pipeline Source seçenekleri, ws_sold_date_sk sütununa dayalı dinamik bir bölüm aralığını belirtir.
Bölümlendirme, aşamalama verimliliğini artırabilir. Yapılandırırken aşağıdaki rehberliği göz önünde bulundurun:
- Bölüm aralığına bağlı olarak, işlem 128'den fazla sorgu üretebilir ve özel SQL havuzundaki tüm eşzamanlılık slotlarını kullanabilir.
- Tüm sorguların yürütülmesine izin vermek için minimum DWU6000 ölçeklendirmeniz gerekir.
- Örneğin, TPC-DS
web_salestablosu için ayrılmış SQL havuzuna 163 sorgu gönderildi. DWU6000 sırasında, 128 sorgu yürütüldü ve 35 sorgu sıraya girdi. - Dinamik bölüm aralık bölümünü otomatik olarak seçer. Bu durumda, ayrılmış SQL havuzuna gönderilen her SELECT sorgusu için 11 günlük bir aralık. Örneğin:
WHERE [ws_sold_date_sk] > '2451069' AND [ws_sold_date_sk] <= '2451080') ... WHERE [ws_sold_date_sk] > '2451333' AND [ws_sold_date_sk] <= '2451344')
Önerilen kullanım
Olgu tabloları için, iş hacmini artırmak amacıyla bölümleme seçeneğiyle Data Factory kullanın.
Ancak paralel okumalar, çıkarma sorgularını çalıştırabilmesi için özel SQL havuzunu daha yüksek bir DWU'ya ölçeklendirmenizi gerektirir. Bölümleme, bölme kullanmamaya kıyasla hızı on kat artırır. Daha fazla veri verimliliği için DWU'yu artırabilirsin, ancak özel bir SQL havuzu maksimum 128 aktif sorguya izin verir.
Synapse DWU ile Fabric eşlemesi hakkında daha fazla bilgi için Blog: Azure Synapse adanmış SQL havuzlarını Fabric Data Warehouse işlemine eşleme konusuna bakın.
3. Seçenek DDL geçişi - ForEach Kopyalama Etkinliği için veri kopyalama yardımcısı
Önceki iki seçenek daha küçük veritabanları için uygundur. Daha yüksek verimliliğe ihtiyacınız varsa, şu alternatifi kullanın:
- Verileri özel SQL havuzundan ADLS'ye çıkararak aşamalama yükünü azaltın.
- Verileri depoya aktarmak için Data Factory veya COPY komutunu kullanın.
Önerilen kullanım
Şemanızı (DDL) dönüştürmek için Data Factory'yi kullanmaya devam edebilirsiniz. Veri asistanını kullanarak belirli tabloyu veya Tüm tabloları seçebilirsiniz. Tasarım gereği bu yöntem, sorgu ifadesinde TOP 0 false koşulunu kullanarak şemayı hiçbir satır içermeden çıkarır ve tek adımda taşır.
Aşağıdaki kod örneği Data Factory ile şema (DDL) geçişini kapsar.
Kod örneği: Data Factory ile şema (DDL) geçişi
Fabric Pipelines’ı kullanarak tablo nesnelerine ilişkin DDL’nizi (şemalarınızı) herhangi bir kaynak Azure SQL Veritabanından veya ayrılmış SQL havuzundan kolayca taşıyabilirsiniz. Bu boru hattı, kaynak ayrılmış SQL havuz tabloları için şemayı (DDL) Fabric Data Warehouse'ye taşır.
Boru hattı tasarımı: parametreler
Bu boru hattı, hangi şemaların taşınacağını belirtmek için kullandığınız bir parametreyi SchemaNamekabul eder. Varsayılan şema .dbo
Varsayılan değer alanına, geçirilecek şemaları belirten virgülle ayrılmış bir tablo şeması listesi girin: iki şema 'dbo','tpch' ve dbo sağlamak için tpch.
Boru hattı tasarımı: Arama etkinliği
Arama Etkinliği oluşturun ve Bağlantı'yı kaynak veritabanınıza işaret eden şekilde ayarlayın.
Ayarlar sekmesinde:
Veri deposu türünü Dış olarak ayarlayın.
Bağlantı , Azure Synapse ayrılmış SQL havuzunuzdur. Bağlantı türü Azure Synapse Analytics'tir.
Sorguyu Kullan, Sorgu olarak ayarlanmıştır.
Sorgu alanını dinamik bir ifade kullanarak oluşturun, böylece bu parametreyi
SchemaNamehedef kaynak tablolar listesini döndüren bir sorguda kullanabiliyorsunuz. Sorgu seçeneğini seçin ve ardından Dinamik içerik ekle'yi seçin.LookUp Etkinliği içindeki bu ifade, şemaların ve tabloların listesini almak üzere sistem görünümlerini sorgulamak için bir SQL deyimi oluşturur. Bu
SchemaNameparametreye referans vererek SQL şemalarında filtreleme yapılmasına olanak tanır. Bu ifadenin çıktısı, ForEach Etkinliği'nin girdi olarak kullandığı SQL şemaları ve tablolarından oluşan bir dizidir.Şema adıyla tüm kullanıcı tablolarının listesini döndürmek için aşağıdaki kodu kullanın.
@concat(' SELECT s.name AS SchemaName, t.name AS TableName FROM sys.tables AS t INNER JOIN sys.schemas AS s ON t.type = ''U'' AND s.schema_id = t.schema_id AND s.name in (',coalesce(pipeline().parameters.SchemaName, 'dbo'),') ')
Boru hattı tasarımı: HerBir Döngüsü
ForEach Döngüsü için Ayarlar sekmesinde aşağıdaki seçenekleri yapılandırın:
- Birden fazla yinelemenin eşzamanlı olarak çalışmasına izin vermek için Sequential seçeneğini devre dışı bırakın.
-
Toplu iş sayısını
50olarak ayarlayın, bu da en fazla eşzamanlı yineleme sayısını sınırlar. - LookUp Aktivitesinin çıktısına referans vermek için Öğeler alanında dinamik içerik kullanın. Aşağıdaki kod parçacığını kullanın:
@activity('Get List of Source Objects').output.value
Hat uygulaması tasarımı: Her Bir Döngü İçindeki Kopyalama Etkinliği
ForEach Etkinliği'nin içine bir Kopyalama Etkinliği ekleyin. Bu yöntem, boru hatları içindeki Dinamik İfade Dili'ni kullanarak yalnızca veri olmadan şemayı bir depoya taşımak için bir SELECT TOP 0 * FROM <TABLE> ifade oluşturur.
Kaynak sekmesinde:
- Veri deposu türünü Dış olarak ayarlayın.
- Bağlantı , Azure Synapse ayrılmış SQL havuzunuzdur. Bağlantı türü Azure Synapse Analytics'tir.
- Use Query'ı Query olarak ayarlayın.
-
Sorgu alanında, dinamik içerik sorgusunu yapıştırın ve sıfır satır döndüren ancak tablo şemasını içeren bu ifadeyi kullanın:
@concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName)
Hedef sekmesinde:
- Veri deposu türünü Çalışma Alanı olarak ayarlayın.
- Workspace veri deposu tipiniData Warehouse olarak ayarlayın ve Data Warehouse'u depoya ayarlayın.
- Hedef Tablonun şeması ve tablo adı dinamik içerik kullanılarak tanımlanır.
- Şema, geçerli yinelemedeki alana atıfta bulunur;
SchemaNamekod parçacığı:@item().SchemaName - Snippet ile tablo referansları
TableName:@item().TableName
- Şema, geçerli yinelemedeki alana atıfta bulunur;
Boru hattı tasarımı: Tahliye
Havuz için Ambarınızın üzerine gelin ve Kaynak Şema ve Tablo adına başvurun.
Bu pipeline'ı çalıştırdığınızda, kaynağındaki her tablonun doğru şema kullanılarak deponuzun doldurulduğunu görürsünüz.
Synapse dedicated SQL havuzunda saklı yordamları kullanarak geçiş
Bu seçenek, Fabric Data Warehouse'a geçişi gerçekleştirmek için saklanan prosedürleri kullanır.
Kod örneklerini GitHub.com'da microsoft/fabric-migration adresinden alabilirsiniz. Bu kod açık kaynak olarak paylaşıldığından işbirliği yapmak ve topluluğa yardımcı olmak için katkıda bulunabilirsiniz.
Fabric Migration depolanmış prosedürlerin neler yapabileceği:
- Şemayı (DDL) Fabric Data Warehouse sözdizimi haline dönüştürün.
- Fabric Data Warehouse üzerinde şema (DDL) oluşturun.
- Synapse özel SQL havuzundan ADLS'ye veri çıkar.
- T-SQL kodlarındaki (saklı yordamlar, işlevler, görünümler) desteklenmeyen Fabric söz dizimini işaretleyin.
Önerilen kullanım
Bu seçenek sizin için harika eğer:
- T-SQL hakkında bilgi sahibidir.
- T-SQL geliştirme için entegre bir geliştirme ortamı kullanmak istiyorum.
- Hangi görevler üzerinde çalıştığınız konusunda daha ayrıntılı kontrol istiyorsunuz.
Şema (DDL) dönüştürme, veri ayıklama veya T-SQL kod değerlendirmesi için belirli saklı yordamı çalıştırabilirsiniz.
Veri geçişi için, verileri ambarınıza almak üzere ya COPY INTO ya da Fabric Data Factory kullanın.
SQL veritabanı projelerini kullanarak geçiş
Fabric Data Warehouse, Visual Studio Code içinde bulunan SQL Veritabanı Projeleri uzantısını destekler.
Bu uzantı Visual Studio Code'da kullanılabilir. Bu özellik kaynak denetimi, veritabanı testi ve şema doğrulaması için özellikler sağlar.
Kaynak kontrolü hakkında daha fazla bilgi için Geliştirme ve dağıtım genel bakışına bakınız.
Önerilen kullanım
Dağıtımınız için SQL Database Project kullanmayı tercih ediyorsanız bu seçeneği kullanın. Bu seçenek, Fabric Migration depolanmış prosedürlerini SQL veritabanı projesine entegre ederek sorunsuz bir göç deneyimi sunar.
Bir SQL Veritabanı Projesi:
- Şemayı (DDL) Fabric Data Warehouse sözdizimi haline dönüştürün.
- Fabric Data Warehouse üzerinde şema (DDL) oluşturun.
- Synapse özel SQL havuzundan ADLS'ye veri çıkar.
- T-SQL kodları (saklı yordamlar, işlevler, görünümler) için desteklenmeyen sözdizimini işaretleyin.
Veri geçişi için, verileri veri ambarınıza almak üzere COPY INTO veya Data Factory kullanın.
Microsoft Fabric CAT ekibi, SQL veritabanı projesi aracılığıyla şema (DDL) ve veritabanı kodu (DML) çıkarmak, oluşturmak ve dağıtmak için PowerShell betikleri sağlar. Ayrıntılı bir kılavuz için GitHub’daki microsoft/fabric-migration sayfasına bakın.
SQL Veritabanı Projeleri hakkında daha fazla bilgi için bkz. KOMUT satırından SQL Veritabanı Projeleri uzantısını kullanmaya başlama ve Veritabanı projesi oluşturma.
CETAS ile veri geçişi
T-SQL CREATE EXTERNAL TABLE AS SELECT (CETAS) komutu, Azure Synapse özel SQL havuzlarından Azure Data Lake Storage (ADLS) Gen2'ye veri çıkarmak için en maliyet etkin ve optimal yöntemi sağlar.
CETAS neler yapabilir:
- Verileri ADLS'ye aktarın.
- Bu seçenek, veriyi almadan önce depoda şema (DDL) oluşturmanızı gerektirir. Şemayı (DDL) geçirmek için bu makaledeki seçenekleri göz önünde bulundurun.
Bu seçeneğin avantajları şunlardır:
- Göç, kaynak Synapse özel SQL havuzuna karşı tablo başına yalnızca tek bir sorgu gönderir. Bu sorgu, eşzamanlılık yuvalarının tamamını tüketmez ve müşterinin üretim ortamındaki eşzamanlı ETL işlemlerini veya sorgularını engellemez.
- DWU6000 ölçeklendirmenize gerek yok, çünkü her masa için sadece tek bir eşzamanlı slot kullanılır, bu yüzden daha düşük DWU'lar kullanabilirsiniz.
- Extract tüm hesaplama düğümlerinde paralel olarak çalışır ve bu özellik performansı artırır.
Önerilen kullanım
CETAS'ı kullanarak verileri Parquet dosyaları olarak ADLS'ye ayıklayın. Parket dosyaları, ağ üzerinde hareket etmek için daha az bant genişliği gerektiren sütunvari sıkıştırma ile verimli veri depolama avantajı sağlar. Fabric veriyi Delta parket formatı olarak sakladığı için, veri alımı metin dosya formatına göre 2,5 kat daha hızlıdır, çünkü alım sırasında Delta formatına dönüşüm yapılmaz.
CETAS aktarım hızını artırmak için:
- Eşzamanlılık yuvalarının kullanımını artırarak ancak daha fazla aktarım hızına olanak tanıyarak paralel CETAS işlemleri ekleyin.
- Synapse ayrılmış SQL havuzunda DWU'yi ölçeklendirin.
dbt aracılığıyla geçiş
Bu bölüm, Synapse özel SQL havuzu ortamında zaten dbt kullanan müşteriler için dbt seçeneğini açıklar.
Dbt'nin yapabilecekleri:
- Şemayı (DDL) Fabric Data Warehouse sözdizimi haline dönüştürün.
- Fabric Data Warehouse üzerinde şema (DDL) oluşturun.
- Veritabanı kodunu (DML) Doku söz dizimine dönüştürün.
Dbt çerçevesi, her yürütmeyle birlikte anında DDL ve DML (SQL betikleri) oluşturur.
SELECT ifadeleriyle ifade edilen model dosyalarını kullanarak dbt, profili (bağlantı dizesini) ve adaptör türünü değiştirerek DDL/DML'yi anında herhangi bir hedef platforma çevirir.
Önerilen kullanım
DBT çerçevesi kod-öncelikli bir yaklaşım kullanır. Verileri, bu belgede listelenen CETAS veya COPY/Data Factory gibi seçenekleri kullanarak taşıyın.
Microsoft Fabric Data Warehouse için dbt adaptörünü kullanarak, Azure Synapse özel SQL havuzları, Snowflake, Databricks, Google BigQuery veya Amazon Redshift gibi farklı platformları hedefleyen mevcut DBT projelerini basit bir yapılandırma değişikliğiyle bir depoya taşıyabilirsiniz.
Fabric Data Warehouse hedefleyen bir dbt projesine başlamak için Tutorial: Setup up dbt for Fabric Data Warehouse bölümüne bakınız. Bu belge ayrıca farklı depolar ve platformlar arasında geçiş yapma seçeneğini de listeliyor.
Fabric Data Warehouse’a veri alma
Fabric Data Warehouse’a veri alımı için, tercihinize bağlı olarak COPY INTO veya Fabric Data Factory kullanın. Her iki yöntem de önerilen ve en iyi performans sağlayan seçeneklerdir; çünkü dosyaların zaten Azure Data Lake Storage (ADLS) Gen2'ye çıkarılmış olması koşuluyla eşdeğer performans akışına sahiptirler.
Sürecinizi aşağıdaki faktörleri göz önünde bulundurarak maksimum performans için tasarlayın:
- Fabric ile, ADLS'den Fabric Data Warehouse eşzamanlı olarak birden fazla tablo yüklenirken kaynak çatışması yaşanmaz. Sonuç olarak paralel iş parçacıkları yüklenirken performans düşüşü olmaz. Maksimum alma aktarım hızı yalnızca Fabric kapasitenizin hesaplama gücüyle sınırlıdır.
- Kumaş iş yükü yönetimi, yük ve sorgular için tahsis edilen kaynakların ayrılmasını sağlar. Sorgular ve veri yükleme aynı anda çalışırken kaynak çatışması yok.