Virtualisasi data dengan PolyBase di SQL Server

Berlaku untuk: SQL Server Not supported. Azure SQL DatabaseAzure Synapse Analytics Analytics Platform System (PDW)

PolyBase adalah fitur virtualisasi data untuk SQL Server.

Apa itu PolyBase?

PolyBase memungkinkan instans SQL Server Anda untuk mengkueri data dengan T-SQL langsung dari SQL Server, Oracle, Teradata, MongoDB, kluster Hadoop, Cosmos DB, dan penyimpanan objek yang kompatibel dengan S3 tanpa menginstal perangkat lunak koneksi klien secara terpisah. Anda juga dapat menggunakan konektor ODBC generik untuk terhubung ke penyedia tambahan menggunakan driver ODBC pihak ketiga. PolyBase memungkinkan kueri T-SQL menggabungkan data dari sumber eksternal ke tabel relasional dalam instans SQL Server.

Kasus penggunaan utama untuk virtualisasi data dengan fitur PolyBase adalah untuk memungkinkan data tetap berada di lokasi dan format aslinya. Anda dapat memvirtualisasi data eksternal melalui instans SQL Server, sehingga dapat dikueri di tempat seperti tabel lain di SQL Server. Proses ini meminimalkan kebutuhan proses ETL untuk pergerakan data. Skenario virtualisasi data ini dimungkinkan dengan penggunaan konektor PolyBase.

Produk dan layanan SQL yang didukung

PolyBase menyediakan fungsionalitas yang sama ini untuk produk SQL berikut dari Microsoft:

  • SQL Server 2016 (13.x) dan versi yang lebih baru (Windows)
  • SQL Server 2019 (15.x) dan versi yang lebih baru (Windows dan Linux)
  • SQL Server Analytics Platform System (PDW)
  • Azure Synapse Analytics (untuk kumpulan SQL khusus)

Catatan

Virtualisasi data juga tersedia untuk Azure SQL Managed Instance, yang tercakup untuk mengkueri data eksternal yang disimpan dalam file di Azure Data Lake Storage (ADLS) Gen2 dan Azure Blob Storage. Kunjungi Virtualisasi data dengan Azure SQL Managed Instance untuk mempelajari lebih lanjut.

Penyempurnaan PolyBase SQL Server 2022

Baru menggunakan SQL Server 2022 (16.x) Detail
Penyimpanan objek yang kompatibel dengan S3 SQL Server 2022 (16.x) menambahkan konektor baru, penyimpanan objek yang kompatibel dengan S3, menggunakan S3 REST API. Anda dapat menggunakan OPENROWSET dan CREATE EXTERNAL TABLE untuk mengkueri file data di penyimpanan objek yang kompatibel dengan S3.
Beberapa konektor terpisah dari layanan PolyBase Konektor penyimpanan objek yang kompatibel dengan S3, serta ADSL Gen2, dan Azure Blob Storage, tidak lagi bergantung pada layanan PolyBase. Layanan PolyBase masih harus berjalan untuk mendukung konektivitas dengan Oracle, Teradata, MongoDB, dan Generic ODBC. Fitur PolyBase masih harus diinstal pada instans SQL Server Anda.
Format file Parquet PolyBase sekarang mampu mengkueri data dari file Parquet yang disimpan di penyimpanan objek yang kompatibel dengan S3. Untuk informasi selengkapnya, lihat Virtualisasi file parkek di penyimpanan objek yang kompatibel dengan S3 dengan PolyBase.
Format tabel Delta PolyBase sekarang mampu mengkueri data (baca-saja) dari format Tabel Delta yang disimpan pada penyimpanan objek yang kompatibel dengan S3, Akun Azure Storage V2, dan Azure Data Lake Storage Gen2. Untuk informasi selengkapnya, lihat Virtualisasi format Tabel Delta
Buat Tabel Eksternal sebagai Pilih (CETAS) PolyBase sekarang dapat menggunakan CETAS untuk membuat tabel eksternal lalu mengekspor, secara paralel, hasil dari pernyataan Transact-SQL SELECT ke Azure Data Lake Storage Gen2, Azure Storage Account V2, dan penyimpanan objek yang kompatibel dengan S3. Untuk informasi selengkapnya, lihat MEMBUAT TABEL EKSTERNAL SEBAGAI SELECT (Transact-SQL).

