Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
Program PolyBase a serwery połączone
W poniższej tabeli przedstawiono różnice między funkcjami programu PolyBase i połączonymi serwerami:
| PolyBase | Serwery połączone |
|---|---|
| Obiekt o zakresie działania bazy danych | Obiekt o zakresie wystąpienia |
| Używa sterowników ODBC | Korzysta z dostawców OLE DB |
| Obsługuje operacje tylko do odczytu dla wszystkich źródeł danych oraz możliwość zapisu w niektórych zewnętrznych źródłach danych. | Obsługuje operacje odczytu i zapisu |
| Zapytania do zdalnego źródła danych z jednego połączenia można skalować poziomo. | Zapytań do zdalnego źródła danych z jednego połączenia nie można skalować |
| Obsługiwane jest przesuwanie predykatów | Obsługiwane jest przesuwanie predykatów |
| Dla grupy dostępności nie jest wymagana żadna oddzielna konfiguracja | Oddzielna konfiguracja wymagana dla każdego wystąpienia w grupie dostępności |
| Tylko uwierzytelnianie podstawowe | Podstawowe i zintegrowane uwierzytelnianie |
| Nadaje się do analizy zapytań przetwarzających dużą liczbę wierszy | Odpowiednie dla zapytań OLTP zwracających pojedyncze lub kilka wierszy |
| Zapytania używające tabeli zewnętrznej nie mogą uczestniczyć w transakcji rozproszonej | Rozproszone zapytania mogą brać udział w rozproszonej transakcji. |
Co nowego w programie PolyBase w programie SQL Server 2022?
SQL Server 2022 (16.x) obsługuje pliki CSV, Parquet i Delta przechowywane na Azure Storage Account v2, Azure Data Lake Storage Gen2 lub dowolnej pamięci obiektowej kompatybilnej z S3, korzystając z API S3 REST, zarówno lokalnie, jak i w chmurze.
SQL Server 2022 (16.x) obsługuje CREATE EXTERNAL TABLE AS SELECT (CETAS), wraz z poleceniami takimi jak OPENROWSET, CREATE EXTERNAL TABLE (CET) oraz ulepszeniami T-SQL.
SQL Server 2022 (16.x) nie obsługuje zewnętrznych źródeł danych Hadoop.
SQL Server 2022 (16.x) Aktualizacja skumulowana 2 wprowadza wsparcie dla plików Oracle TNS. Aby uzyskać więcej informacji i przykładów, zobacz CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.
Więcej informacji można znaleźć w artykule Wirtualizacja danych z PolyBase for SQL Server 2022 oraz zapoznaj się z ulepszeniami SQL Server 2022 PolyBase.
Co nowego w programie PolyBase w programie SQL Server 2019?
PolyBase w SQL Server 2019 (15.x) potrafi odczytywać dane z wielu źródeł. Możesz przechowywać dane z tych zewnętrznych źródeł jako tabele zewnętrzne na instancji SQL Server. Technologia PolyBase obsługuje również obliczenia typu pushdown (przenoszenie obliczeń) do tych zewnętrznych źródeł danych, z wyłączeniem typów ogólnych ODBC.
Kompatybilne źródła danych
- SQL Server
- Oracle
- Teradata
- MongoDB
- Zgodne typy ogólne ODBC
SQL Server 2019 (15.x) Aktualizacja kumulatywna 19 wprowadza wsparcie dla plików Oracle TNS. Aby uzyskać więcej informacji i przykładów, zobacz CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.
Note
PolyBase może łączyć się z zewnętrznymi źródłami danych, korzystając z zewnętrznych sterowników ODBC. PolyBase nie zawiera tych sterowników i mogą one nie działać zgodnie z zamierzeniem. 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).
Co CONNECTION_OPTIONS mogę określić dla połączenia ze źródłami danych innych firm?
Przejrzyj CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS opcje obsługiwanych połączeń z dostawcami danych dla SQL Server, Oracle, Teradata, MongoDB API dla Cosmos DB oraz ogólnych dostawców danych ODBC.
Jak mogę wyświetlić zdalny plan wykonania zapytania dla computacji typu pushdown w programie PolyBase?
Możesz przeglądać plan zdalnego wykonywania zapytań, używając różnych metod w zależności od wersji SQL Server. Więcej informacji można znaleźć w artykule PolyBase Troubleshooting – aby zobaczyć plan zapytań PolyBase.
Jak sprawdzić, czy odbywa się obliczanie wypychania polyBase?
Aby uzyskać więcej informacji, zobacz Jak sprawdzić, czy wystąpiło zewnętrzne dociążenie.
Czy technologia PolyBase jest obsługiwana w usłudze Azure SQL Database?
Nie, ale możesz wykonywać zapytania dotyczące danych w plikach w usłudze Azure Blob Storage za pomocą funkcji OPENROWSET lub użyć CREATE EXTERNAL TABLE, aby odczytywać dane z bezserwerowej puli SQL w usłudze Synapse Analytics. Aby uzyskać więcej informacji, zobacz Azure SQL can read Azure Data Lake storage files using Synapse SQL external tables (Usługa Azure SQL może odczytywać pliki usługi Azure Data Lake Storage przy użyciu tabel zewnętrznych usługi Synapse SQL).
Czy technologia PolyBase jest obsługiwana w usłudze Azure SQL Managed Instance?
Usługa Azure SQL Managed Instance ma własne możliwości wirtualizacji danych dla usług Azure Data Lake Storage (ADLS) i Azure Blob Storage jako źródeł danych. Aby uzyskać więcej informacji, zobacz Wirtualizacja danych za pomocą usługi Azure SQL Managed Instance.
Które porty należy zezwolić za pośrednictwem zapory dla programu PolyBase?
Sam PolyBase nie wymaga otwierania dodatkowych portów, chyba że używasz grupy skalowania PolyBase. Bez grupy skalowalnej usługa PolyBase nie potrzebuje żadnych reguł zapory.
Na serwerach Windows PolyBase wykorzystuje porty, które używa instancja SQL Server w sekcji IPAll w ustawieniach TCP/IP w SQL Server Configuration Manager. Więcej informacji można znaleźć w sekcji TCP/IP Properties (zakładka Adresy IP). Na serwerach Linux PolyBase korzysta z tego network.tcpport ustawienia. Aby uzyskać więcej informacji, zobacz Port TCP.
W przypadku grup PolyBase skalowanych poziomo na wielu serwerach z systemem Windows, zobacz informacje o porcie w następnym pytaniu.
Jednak musisz pozwolić na inne porty komunikacji z różnymi zewnętrznymi źródłami danych, z których korzysta PolyBase. Zapoznaj się z dokumentacją konfiguracji ODBC, konfiguracji zasobów platformy Azure lub konkretnej dokumentacji źródła danych. Przykład:
| Platforma źródłowa | Reference |
|---|---|
| Microsoft SQL Server | Porty używane przez program SQL Server |
| Hortonworks HDP | Administrowanie systemem plików HDFS |
| Cloudera CDH | Porty używane przez składniki CDH |
Jakie porty są używane w skalowaniu poziomym technologii PolyBase?
Domyślnie usługa przenoszenia danych PolyBase łączy się z węzłem głównym grupy skalowalnej przez zakres portów TCP 16450-16460 (zazwyczaj 16450-1645) oraz port 17001. PolyBase używa tych portów tylko wtedy, gdy konfigurujesz grupę skalowalną, więc pozwalasz na nie przez zapory serwerowe. SQL Server Setup automatycznie tworzy lokalną regułę zapory, która pozwala na takie porty podczas instalacji funkcji. Aby uzyskać więcej informacji, zobacz sekcję „Konfigurowanie grup skalowania poziomego programu PolyBase w systemie Windows”.
Note
Grupy skalowania SQL Server PolyBase zostały usunięte w SQL Server 2022 (16.x).