Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Tôi rất hào hứng cuối cùng cũng xây dựng dựa trên bài blog trước của tôi Unified Data Platform - SQL 2019.

Trong loạt bài này, tôi đào sâu vào cách đạt được ảo hóa dữ liệu (data virtualization) thông qua PolyBase®. Bài này bao gồm giới thiệu và điều kiện tiên quyết demo, Phần Hai sẽ đến với demo thực tế.

Tóm tắt (Recap)

Để làm mới bộ nhớ, hãy nhớ rằng bài trước bao gồm các mục sau:

  1. Sự tiến hóa của SQL Server® từ DB Engine đến Unified Data Platform
  2. SQL 2019 trình bày Unified Data Platform sử dụng:
    • SQL DB Engine cho OLTP
    • Data Virtualization thông qua Polybase
    • Data Mart thông qua Columnar store
    • Data Lake thông qua HDFS
    • Big Data, ML, Streaming thông qua Apache Spark
  3. Quản lý và Giám sát sử dụng Azure® Data Studio (ADS)

Giới thiệu

Với dữ liệu hiện diện khắp nơi (omnipresent), chúng ta liên tục đối mặt với thách thức di chuyển hoặc sao chép nó đến vị trí khác để xử lý thêm. Với tập dữ liệu nhỏ, điều này đủ dễ dàng, nhưng có thể thành vấn đề với kích thước dữ liệu ngày càng tăng. Ngoài ra, với sự gia tăng tiến bộ của khai thác dữ liệu (data mining) bởi các tổ chức, các nhà lãnh đạo dữ liệu (data leaders) không ủng hộ việc giữ dữ liệu ở một nơi. Tương tự, việc lấy hoặc sử dụng dữ liệu từ các kho dữ liệu (data stores) khác nhau của dữ liệu có cấu trúc, không có cấu trúc và Big Data có thể rất nhàm chán.

Data virtualization (Ảo hóa dữ liệu) là giải pháp cho vấn đề này.

Data virtualization (Ảo hóa dữ liệu) là gì?

Data virtualization là một phương pháp quản lý dữ liệu cho phép ứng dụng truy xuất và thao tác dữ liệu mà không cần chi tiết kỹ thuật về dữ liệu, chẳng hạn như cách nó được định dạng tại nguồn hoặc vị trí vật lý. Nó có thể cung cấp cái nhìn đơn lẻ (single customer view) của tổng thể dữ liệu.

Có nhiều công cụ Data Virtualization hiện có trên thị trường, như sau:

  • Microsoft® Polybase®
  • Actifio® Virtual Data Pipe (VDP)
  • Informatica® Powercenter
  • IBM® Cloud Pak for Data
  • RedHat® JBoss Data Virtualization

Đối với loạt bài này, tôi tập trung vào PolyBase, mà Microsoft giới thiệu trong SQL 2016 và đã cải tiến qua từng phiên bản SQL tiếp theo.

Polybase cho phép SQL Server chạy truy vấn Transact-SQL trên các nguồn dữ liệu bên ngoài như Azure® Blob, Hadoop®, Oracle®, MongoDB®, v.v. Cùng Transact-SQL dùng để xử lý dữ liệu bên ngoài cũng có thể chạy trên database quan hệ. Khả năng này giúp tích hợp dữ liệu từ nguồn bên ngoài với dữ liệu quan hệ trong database của bạn. Hình ảnh sau minh họa đơn giản SQL Polybase:

Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 1


Bây giờ bạn đã biết cơ bản về Polybase, tôi muốn chia sẻ một demo lấy dữ liệu từ nguồn Azure blob bên ngoài bằng SQL PolyBase. Bài này bao gồm các điều kiện tiên quyết cho demo.

Điều kiện tiên quyết demo (Demo prerequisites)

Trước khi chạy demo, bạn cần thực hiện các tác vụ tiên quyết sau:

  1. Cài đặt SQL 2016 hoặc mới hơn với tính năng PolyBase.
  2. Bật PolyBase trên SQL Server.
  3. Tạo Azure Storage account.
  4. Tạo Azure blob container.
  5. Đặt file dữ liệu vào blob container.
1. Cài đặt SQL Polybase

Bạn chỉ có thể cài đặt Polybase với một SQL instance trên một máy.

Hiện tại, tôi có một instance SQL 2019 mặc định chạy trên máy local. Tuy nhiên, tôi không chọn Polybase khi cài đặt. Hình ảnh sau cho thấy SQL Server configuration manager:

Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 2


Tôi phải chạy lại SQL setup và chọn các yếu tố sau trong cửa sổ feature selection để cài đặt Polybase:

  • PolyBase Query Service for external data
  • Java Connector for HDFS data sources

Tiến hành chạy SQL Setup và thực hiện các bước sau để cài đặt tính năng PolyBase. Tiếp tục nhấp Next cho đến màn hình cuối cùng. Sau đó, nhấp tab Finish Installation, chọn các tab được highlight màu đỏ đậm.

  1. Nhấp Installation ở sidebar và chọn New SQL Server Stand-alone installation or add features to an existing installation.
Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 3


  1. Sau khi đến cửa sổ Installation Type, chọn Add features to an existing instance, và chọn instance yêu cầu từ dropdown.
Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 4


  1. Sau khi đến cửa sổ Feature Selection, chọn các tính năng PolyBase.
Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 5


  1. Trong cửa sổ Polybase Configuration, chọn Use this SQL Server as standalone Polybase-enabled instance.
Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 6


  1. Với các tùy chọn sidebar còn lại, chọn mặc định và nhấp Install. Sau khi cài đặt hoàn tất, cửa sổ sau hiển thị:
Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 7


Lúc này, bạn có thể thấy trong SQL configuration manager rằng chúng ta có thêm hai tính năng đã cài. Tuy nhiên, bạn vẫn có thể gặp thông báo lỗi Polybase not installed in SSMS khi cố bật Polybase. Để khắc phục, hãy khởi động lại server sau khi cài Polybase.

Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 8


2. Kích hoạt SQL Polybase

Để bật PolyBase, chạy các bước sau:

  1. Kết nối SQL Server trong SSMS và chạy truy vấn sau để xác nhận Polybase cài đặt thành công.

    SELECT SERVERPROPERTY ('IsPolyBaseInstalled') AS IsSuccessfullyInstalled;
    

    Hình ảnh sau cho thấy đầu ra cho cài đặt thành công:

Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1
  1. Bật Polybase bằng cách chạy các truy vấn sau:

    EXEC sp_configure 'polybase enabled', 1;
    Go
    
  2. Chạy truy vấn sau:

    Reconfigure
    

    Truy vấn này quan trọng. Nếu thiếu bước này, lỗi có thể xuất hiện khi tạo external file format trong các bước được bao gồm trong Phần Ba của loạt bài này.

Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 10


3. Tạo Azure Storage account

Thực hiện các bước sau để tạo Azure Storage account:

  1. Đăng nhập Azure Portal bằng thông tin xác thực của bạn.

  2. Tìm dịch vụ Azure Storage account và thực hiện các bước sau để tạo storage account. Tiếp tục nhấp Next cho đến màn hình cuối cùng. Sau đó, nhấp tùy chọn Review and Create. Chọn các tab được highlight màu đỏ đậm.

  3. Trên Azure Portal search bar, chọn Azure Storage account và nhấp + Add để tạo storage account mới.

Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 11


  1. Trên tab Basics, nhập chi tiết yêu cầu và nhấp Next: Networking.
Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 12


  1. Giữ cài đặt mặc định cho màn hình Networking, Data Protection, Advanced, và Tags.

  2. Tiếp theo, nhấp Review+Create và, sau khi validation thành công, nhấp Create Tab để tạo storage account, như hình sau:

Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 13

  1. Khi triển khai thành công, nhấp Go To Resource, dẫn bạn đến storage account đã tạo.
Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 14


4. Tạo Azure container

Để tạo Azure container, đi đến Azure storage account đã tạo, nhấp Containers ở ngăn bên trái, rồi nhấp +Container.

Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 15


5. Đặt file dữ liệu vào container

Ở giai đoạn này, tạo file dữ liệu text và tải lên container.

  1. Tạo file text tương tự file sau:
Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 16


Lưu ý: Bạn cũng có thể dùng CSV, Excel®, hoặc nguồn dữ liệu bên ngoài khác. Tuy nhiên, tùy thuộc vào nguồn dữ liệu bên ngoài, bạn cần thực hiện một vài bước bổ sung. Ví dụ, cho CSV hoặc Excel data sources, bạn nên cài driver phù hợp trên SQL Server và thêm connection properties vào ODBC data source name (DSN). Bạn có thể dùng Microsoft ODBC Data Source Administrator để tạo và cấu hình ODBC DSNs.

  1. Đi đến container bạn tạo, polybasedemocontainer, nhấp Upload, nhấp biểu tượng thư mục bên phải, và chọn file để tải lên.
Nền tảng dữ liệu thống nhất với PolyBase: Cơ bản về ảo hóa dữ liệu – Phần 1

Hình 17


Bước tiếp theo

Bạn đã hoàn thành thành công các điều kiện tiên quyết cho demo PolyBase. Phần Hai trình bày demo.

Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi. Bạn cũng có thể bắt đầu cuộc hội thoại với chúng tôi.