Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: ✅ Gudang di Microsoft Fabric
Artikel ini menjelaskan metode migrasi data warehousing di Azure Synapse Analytics pool SQL khusus ke Microsoft Fabric Data Warehouse.
Petunjuk / Saran
Untuk informasi lebih lanjut tentang strategi dan rencana migrasi Anda, lihat Perencanaan Migrasi: SQL pool khusus Azure Synapse Analytics ke Gudang Data Fabric.
Pengalaman otomatisasi untuk migrasi dari kumpulan SQL khusus Azure Synapse Analytics tersedia menggunakan Fabric Migration Assistant untuk Gudang Data. Sisa artikel ini berisi lebih banyak langkah migrasi manual.
Tabel ini meringkas informasi untuk skema data (DDL), kode database (DML), dan metode migrasi data. Kami akan membahas lebih lanjut setiap skenario nanti dalam artikel ini, yang ditautkan pada kolom Opsi.
| Nomor Opsi | Opsi | Apa fungsinya | Keterampilan/Preferensi | Skenario |
|---|---|---|---|---|
| 1 | Pabrik Data | Konversi skema (DDL) Ekstrak data Penyerapan data |
ADF/Pipeline | Penyederhanaan skema terpadu (DDL) dan migrasi data. Direkomendasikan untuk tabel dimensi. |
| 2 | Pabrik Data dengan partisi | Konversi skema (DDL) Ekstrak data Penyerapan data |
ADF/Pipeline | Menggunakan opsi partisi, direkomendasikan untuk tabel fakta, dengan menyediakan throughput sepuluh kali lebih banyak dibanding opsi 1 untuk meningkatkan paralelisme baca/tulis. |
| 3 | Pabrik Data dengan kode yang dipercepat | Konversi skema (DDL) | ADF/Pipeline | Konversi dan migrasikan skema (DDL) terlebih dahulu, lalu gunakan CETAS untuk mengekstrak dan COPY/Data Factory untuk menyerap data untuk performa penyerapan keseluruhan yang optimal. |
| 4 | Prosedur tersimpan yang mempercepat kode | Konversi skema (DDL) Ekstrak data Penilaian kode |
T-SQL | Pengguna SQL menggunakan IDE dengan kontrol yang lebih terperinci atas tugas mana yang ingin mereka kerjakan. Gunakan COPY/Data Factory untuk menyerap data. |
| 5 | Ekstensi Proyek SQL Database untuk Visual Studio Code | Konversi skema (DDL) Ekstrak data Penilaian kode |
Proyek SQL | Proyek Basis Data SQL untuk penyebaran dengan integrasi opsi 4. Gunakan COPY atau Data Factory untuk menyerap data. |
| 6 | BUAT TABEL EKSTERNAL SEBAGAI HASIL DARI PILIHAN (CETAS) | Ekstrak data | T-SQL | Ekstrak data hemat biaya dan berkinerja tinggi ke Azure Data Lake Storage (ADLS) Gen2. Gunakan COPY/Data Factory untuk menyerap data. |
| 7 | Migrasi menggunakan dbt | Konversi skema (DDL) kode basis data (DML) konversi |
dbt | Pengguna dbt yang ada dapat menggunakan adaptor dbt Fabric untuk mengonversi DDL dan DML mereka. Anda kemudian harus memigrasikan data menggunakan opsi lain dalam tabel ini. |
Pilih beban kerja untuk migrasi awal
Saat memutuskan dari mana memulai pool SQL khusus Synapse untuk proyek migrasi Fabric Data Warehouse, pilih area beban kerja di mana Anda dapat:
- Buktikan kelayakan migrasi ke Fabric Data Warehouse dengan cepat memberikan manfaat dari lingkungan baru. Mulailah dari yang kecil dan sederhana, lalu bersiaplah untuk beberapa migrasi kecil.
- Izinkan waktu staf teknis internal Anda untuk mendapatkan pengalaman yang relevan dengan proses dan alat yang mereka gunakan saat bermigrasi ke area lain.
- Buat templat khusus untuk migrasi lebih lanjut yang sesuai dengan lingkungan Synapse sumber, serta alat dan proses yang tersedia untuk membantu memfasilitasi migrasi.
Petunjuk / Saran
Buat inventaris objek yang perlu dimigrasikan, dan dokumentasikan proses migrasi dari awal hingga akhir, sehingga dapat diulang untuk kumpulan atau beban kerja SQL khusus lainnya.
Volume data yang dimigrasikan dalam migrasi awal harus cukup besar untuk menunjukkan kemampuan dan manfaat lingkungan Fabric Data Warehouse, tetapi tidak terlalu besar untuk menunjukkan nilai dengan cepat. Ukuran dalam rentang 1-10 terabyte merupakan ukuran umum.
Migrasi dengan Fabric Data Factory
Di bagian ini, kita membahas opsi menggunakan Data Factory untuk persona kode rendah/tanpa kode yang terbiasa dengan Azure Data Factory dan Alur Synapse. Opsi antarmuka 'tarik dan jatuhkan' ini menyediakan langkah sederhana untuk mengonversi DDL dan memigrasikan data.
Fabric Data Factory dapat melakukan tugas-tugas berikut:
- Konversi skema (DDL) ke sintaks Fabric Data Warehouse.
- Buat skema (DDL) di Fabric Data Warehouse.
- Migrasikan data ke Fabric Data Warehouse.
Opsi 1. Skema/Migrasi Data - Panduan Salin dan Aktivitas Salin ForEach
Metode ini menggunakan Data Factory Copy assistant untuk terhubung ke pool SQL khusus sumber, mengonversi sintaks DDL pool SQL dedicated ke Fabric, dan menyalin data ke Fabric Data Warehouse. Anda dapat memilih satu atau beberapa tabel target (untuk himpunan data TPC-DS ada 22 tabel). Ini menghasilkan ForEach untuk melakukan iterasi pada daftar tabel yang dipilih di UI dan memulai 22 utas Aktivitas Salin secara paralel.
- 22 kueri SELECT (satu untuk setiap tabel yang dipilih) dihasilkan dan dijalankan di kumpulan SQL khusus.
- Pastikan Anda memiliki DWU dan kelas sumber daya yang sesuai untuk memungkinkan kueri yang dihasilkan dijalankan. Untuk kasus ini, Anda memerlukan minimal DWU1000 dengan
staticrc10untuk memungkinkan maksimal 32 kueri menangani 22 kueri yang dikirimkan. - Data Factory menyalin data secara langsung dari pool SQL khusus ke Fabric Data Warehouse memerlukan staging. Proses konsumsi terdiri dari dua tahap.
- Fase pertama terdiri dari mengekstrak data dari kumpulan SQL khusus ke ADLS dan disebut sebagai penahapan.
- Fase kedua menyerap data dari staging ke Fabric Data Warehouse. Sebagian besar waktu yang dibutuhkan untuk penyerapan data terjadi dalam fase penahapan. Singkatnya, proses tahap memiliki dampak yang besar pada performa penyerapan.
Penggunaan yang disarankan
Menggunakan Copy Wizard untuk menghasilkan ForEach menyediakan UI sederhana untuk mengonversi DDL dan mengingest tabel yang dipilih dari pool SQL khusus ke Fabric Data Warehouse dalam satu langkah.
Namun, itu tidak optimal terhadap throughput keseluruhan. Persyaratan untuk menggunakan penahapan, kebutuhan untuk memparalelkan baca dan tulis untuk langkah "Sumber ke Tahap" adalah faktor utama untuk keterlambatan kinerja. Disarankan untuk menggunakan opsi ini hanya untuk tabel dimensi.
Opsi 2. Migrasi DDL/Data - Pipeline menggunakan opsi partisi
Untuk meningkatkan throughput untuk memuat tabel fakta yang lebih besar menggunakan alur proses Fabric, disarankan untuk menggunakan Aktivitas Salin untuk setiap tabel fakta dengan opsi partisi. Ini memberikan performa terbaik dengan aktivitas salin.
Anda memiliki opsi untuk menggunakan partisi fisik tabel sumber, jika tersedia. Jika tabel tidak memiliki partisi fisik, Anda harus menentukan kolom partisi dan menyediakan nilai min/maks untuk menggunakan partisi dinamis. Dalam cuplikan layar berikut, opsi alur Sumber menentukan rentang partisi yang dinamis berdasarkan kolom ws_sold_date_sk.
Meskipun menggunakan partisi dapat meningkatkan throughput selama fase penahapan, perlu pertimbangan untuk melakukan penyesuaian yang tepat.
- Tergantung pada rentang partisi Anda, mungkin berpotensi menggunakan semua slot konkurensi karena dapat menghasilkan lebih dari 128 kueri pada kumpulan SQL khusus.
- Anda diharuskan mengeskalasi hingga minimal DWU6000 untuk memungkinkan semua kueri dijalankan.
- Sebagai contoh, untuk tabel TPC-DS
web_sales, 163 kueri dikirimkan ke kumpulan SQL khusus. Pada DWU6000, 128 kueri dieksekusi sementara 35 kueri diantrikan. - Partisi dinamis secara otomatis menetapkan partisi rentang. Dalam hal ini, rentang 11 hari untuk setiap kueri SELECT yang dikirimkan ke kumpulan SQL khusus. Misalnya:
WHERE [ws_sold_date_sk] > '2451069' AND [ws_sold_date_sk] <= '2451080') ... WHERE [ws_sold_date_sk] > '2451333' AND [ws_sold_date_sk] <= '2451344')
Penggunaan yang disarankan
Untuk tabel fakta, sebaiknya gunakan Data Factory dengan opsi partisi untuk meningkatkan throughput.
Namun, peningkatan pembacaan paralel memerlukan pool SQL khusus untuk diskalakan ke DWU yang lebih tinggi agar kueri ekstrak dapat dieksekusi. Dengan memanfaatkan partisi, laju meningkat sepuluh kali lipat dibandingkan opsi tanpa partisi. Anda dapat meningkatkan DWU untuk mendapatkan throughput tambahan melalui sumber daya komputasi, tetapi pool SQL khusus memiliki maksimal 128 kueri aktif yang diizinkan.
Untuk informasi selengkapnya tentang pemetaan Synapse DWU ke Fabric, lihat Blog: Memetakan kumpulan SQL khusus Azure Synapse ke komputasi Fabric Data Warehouse.
Opsi 3. Migrasi DDL - Wizard Penyalinan UntukSetiap Aktivitas Penyalinan
Dua opsi sebelumnya adalah opsi migrasi data yang bagus untuk database yang lebih kecil. Tetapi jika Anda memerlukan throughput yang lebih tinggi, kami merekomendasikan opsi alternatif:
- Ekstrak data dari kumpulan SQL khusus ke ADLS untuk mengurangi beban kinerja pada tahap pemrosesan.
- Gunakan Data Factory atau perintah COPY untuk menginput data ke gudang Anda.
Penggunaan yang disarankan
Anda dapat terus menggunakan Data Factory untuk mengonversi skema (DDL) Anda. Menggunakan Wizard Salin, Anda bisa memilih tabel tertentu atau Semua tabel. Secara desain, ini memigrasikan skema dan data dalam satu langkah, mengekstrak skema tanpa baris apa pun, menggunakan kondisi palsu, TOP 0 dalam pernyataan kueri.
Sampel kode berikut mencakup migrasi skema (DDL) dengan Data Factory.
Contoh kode: Migrasi Skema (DDL) dengan Data Factory
Anda dapat menggunakan Fabric Pipelines untuk dengan mudah memigrasikan DDL (skema) objek tabel dari sumber mana pun Azure SQL Database atau pool SQL khusus. Pipeline ini memigrasikan skema (DDL) untuk tabel pool SQL khusus sumber ke Fabric Data Warehouse.
Desain saluran: parameter
Alur ini menerima parameter SchemaName, yang memungkinkan Anda menentukan skema mana yang akan dimigrasikan.
dbo Skema adalah default.
Di bidang Nilai default, masukkan daftar skema tabel yang dibatasi koma yang menunjukkan skema mana yang akan dimigrasikan: 'dbo','tpch' untuk menyediakan dua skema, dbo dan tpch.
Desain jalur pemrosesan: Aktivitas pencarian data
Buat Aktivitas Pencarian dan atur Koneksi untuk menunjuk ke database sumber Anda.
Di tab Pengaturan:
Atur Jenis penyimpanan data ke Eksternal.
Koneksi adalah kumpulan SQL khusus Azure Synapse Anda. Jenis koneksi adalah Azure Synapse Analytics.
Penggunaan kueri diatur ke Kueri.
Bidang Query perlu dibangun menggunakan ekspresi dinamis, sehingga parameter
SchemaNamedapat digunakan dalam query yang mengembalikan daftar tabel sumber target. Pilih Kueri lalu pilih Tambahkan konten dinamis.Ekspresi dalam Aktivitas Pencarian ini menghasilkan pernyataan SQL untuk mengkueri tampilan sistem untuk mengambil daftar skema dan tabel. Parameter ini merujuk
SchemaNameuntuk memungkinkan penyaringan pada skema SQL. Keluaran dari ini adalah array berisi skema SQL dan tabel yang akan digunakan sebagai input oleh Aktivitas ForEach.Gunakan kode berikut untuk mengembalikan daftar semua tabel pengguna dengan nama skema mereka.
@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'),') ')
Desain alur: ForEach Loop
Untuk Loop ForEach, konfigurasikan opsi berikut di tab Pengaturan :
- Nonaktifkan Berurutan untuk memungkinkan beberapa perulangan berjalan secara bersamaan.
- Atur Batch count ke
50, membatasi jumlah maksimum iterasi bersamaan. - Bidang Item perlu menggunakan konten dinamis untuk mereferensikan output Aktivitas Pencarian. Gunakan cuplikan kode berikut:
@activity('Get List of Source Objects').output.value
Desain pipa: Aktivitas Salin di dalam Perulangan ForEach
Di dalam Aktivitas ForEach, tambahkan Aktivitas Salin. Metode ini menggunakan Dynamic Expression Language dalam pipeline untuk membangun SELECT TOP 0 * FROM <TABLE> migrasi hanya skema tanpa data ke dalam gudang.
Di tab Sumber :
- Atur Jenis penyimpanan data ke Eksternal.
- Koneksi adalah kumpulan SQL khusus Azure Synapse Anda. Jenis koneksi adalah Azure Synapse Analytics.
- Atur Gunakan Kueri ke Kueri.
-
Di bidang Kueri, tempelkan kueri konten dinamis dan gunakan ekspresi ini yang akan mengembalikan baris nol, hanya skema tabel:
@concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName)
Di tab Tujuan :
- Atur Jenis penyimpanan-data menjadi Ruang Kerja.
- Tipe penyimpanan data Workspace adalah Data Warehouse dan Data Warehouse diatur ke gudang.
- Skema Tabel tujuan dan nama tabel ditentukan menggunakan konten dinamis.
- Skema merujuk pada bidang iterasi saat ini,
SchemaNamedengan cuplikan:@item().SchemaName - Tabel mengacu pada TableName dengan cuplikan:
@item().TableName
- Skema merujuk pada bidang iterasi saat ini,
Desain alur: Penampung
Untuk Sink, arahkan ke Gudang Anda dan referensikan Skema Sumber dan nama Tabel.
Setelah menjalankan alur ini, Anda akan melihat Gudang Data anda diisi dengan setiap tabel di sumber Anda, dengan skema yang tepat.
Migrasi menggunakan prosedur tersimpan di kumpulan SQL khusus Synapse
Opsi ini menggunakan prosedur tersimpan untuk melakukan Fabric Migration.
Anda bisa mendapatkan sampel kode di microsoft/fabric-migration pada GitHub.com. Kode ini dibagikan sebagai sumber terbuka, jadi jangan ragu untuk berkontribusi berkolaborasi dan membantu komunitas.
Apa yang dapat dilakukan oleh Prosedur Tersimpan untuk Migrasi:
- Konversi skema (DDL) ke sintaks Fabric Data Warehouse.
- Buat skema (DDL) di Fabric Data Warehouse.
- Ekstrak data dari kumpulan SQL khusus Synapse ke ADLS.
- Menandai sintaks Fabric yang tidak didukung untuk kode T-SQL (prosedur tersimpan, fungsi, tampilan).
Penggunaan yang disarankan
Ini adalah pilihan yang bagus bagi mereka yang:
- Terbiasa dengan T-SQL.
- Ingin menggunakan lingkungan pengembangan terintegrasi seperti SQL Server Management Studio (SSMS).
- Ingin kontrol yang lebih terperinci atas tugas mana yang ingin mereka kerjakan.
Anda dapat menjalankan prosedur tersimpan tertentu untuk konversi skema (DDL), ekstrak data, atau penilaian kode T-SQL.
Untuk migrasi data, Anda perlu menggunakan salah satu COPY INTO atau Fabric Data Factory untuk menginput data ke dalam gudang Anda.
Bermigrasi menggunakan proyek database SQL
Microsoft Fabric Data Warehouse didukung dalam ekstensi Proyek SQL Database yang tersedia di dalam Visual Studio Code.
Ekstensi ini tersedia di dalam Visual Studio Code. Fitur ini memungkinkan kemampuan untuk kontrol sumber, pengujian database, dan validasi skema.
Untuk informasi lebih lanjut tentang kontrol sumber, lihat Ikhtisar Pengembangan dan penerapan.
Penggunaan yang disarankan
Ini adalah opsi yang bagus bagi mereka yang lebih suka menggunakan Proyek SQL Database untuk penyebarannya. Opsi ini pada dasarnya mengintegrasikan Prosedur Tersimpan Migrasi Fabric ke dalam Proyek SQL Database untuk memberikan pengalaman migrasi yang mulus.
Proyek SQL Database dapat:
- Konversi skema (DDL) ke sintaks Fabric Data Warehouse.
- Buat skema (DDL) di Fabric Data Warehouse.
- Ekstrak data dari kumpulan SQL khusus Synapse ke ADLS.
- Menandai sintaks yang tidak didukung untuk kode T-SQL (prosedur tersimpan, fungsi, tampilan).
Untuk migrasi data, Anda kemudian akan menggunakan salah satu COPY INTO atau Data Factory untuk menginput data ke gudang Anda.
Tim Microsoft Fabric CAT telah menyediakan serangkaian skrip PowerShell untuk menangani ekstraksi, pembuatan, dan penyebaran skema (DDL) dan kode database (DML) melalui Proyek Database SQL. Untuk panduan penggunaan proyek SQL Database dengan skrip PowerShell kami yang bermanfaat, lihat microsoft/fabric-migration di GitHub.com.
Untuk informasi selengkapnya tentang Proyek SQL Database, lihat Mulai menggunakan ekstensi Proyek SQL Database dan Membangun proyek database dari baris perintah.
Migrasi data dengan CETAS
Perintah T-SQL CREATE EXTERNAL TABLE AS SELECT (CETAS) menyediakan metode yang paling hemat biaya dan optimal untuk mengekstrak data dari kumpulan SQL khusus Synapse ke Azure Data Lake Storage (ADLS) Gen2.
Apa yang dapat dilakukan CETAS:
- Ekstrak data ke ADLS.
- Opsi ini mengharuskan pengguna membuat skema (DDL) di gudang Anda sebelum menginput data. Pertimbangkan opsi dalam artikel ini untuk memigrasikan skema (DDL).
Keuntungan dari opsi ini adalah:
- Hanya satu kueri per tabel yang dikirimkan terhadap kumpulan SQL khusus Synapse sumber. Ini tidak akan menggunakan semua slot konkurensi, sehingga tidak akan memblokir ETL/kueri produksi pelanggan secara bersamaan.
- Penskalaan ke DWU6000 tidak diperlukan, karena hanya satu slot bersamaan yang digunakan untuk setiap tabel. Oleh karena itu, pelanggan dapat menggunakan DWU dengan nilai yang lebih rendah.
- Ekstrak dijalankan secara paralel di semua simpul komputasi, dan ini adalah kunci untuk peningkatan performa.
Penggunaan yang disarankan
Gunakan CETAS untuk mengekstrak data ke ADLS sebagai berkas Parquet. Berkas Parquet memberikan keuntungan dari penyimpanan data yang efisien dengan kompresi kolom yang akan membutuhkan lebih sedikit bandwidth untuk berpindah melalui jaringan. Selain itu, karena Fabric menyimpan data sebagai format parquet Delta, pengambilan data akan menjadi 2,5 kali lebih cepat dibandingkan dengan format file teks, karena tidak ada overhead konversi ke format Delta selama pengambilan.
Untuk meningkatkan throughput CETAS:
- Tingkatkan operasi CETAS secara paralel, sehingga dapat meningkatkan penggunaan slot konkurensi dan memungkinkan throughput yang lebih tinggi.
- Skalakan DWU pada kumpulan SQL khusus Synapse.
Migrasi melalui dbt
Di bagian ini, kita membahas opsi dbt untuk pelanggan yang sudah menggunakan dbt di lingkungan kumpulan SQL khusus Synapse mereka saat ini.
Apa yang dapat dilakukan dbt:
- Konversi skema (DDL) ke sintaks Fabric Data Warehouse.
- Buat skema (DDL) di Fabric Data Warehouse.
- Mengonversi kode database (DML) ke sintaks Fabric.
Kerangka kerja dbt menghasilkan DDL dan DML (skrip SQL) dengan cepat dengan setiap eksekusi. Dengan file model yang dinyatakan dalam pernyataan SELECT, DDL/DML dapat diterjemahkan secara instan ke platform target apa pun dengan mengubah profil (string koneksi) dan jenis adaptor.
Penggunaan yang disarankan
Kerangka kerja dbt adalah pendekatan code-first. Data harus dimigrasikan dengan menggunakan opsi yang tercantum dalam dokumen ini, seperti CETAS atau COPY/Data Factory.
Adaptor dbt untuk Microsoft Fabric Data Warehouse memungkinkan proyek dbt yang sudah ada yang menargetkan berbagai platform seperti pool SQL khusus Synapse, Snowflake, Databricks, Google Big Query, atau Amazon Redshift untuk dimigrasikan ke gudang hanya dengan perubahan konfigurasi sederhana.
Untuk memulai proyek dbt yang menargetkan Fabric Data Warehouse, lihat Tutorial: Mengatur dbt untuk Fabric Data Warehouse. Dokumen ini juga mencantumkan opsi untuk berpindah di antara gudang/platform yang berbeda.
Pengambilan data ke dalam Fabric Data Warehouse
Untuk masuk ke Fabric Data Warehouse, gunakan COPY INTO atau Fabric Data Factory, tergantung preferensi Anda. Kedua metode adalah opsi yang direkomendasikan dan berperforma terbaik, karena memiliki throughput performa yang setara, mengingat prasyarat bahwa file sudah diekstrak ke Azure Data Lake Storage (ADLS) Gen2.
Beberapa faktor yang perlu diperhatikan sehingga Anda dapat merancang proses Anda untuk performa maksimum:
- Dengan Fabric, tidak ada persaingan sumber daya saat memuat beberapa tabel dari ADLS ke Fabric Data Warehouse secara bersamaan. Akibatnya, tidak ada penurunan kinerja saat menjalankan thread paralel. Throughput penyerapan maksimum hanya akan dibatasi oleh daya komputasi dari kapasitas Fabric Anda.
- Manajemen beban kerja Fabric menyediakan pemisahan sumber daya yang didedikasikan untuk pemrosesan beban dan kueri. Tidak ada pertikaian sumber daya saat kueri dan pemuatan data dijalankan secara bersamaan.