Untuk fitur baru lainnya dari SQL Server 2022 (16.x), lihat Apa yang baru di SQL Server 2022?

Tip

Untuk tutorial fitur dan kemampuan PolyBase di SQL Server 2022 (16.x), lihat Mulai menggunakan PolyBase di SQL Server 2022.

Konektor PolyBase

Fitur PolyBase menyediakan konektivitas ke sumber data eksternal berikut:

Sumber data eksternal SQL Server 2016-2019 dengan PolyBase SQL Server 2022 (16.x) dengan PolyBase APS PDW Azure Synapse Analytics
Oracle, MongoDB, Teradata Baca Baca Tidak Tidak
Konektivitas Database Terbuka Generik Baca (Hanya Windows) Baca (Hanya Windows) Tidak Tidak
Azure Storage Baca/Tulis Baca/Tulis Baca/Tulis Baca/Tulis
Hadoop Baca/Tulis No Baca/Tulis Tidak
Server SQL Baca Baca Tidak Tidak
Penyimpanan objek yang kompatibel dengan S3 Tidak Baca/Tulis Tidak Tidak
  • SQL Server 2022 (16.x) tidak mendukung Hadoop.
  • SQL Server 2016 (13.x) memperkenalkan PolyBase dengan dukungan untuk koneksi ke Hadoop dan Azure Blob Storage.
  • SQL Server 2019 (15.x) memperkenalkan konektor tambahan, termasuk SQL Server, Oracle, Teradata, dan MongoDB.
  • SQL Server 2022 (16.x) memperkenalkan konektor penyimpanan yang kompatibel dengan S3.
  • SQL Server 2019 (15.x) Pembaruan kumulatif 19 memperkenalkan dukungan untuk Oracle TNS.
  • Pembaruan kumulatif SQL Server 2022 (16.x) 2 memperkenalkan dukungan untuk Oracle TNS.

Contoh konektor eksternal meliputi:

* PolyBase mendukung dua penyedia Hadoop, Hortonworks Data Platform (HDP) dan Cloudera Distributed Hadoop (CDH), melalui SQL Server 2019. Dukungan SQL Server untuk sumber data eksternal HDFS Cloudera (CDP) dan Hortonworks (HDP) akan dihentikan dan tidak akan disertakan dalam SQL Server 2022 (16.x). Untuk informasi selengkapnya, lihat Opsi big data di platform Microsoft SQL Server.

Untuk menggunakan PolyBase dalam instans SQL Server:

  1. Instal PolyBase di Windows atau Instal PolyBase di Linux.
  2. Dimulai dengan SQL Server 2019 (15.x), aktifkan PolyBase di sp_configure, jika perlu.
  3. Buat sumber data eksternal.
  4. Membuat tabel eksternal.

Integrasi Azure

Dengan bantuan polyBase yang mendasarinya, kueri T-SQL juga dapat mengimpor dan mengekspor data dari Azure Blob Storage. Selanjutnya, PolyBase memungkinkan Azure Synapse Analytics mengimpor dan mengekspor data dari Azure Data Lake Store, dan dari Azure Blob Storage.

Mengapa menggunakan PolyBase?

PolyBase memungkinkan Anda menggabungkan data dari instans SQL Server dengan data eksternal. Sebelum PolyBase untuk menggabungkan data ke sumber data eksternal, Anda dapat:

  • Transfer setengah data Anda sehingga semua data berada di satu lokasi.
  • Kueri kedua sumber data, lalu tulis logika kueri kustom untuk menggabungkan dan mengintegrasikan data di tingkat klien.

PolyBase memungkinkan Anda untuk hanya menggunakan Transact-SQL untuk menggabungkan data.

PolyBase tidak mengharuskan Anda menginstal perangkat lunak tambahan ke lingkungan Hadoop Anda. Anda mengkueri data eksternal dengan menggunakan sintaks T-SQL yang sama yang digunakan untuk mengkueri tabel database. Tindakan dukungan yang diterapkan oleh PolyBase semuanya terjadi secara transparan. Penulis kueri tidak memerlukan pengetahuan apa pun tentang sumber eksternal.

Penggunaan PolyBase

PolyBase mengaktifkan skenario berikut di SQL Server:

  • Data kueri disimpan di Azure Blob Storage. Azure Blob Storage adalah tempat yang nyaman untuk menyimpan data untuk digunakan oleh layanan Azure. PolyBase memudahkan akses data dengan menggunakan T-SQL.

  • Data kueri yang disimpan di Hadoop dari instans SQL Server atau PDW. Pengguna menyimpan data dalam sistem terdistribusi dan dapat diskalakan hemat biaya, seperti Hadoop. PolyBase memudahkan kueri data dengan menggunakan T-SQL.

  • Mengimpor data dari Hadoop, Azure Blob Storage, atau Azure Data Lake Store. Manfaatkan kecepatan teknologi penyimpan kolom dan kemampuan analisis Microsoft SQL dengan mengimpor data dari Hadoop, Azure Blob Storage, atau Azure Data Lake Store ke dalam tabel relasional. Tidak perlu ETL atau alat impor terpisah.

  • Ekspor data ke Hadoop, Azure Blob Storage, atau Azure Data Lake Store. Arsipkan data ke Hadoop, Azure Blob Storage, atau Azure Data Lake Store untuk mencapai penyimpanan hemat biaya dan membuatnya tetap online agar mudah diakses.

  • Integrasikan dengan alat BI. Gunakan PolyBase dengan tumpukan kecerdasan dan analisis bisnis Microsoft, atau gunakan alat pihak ketiga apa pun yang kompatibel dengan SQL Server.

Performa

Tidak ada batasan keras untuk jumlah file atau jumlah data yang dapat dikueri. Performa kueri bergantung pada jumlah data, format data, cara data diatur, dan kompleksitas kueri dan gabungan.

Untuk informasi selengkapnya tentang panduan performa dan rekomendasi untuk PolyBase, lihat Pertimbangan performa di PolyBase untuk SQL Server.

Tingkatkan ke SQL Server 2022

Mulai SQL Server 2022 (16.x) Hortonworks Data Platform (HDP) dan Cloudera Distributed Hadoop (CDH) tidak lagi didukung. Karena perubahan ini, diperlukan untuk secara manual menghilangkan sumber data eksternal PolyBase yang dibuat pada versi SQL Server sebelumnya yang menggunakan TYPE = HADOOP atau Azure Storage sebelum bermigrasi ke SQL Server 2022 (16.x). Menghilangkan sumber data eksternal juga memerlukan penghapusan objek database terkait, seperti kredensial cakupan database dan tabel eksternal.

Konektor Azure Storage harus diubah berdasarkan tabel referensi di bawah ini:

Sumber Data Eksternal Dari Untuk
Azure Blob Storage wasb[s] abs
ADLS Gen2 abfs[s] adls

Mulai

Sebelum menggunakan PolyBase, Anda harus menginstal PolyBase di Windows atau menginstal PolyBase di Linux, dan mengaktifkan PolyBase di sp_configure jika perlu.

Untuk tutorial fitur dan kemampuan PolyBase, lihat Mulai menggunakan PolyBase di SQL Server 2022.

Untuk tutorial selengkapnya tentang berbagai sumber data eksternal, tinjau:

Virtualisasi data di platform lain

Fitur virtualisasi data juga tersedia di platform lain: