Udostępnij za pośrednictwem


Wirtualizacja danych za pomocą technologii PolyBase w programie SQL Server

Dotyczy: SQL Server Nieobsługiwane. Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)

PolyBase to funkcja wirtualizacji danych dla programu SQL Server.

Co to jest technologia PolyBase?

Technologia PolyBase umożliwia wystąpieniu programu SQL Server wykonywanie zapytań dotyczących danych za pomocą języka T-SQL bezpośrednio z poziomu programu SQL Server, Oracle, Teradata, MongoDB, klastrów Hadoop, usługi Cosmos DB i magazynu obiektów zgodnego z usługą S3 bez oddzielnego instalowania oprogramowania do połączenia klienta. Możesz również użyć ogólnego łącznika ODBC, aby nawiązać połączenie z dodatkowymi dostawcami przy użyciu sterowników ODBC innych firm. Technologia PolyBase umożliwia wykonywanie zapytań T-SQL w celu łączenia danych ze źródeł zewnętrznych z tabelami relacyjnymi w wystąpieniu programu SQL Server.

Kluczowym przypadkiem użycia wirtualizacji danych za pomocą funkcji PolyBase jest umożliwienie przechowywania danych w oryginalnej lokalizacji i formacie. Dane zewnętrzne można zwirtualizować za pomocą wystąpienia programu SQL Server, aby można było wykonywać zapytania dotyczące ich w miejscu, tak jak w przypadku każdej innej tabeli w programie SQL Server. Ten proces minimalizuje zapotrzebowanie na procesy ETL na potrzeby przenoszenia danych. Ten scenariusz wirtualizacji danych jest możliwy przy użyciu łączników polyBase.

Obsługiwane produkty i usługi SQL

Technologia PolyBase udostępnia te same funkcje dla następujących produktów SQL firmy Microsoft:

  • SQL Server 2016 (13.x) i nowsze wersje (Windows)
  • SQL Server 2019 (15.x) i nowsze wersje (Windows i Linux)
  • SQL Server Analytics Platform System (PDW)
  • Azure Synapse Analytics (w przypadku dedykowanych pul SQL)

Uwaga / Notatka

Wirtualizacja danych jest również dostępna dla usługi Azure SQL Managed Instance w zakresie wykonywania zapytań dotyczących danych zewnętrznych przechowywanych w plikach w usługach Azure Data Lake Storage (ADLS) Gen2 i Azure Blob Storage. Aby uzyskać więcej informacji, zobacz Wirtualizacja danych za pomocą usługi Azure SQL Managed Instance.

Ulepszenia programu SQL Server 2025 PolyBase

Nowość w programie SQL Server 2025 (17.x) (wersja zapoznawcza) Szczegóły
Natywna obsługa plików CSV, Parquet i Delta 1 Usługa zapytań PolyBase dla instalacji danych zewnętrznych nie jest już wymagana do używania funkcji OPENROWSET, CREATE EXTERNAL TABLE ani CREATE EXTERNAL TABLE AS SELECT z następującymi typami danych zewnętrznych: Parquet, Delta, Azure Blob Storage (ABS), Azure Data Lake Storage (ADLS) lub S3-Compatible Object Storage.
Używanie ogólnych źródeł danych ODBC w systemie Linux Aby uzyskać więcej informacji, zobacz Configure PolyBase to access external data with ODBC generic types (Konfigurowanie technologii PolyBase w celu uzyskiwania dostępu do danych zewnętrznych przy użyciu typów ogólnych ODBC).
Obsługa protokołu TDS 8.0 W przypadku korzystania ze sterownika Microsoft ODBC 18 dla programu SQL Server usługa TDS 8.0 nie jest obsługiwana dla programu SQL Server jako zewnętrznego źródła danych.

1 W programie SQL Server 2025 (17.x) (wersja zapoznawcza) usługa zapytań PolyBase dla danych zewnętrznych jest nadal wymagana do nawiązania połączenia z innymi bazami danych. Na przykład: SQL Server, Oracle, DB2, Teradata, MongoDB lub ODBC.

Ulepszenia programu SQL Server 2022 PolyBase

