Memperkenalkan virtualisasi data dengan PolyBase

Berlaku untuk: SQL Server Tidak didukung Azure SQL Database Azure 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 memungkinkan data tetap berada di lokasi dan format aslinya. Anda dapat memvirtualisasikan 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

Catatan

Virtualisasi data menggunakan fitur PolyBase tersedia dalam pratinjau untuk Azure SQL Managed Instance, 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.

SQL Server penyempurnaan PolyBase 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 dan OPENROWSETEXTERNAL TABLES 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 harus tetap 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 Memvirtualisasikan 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 di 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 T-SQL SELECT ke Azure Data Lake Storage Gen2, Akun Azure Storage V2, dan penyimpanan objek yang kompatibel dengan S3. Untuk informasi selengkapnya, lihat CREATE EXTERNAL TABLE AS SELECT (Transact-SQL).

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

Misalnya menggunakan PolyBase di SQL Server 2022 (16.x) untuk memvirtualisasi file CSV di Azure Storage, lihat Virtualisasi file CSV dengan PolyBase.

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
ODBC Generik Baca (Hanya Windows) Baca (Hanya Windows) Tidak Tidak
Azure Storage Baca/Tulis Baca/Tulis Baca/Tulis Baca/Tulis
Hadoop Baca/Tulis Tidak Baca/Tulis Tidak
SQL Server 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.

Contoh konektor eksternal meliputi:

* PolyBase mendukung dua penyedia Hadoop, Hortonworks Data Platform (HDP) dan Cloudera Distributed Hadoop (CDH), melalui SQL Server 2019. SQL Server dukungan 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. Membuat 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 memungkinkan skenario berikut dalam SQL Server:

  • Data kueri disimpan dalam Azure Blob Storage. Azure Blob Storage adalah tempat yang nyaman untuk menyimpan data untuk digunakan oleh layanan Azure. PolyBase memudahkan untuk mengakses 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 untuk mengkueri data dengan menggunakan T-SQL.

  • Mengimpor data dari Hadoop, Azure Blob Storage, atau Azure Data Lake Store. Manfaatkan kecepatan kemampuan teknologi dan analisis penyimpan kolom Microsoft SQL dengan mengimpor data dari Hadoop, Azure Blob Storage, atau Azure Data Lake Store ke dalam tabel relasional. Tidak perlu alat ETL atau 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 untuk akses yang mudah.

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

Performa

  • Dorong komputasi ke Hadoop. (Berlaku untuk SQL Server 2016 (13.x), SQL Server 2017 (14.x), dan SQL Server 2019 (15.x) saja.) PolyBase mendorong beberapa komputasi ke sumber eksternal untuk mengoptimalkan kueri secara keseluruhan. Pengoptimal kueri membuat keputusan berbasis biaya untuk mendorong komputasi ke Hadoop, jika itu akan meningkatkan performa kueri. Pengoptimal kueri menggunakan statistik pada tabel eksternal untuk membuat keputusan berbasis biaya. Mendorong komputasi membuat pekerjaan MapReduce dan memanfaatkan sumber daya komputasi terdistribusi Hadoop. Untuk informasi selengkapnya, lihat Komputasi pushdown di PolyBase.

  • Menskalakan sumber daya komputasi. (Berlaku untuk SQL Server 2016 (13.x), SQL Server 2017 (14.x), dan SQL Server 2019 (15.x) saja.) Untuk meningkatkan performa kueri, Anda bisa menggunakan SQL Server grup peluasan skala PolyBase. Ini memungkinkan transfer data paralel antara instans SQL Server dan simpul Hadoop, dan menambahkan sumber daya komputasi untuk beroperasi pada data eksternal.

Penting

Grup peluasan skala Microsoft SQL Server PolyBase akan dihentikan. Fungsionalitas grup peluasan skala akan dihapus dari produk pada SQL Server 2022 (16.x). Virtualisasi data PolyBase akan terus didukung penuh sebagai fitur peningkatan skala di SQL Server. Untuk informasi selengkapnya, lihat Opsi big data di platform Microsoft SQL Server.

Meningkatkan 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 menghapus sumber data eksternal PolyBase yang dibuat secara manual 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 lingkup 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

Langkah berikutnya

Sebelum menggunakan PolyBase, Anda harus menginstal PolyBase di Windows atau menginstal PolyBase di Linux, dan mengaktifkan PolyBase di sp_configure jika perlu. Untuk tutorial selengkapnya tentang membuat sumber data eksternal dan tabel eksternal ke berbagai sumber data, lihat referensi PolyBase Transact-SQL.

Tinjau referensi PolyBase Transact-SQL dengan contoh sumber data eksternal dan tabel eksternal untuk berbagai sumber data. Untuk tutorial selengkapnya, tinjau artikel berikut: