Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Amazon Redshift:Các phương pháp hay nhất để tối ưu hóa hiệu suất truy vấn

Được xuất bản lần đầu vào ngày 17 tháng 6 năm 2020 tại Onica.com/blog

Các tổ chức trên nhiều ngành công nghiệp tìm cách sử dụng phân tích dữ liệu cho các hoạt động và các chức năng khác quan trọng để thành công. Tuy nhiên, khối lượng dữ liệu ngày càng lớn, việc quản lý và khai thác giá trị có thể ngày càng trở nên phức tạp.

Amazon Redshift

Amazon® Redshift® là một dịch vụ kho dữ liệu mạnh mẽ của Amazon Web Services® (AWS) giúp đơn giản hóa việc quản lý và phân tích dữ liệu. Hãy xem qua Amazon Redshift và một số phương pháp hay nhất mà bạn có thể triển khai để tối ưu hóa hiệu suất truy vấn dữ liệu.

Dữ liệu hồ so với Kho dữ liệu

Trước khi tìm hiểu về Amazon Redshift, điều quan trọng là phải biết sự khác biệt giữa các hồ dữ liệu và kho. Một hồ dữ liệu, như Amazon S3, là kho dữ liệu tập trung lưu trữ dữ liệu có cấu trúc và không có cấu trúc, ở bất kỳ quy mô nào và từ nhiều nguồn, mà không làm thay đổi dữ liệu. chỉ tải dữ liệu cần thiết để phân tích từ các hồ dữ liệu.

Amazon Redshift đưa dung lượng lưu trữ cho phân tích dữ liệu lên một cấp độ nữa, kết hợp chất lượng của các hồ dữ liệu và kho thành một phương pháp tiếp cận "ngôi nhà hồ". Nó cho phép truy vấn các hồ exabyte-scaleedata lớn trong khi vẫn tiết kiệm chi phí, giảm thiểu dư thừa dữ liệu và giảm thiểu chi phí bảo trì và chi phí vận hành.

Kiến trúc Amazon Redshift

Để xử lý nhanh chóng các truy vấn phức tạp trên tập dữ liệu lớn, kiến ​​trúc Amazon Redshift hỗ trợ xử lý song song hàng loạt (MPP) giúp phân phối công việc trên nhiều nút máy tính để xử lý đồng thời.

Các nút này được nhóm thành các cụm và mỗi cụm bao gồm ba loại nút:

  • Nút lãnh đạo :Các kết nối này quản lý các kết nối, hoạt động như điểm cuối SQL và xử lý SQL song song phối hợp.

  • Nút tính toán :Bao gồm lát cắt , các truy vấn này thực hiện song song các truy vấn trên dữ liệu được lưu trữ ở định dạng cột và trong các khối bất biến 1 MB. Một cụm Amazon Redshift có thể chứa từ 1 đến 128 nút tính toán, được chia thành các phần chứa dữ liệu bảng và hoạt động như một vùng xử lý cục bộ.

  • Các nút quang phổ dịch chuyển đỏ của Amazon :Các truy vấn này thực thi các truy vấn đối với hồ dữ liệu Amazon S3.

Amazon Redshift:Các phương pháp hay nhất để tối ưu hóa hiệu suất truy vấn

Tối ưu hóa hiệu suất truy vấn

Bằng cách đưa bố cục vật lý của dữ liệu trong cụm đồng nhất với các mẫu truy vấn của bạn, bạn có thể trích xuất hiệu suất truy vấn tối ưu. Nếu Amazon Redshift hoạt động không tối ưu, hãy xem xét định cấu hình lại quản lý khối lượng công việc.

Định cấu hình lại quản lý khối lượng công việc (WLM)

Thường được để ở cài đặt mặc định, điều chỉnh WLM có thể cải thiện hiệu suất. Bạn có thể tự động hóa tác vụ này hoặc thực hiện thủ công. Khi được tự động hóa, Amazon Redshift quản lý việc sử dụng bộ nhớ và đồng thời dựa trên việc sử dụng tài nguyên cụm. Nó cho phép bạn thiết lập tám hàng đợi được chỉ định ưu tiên. Theo cách thủ công, bạn có thể điều chỉnh số lượng truy vấn đồng thời, phân bổ bộ nhớ và mục tiêu.

Bạn cũng có thể tối ưu hóa hiệu suất truy vấn thông qua các thông số cấu hình WLM sau:

  • Giám sát truy vấn các quy tắc giúp bạn quản lý các truy vấn đắt tiền hoặc bỏ chạy.

  • Truy vấn ngắn tăng tốc giúp bạn ưu tiên các truy vấn chạy ngắn hơn các truy vấn chạy ít hơn bằng cách sử dụng các thuật toán học máy để dự đoán thời gian thực thi truy vấn.

  • Chia tỷ lệ đồng tiền giúp bạn thêm nhiều cụm tạm thời trong vài giây để tăng tốc các truy vấn đọc đồng thời.

Các phương pháp hay nhất về WLM

Một số phương pháp hay nhất để điều chỉnh WLM bao gồm:

  • Tạo các truy vấn WLM khác nhau cho các loại khối lượng công việc khác nhau.
  • Giới hạn tổng số đồng thời tối đa cho cụm chính ở mức 15 trở xuống để tối đa hóa thông lượng.
  • Cho phép chia tỷ lệ đồng thời.
  • Giảm thiểu số lượng tài nguyên trong hàng đợi.

Tinh chỉnh phân phối dữ liệu

Các hàng của bảng được AmazonRedshift phân phối tự động trên các lát nút, dựa trên các kiểu phân phối sau:

  • AUTO :Bắt đầu với TẤT CẢ và chuyển sang TẤT CẢ khi bảng phát triển.
  • ALL :Bao gồm các bảng nhỏ, được liên kết thường xuyên và không thường xuyên được sửa đổi được đặt ở phần đầu tiên của mỗi nút tính toán.
  • EVEN :Bao gồm các bảng dữ kiện lớn, độc lập, không được kết hợp thường xuyên hoặc được tổng hợp theo phân phối vòng tròn trên các phần.
  • KEY :Bao gồm các bảng dữ kiện được kết hợp thường xuyên hoặc bảng có kích thước lớn. Trong kiểu này, một giá trị cột được băm và cùng một giá trị băm được đặt trên cùng một lát.

Sử dụng các mẫu phân phối phù hợp có thể tối đa hóa hiệu suất của JOIN , GROUP BYINSERT INTO SELECT hoạt động.

Tinh chỉnh việc sắp xếp dữ liệu

Các khóa sắp xếp xác định thứ tự vật lý của dữ liệu trên đĩa. Các cột bảng được sử dụng trong WHERE Các vị từ mệnh đề là một lựa chọn tốt cho các khóa sắp xếp và thường sử dụng các cột liên quan đến ngày tháng hoặc thời gian. hạn chế quét ở số khối bắt buộc tối thiểu.

Sơ đồ sau minh họa cách sắp xếp bảng các mục tiêu quét không tiêu điểm cho các truy vấn dựa trên thời gian, do đó cải thiện hiệu suất truy vấn.

Amazon Redshift:Các phương pháp hay nhất để tối ưu hóa hiệu suất truy vấn

Các phương pháp hay nhất về hiệu suất truy vấn tối ưu

Việc sử dụng Amazon Redshift đã đề cập trước đây sẽ cải thiện hiệu suất truy vấn và cải thiện chi phí và hiệu quả tài nguyên. Dưới đây là một số phương pháp hay nhất khác mà bạn có thể triển khai để cải thiện hiệu suất hơn nữa:

  • Sử dụng SORT phím trên các cột thường được sử dụng trong WHERE bộ lọc mệnh đề.
  • Sử dụng DISTKEY trên các cột thường được sử dụng trong JOIN vị ngữ.
  • Nén tất cả các cột ngoại trừ cột khóa sắp xếp đầu tiên.
  • Dữ liệu phân vùng trong hồ dữ liệu dựa trên các bộ lọc truy vấn, chẳng hạn như mẫu truy cập .

Để khám phá thêm một số phương pháp hay nhất, hãy đi sâu hơn vào các thay đổi của Amazon Redshift và xem ví dụ về phân tích truy vấn chuyên sâu, hãy đọc Blog của Mạng đối tácAWS (APN).

Nếu bạn đang bắt đầu hành trình dữ liệu và đang tìm cách tận dụng các dịch vụ củaAWS để phát triển nền tảng dữ liệu của mình một cách nhanh chóng, đáng tin cậy và tiết kiệm chi phí, hãy liên hệ với Nhóm Phân tích &Kỹ thuật Dữ liệu của chúng tôi ngay hôm nay.

Tìm hiểu thêm về các dịch vụ của Onica.

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào. Bạn cũng có thể nhấp vào Trò chuyện bán hàng để trò chuyện ngay bây giờ và bắt đầu cuộc trò chuyện.