Nowość w programie SQL Server 2022 (16.x) Szczegóły
Przechowywanie obiektów zgodne ze standardem S3 Program SQL Server 2022 (16.x) dodaje nowy łącznik, magazyn obiektów zgodny z protokołem S3 przy użyciu interfejsu API REST S3. Do wykonywania zapytań dotyczących plików danych w magazynie obiektów zgodnych z usługą S3 można użyć zarówno funkcji OPENROWSET , jak i CREATE EXTERNAL TABLE .
Niektóre łączniki są oddzielone od usług PolyBase Łącznik magazynu obiektów zgodny ze standardem S3, ADSL Gen2 i Azure Blob Storage nie są już zależne od usług PolyBase. Usługi PolyBase muszą nadal działać, aby obsługiwać łączność z bazami Danych Oracle, Teradata, MongoDB i Generic ODBC. Funkcja PolyBase musi być nadal zainstalowana w instancji SQL Server.
Format pliku Parquet Technologia PolyBase umożliwia teraz wykonywanie zapytań dotyczących danych z plików Parquet przechowywanych w magazynie obiektów zgodnym z usługą S3. Aby uzyskać więcej informacji, zobacz Virtualize parquet file in a S3-compatible object storage with PolyBase (Wirtualizacja pliku Parquet w magazynie obiektów zgodnym z S3 za pomocą PolyBase).
Format tabeli delty Technologia PolyBase umożliwia teraz wykonywanie zapytań (tylko do odczytu) danych z formatu tabeli delty przechowywanego w magazynie obiektów zgodnym z usługą S3, koncie usługi Azure Storage w wersji 2 i usłudze Azure Data Lake Storage Gen2. Aby uzyskać więcej informacji, zobacz Wirtualizacja tabeli różnicowej za pomocą technologii PolyBase
Utwórz tabelę zewnętrzną jako wybierz (CETAS) Technologia PolyBase może teraz użyć instrukcji CETAS do utworzenia tabeli zewnętrznej, a następnie wyeksportować równolegle wynik instrukcji Transact-SQL SELECT do usługi Azure Data Lake Storage Gen2, konta usługi Azure Storage w wersji 2 i magazynu obiektów zgodnego z usługą S3. Aby uzyskać więcej informacji, zobacz CREATE EXTERNAL TABLE AS SELECT (CETAS).

Aby uzyskać więcej nowych funkcji programu SQL Server 2022 (16.x), zobacz Co nowego w programie SQL Server 2022.

Wskazówka

Aby zapoznać się z samouczkiem dotyczącym funkcji i możliwości technologii PolyBase w programie SQL Server 2022 (16.x), zobacz Wprowadzenie do technologii PolyBase w programie SQL Server 2022.

Łączniki programu PolyBase

Funkcja PolyBase zapewnia łączność z następującymi zewnętrznymi źródłami danych:

Zewnętrzne źródła danych SQL Server 2016-2019 z technologią PolyBase SQL Server 2022 (16.x) z technologią PolyBase APS PDW Azure Synapse Analytics
Oracle, MongoDB, Teradata Przeczytaj Przeczytaj Nie. Nie.
Ogólne ODBC Odczyt (tylko system Windows) Odczyt (tylko system Windows) Nie. Nie.
Azure Storage Odczyt/Zapis Odczyt/Zapis Odczyt/Zapis Odczyt/Zapis
Hadoop Odczyt/Zapis Nie. Odczyt/Zapis Nie.
SQL Server Przeczytaj Przeczytaj Nie. Nie.
Przechowywanie obiektów zgodne ze standardem S3 Nie. Odczyt/Zapis Nie. Nie.
  • Program SQL Server 2022 (16.x) nie obsługuje usługi Hadoop.
  • Program SQL Server 2016 (13.x) wprowadził program PolyBase z obsługą połączeń z usługami Hadoop i Azure Blob Storage.
  • Program SQL Server 2019 (15.x) wprowadził więcej łączników, takich jak SQL Server, Oracle, Teradata i MongoDB.
  • SQL Server 2022 (16.x) wprowadził łącznik pamięci masowej zgodny z protokołem S3.
  • Sql Server 2019 (15.x) Aktualizacja zbiorcza 19 wprowadziła obsługę usługi Oracle TNS.
  • Sql Server 2022 (16.x) Aktualizacja zbiorcza 2 wprowadziła obsługę usługi Oracle TNS.

Przykłady łączników zewnętrznych to:

* Technologia PolyBase obsługuje dwóch dostawców hadoop, platformę Hortonworks Data Platform (HDP) i rozproszoną platformę Hadoop w chmurze (CDH) za pośrednictwem programu SQL Server 2019. Obsługa programu SQL Server dla zewnętrznych źródeł danych HDFS Cloudera (CDP) i Hortonworks (HDP) została wycofana i nie jest uwzględniana w programie SQL Server 2022 (16.x) i nowszych wersjach. Aby uzyskać więcej informacji, zobacz opcje Big Data na platformie Microsoft SQL Server.

Aby użyć programu PolyBase w wystąpieniu programu SQL Server:

  1. Zainstaluj program PolyBase w systemie Windows lub zainstaluj program PolyBase w systemie Linux.
  2. Począwszy od programu SQL Server 2019 (15.x), włącz program PolyBase w sp_configure w razie potrzeby.
  3. Utwórz zewnętrzne źródło danych.
  4. Utwórz tabelę zewnętrzną.

Integracja platformy Azure

Dzięki podstawowej pomocy technologii PolyBase zapytania T-SQL mogą również importować i eksportować dane z usługi Azure Blob Storage. Ponadto technologia PolyBase umożliwia usłudze Azure Synapse Analytics importowanie i eksportowanie danych z usługi Azure Data Lake Store oraz z usługi Azure Blob Storage.

Dlaczego warto używać technologii PolyBase?

Technologia PolyBase umożliwia łączenie danych z instancji SQL Server z danymi zewnętrznymi. Zanim program PolyBase zezwolił na dołączanie danych do zewnętrznych źródeł danych, można wykonać następujące czynności:

  • Przenieś połowę danych, aby wszystkie dane znajdowały się w jednej lokalizacji.
  • Wykonaj zapytanie względem obu źródeł danych, a następnie napisz niestandardową logikę zapytań, aby sprzężć i zintegrować dane na poziomie klienta.

Technologia PolyBase umożliwia łączenie danych przy użyciu Transact-SQL.

Technologia PolyBase nie wymaga zainstalowania dodatkowego oprogramowania w środowisku usługi Hadoop. Wykonywanie zapytań dotyczących danych zewnętrznych przy użyciu tej samej składni języka T-SQL używanej do wykonywania zapytań dotyczących tabeli bazy danych. Działania wsparcia implementowane przez program PolyBase są wykonywane w sposób przezroczysty. Autor zapytania nie potrzebuje żadnej wiedzy na temat źródła zewnętrznego.

Technologia PolyBase używa

Technologia PolyBase umożliwia korzystanie z następujących scenariuszy w programie SQL Server:

  • Wykonywanie zapytań dotyczących danych przechowywanych w usłudze Azure Blob Storage. Usługa Azure Blob Storage to wygodne miejsce do przechowywania danych do użycia przez usługi platformy Azure. Technologia PolyBase ułatwia dostęp do danych przy użyciu języka T-SQL.

  • Zapytanie danych przechowywanych w Hadoop z instancji SQL Server lub PDW. Użytkownicy przechowują dane w ekonomicznych systemach rozproszonych i skalowalnych, takich jak Hadoop. Technologia PolyBase ułatwia wykonywanie zapytań o dane przy użyciu języka T-SQL.

  • Zaimportuj dane z usług Hadoop, Azure Blob Storage lub Azure Data Lake Store. Użyj szybkości technologii magazynu kolumn i możliwości analizy bazy danych Microsoft SQL, importując dane z usług Hadoop, Azure Blob Storage lub Azure Data Lake Store do tabel relacyjnych. Nie ma potrzeby oddzielnego narzędzia ETL ani importowania.

  • Eksportowanie danych do usług Hadoop, Azure Blob Storage lub Azure Data Lake Store. Archiwizuj dane do Hadoop, Azure Blob Storage lub Azure Data Lake Store, aby osiągnąć tanie przechowywanie i utrzymać je w trybie online, zapewniając łatwy dostęp.

  • Integracja z narzędziami analizy biznesowej. Użyj PolyBase zarówno z pakietem narzędzi do analizy i zarządzania firmą Microsoft, jak i z dowolnymi narzędziami innych firm zgodnymi z programem SQL Server.

Wydajność

Nie ma twardego limitu liczby plików ani ilości danych, które mogą być odpytywane. Wydajność zapytań zależy od ilości danych, formatu danych, sposobu organizowania danych oraz złożoności zapytań i sprzężeń.

Aby uzyskać więcej informacji na temat wskazówek dotyczących wydajności i zaleceń dotyczących technologii PolyBase, zobacz Zagadnienia dotyczące wydajności w programie PolyBase dla programu SQL Server.

Uaktualnianie do programu SQL Server 2022

Począwszy od programu SQL Server 2022 (16.x) Hortonworks Data Platform (HDP) i Cloudera Distributed Hadoop (CDH) nie są już obsługiwane. Ze względu na te zmiany przed migracją do programu SQL Server 2022 (16.x) wymagane jest ręczne usunięcie zewnętrznych źródeł danych programu PolyBase utworzonych w poprzednich wersjach programu SQL Server TYPE = HADOOP lub usługi Azure Storage. Porzucanie zewnętrznych źródeł danych wymaga również porzucania skojarzonych obiektów bazy danych, takich jak poświadczenia o zakresie bazy danych i tabele zewnętrzne.

Łączniki usługi Azure Storage należy zmienić na podstawie poniższej tabeli referencyjnej:

Zewnętrzne źródło danych Źródło Do
Azure Blob Storage wasb[s] Mięśnie brzucha
ADLS Gen 2 abfs[s] ADLS

Wprowadzenie

Przed użyciem programu PolyBase należy zainstalować program PolyBase w systemie Windows lub zainstalować program PolyBase w systemie Linux i włączyć program PolyBase w sp_configure w razie potrzeby.

Aby zapoznać się z samouczkiem dotyczącym funkcji i możliwości technologii PolyBase, zobacz Wprowadzenie do technologii PolyBase w programie SQL Server 2022.

Aby uzyskać więcej samouczków dotyczących różnych zewnętrznych źródeł danych, zapoznaj się z tematem:

Wirtualizacja danych na innych platformach

Funkcje wirtualizacji danych są również dostępne na innych platformach: