Amazon RedShift, kho dữ liệu đám mây được sử dụng rộng rãi, đã phát triển đáng kể để đáp ứng yêu cầu về hiệu suất của khối lượng công việc đòi hỏi khắt khe nhất. Bài đăng này đề cập đến một tính năng mới như vậy—khóa sắp xếp bố cục dữ liệu đa chiều.
Amazon Redshift hiện cải thiện hiệu suất truy vấn của bạn bằng cách hỗ trợ các khóa sắp xếp bố cục dữ liệu đa chiều, đây là một loại khóa sắp xếp mới giúp sắp xếp dữ liệu của bảng theo các thuộc tính bộ lọc thay vì các cột vật lý của bảng. Các phím sắp xếp bố cục dữ liệu đa chiều sẽ cải thiện đáng kể hiệu suất quét bảng, đặc biệt khi khối lượng công việc truy vấn của bạn chứa các bộ lọc quét lặp đi lặp lại.
Amazon Redshift đã cung cấp khả năng tối ưu hóa bảng tự động (ATO), tự động tối ưu hóa thiết kế bảng bằng cách áp dụng các khóa sắp xếp và phân phối mà không cần sự can thiệp của quản trị viên. Trong bài đăng này, chúng tôi giới thiệu các khóa sắp xếp bố cục dữ liệu đa chiều như một khả năng bổ sung do ATO cung cấp và được củng cố bằng thuật toán cố vấn khóa sắp xếp của Amazon Redshift.
Phím sắp xếp bố cục dữ liệu đa chiều
Khi bạn xác định một bảng bằng phím sắp xếp AUTO, Amazon Redshift ATO sẽ phân tích lịch sử truy vấn của bạn và tự động chọn phím sắp xếp một cột hoặc phím sắp xếp bố cục dữ liệu đa chiều cho bảng của bạn, dựa trên tùy chọn nào phù hợp hơn với khối lượng công việc của bạn. Khi bố cục dữ liệu đa chiều được chọn, Amazon Redshift sẽ xây dựng hàm sắp xếp đa chiều để định vị cùng các hàng thường được truy cập bởi cùng một truy vấn và sau đó, hàm sắp xếp này được sử dụng trong quá trình chạy truy vấn để bỏ qua các khối dữ liệu và thậm chí bỏ qua việc quét vị từ riêng lẻ cột.
Hãy xem xét truy vấn người dùng sau đây, đây là mẫu truy vấn chiếm ưu thế trong khối lượng công việc của người dùng:
Amazon Redshift lưu trữ dữ liệu cho mỗi cột trong các khối đĩa 1 MB và lưu trữ các giá trị tối thiểu và tối đa trong mỗi khối như một phần siêu dữ liệu của bảng. Nếu một truy vấn sử dụng một vị từ giới hạn phạm vi, Amazon Redshift có thể sử dụng các giá trị tối thiểu và tối đa để nhanh chóng bỏ qua số lượng lớn khối trong quá trình quét bảng. Tuy nhiên, bộ lọc của truy vấn này trên cột tiểu vùng không thể được sử dụng để xác định khối nào cần bỏ qua dựa trên giá trị tối thiểu và tối đa và kết quả là Amazon Redshift quét tất cả các hàng từ bảng tiêu đề:
Khi truy vấn của người dùng được chạy với titles
sử dụng phím sắp xếp một cột trên subregion
, kết quả của truy vấn trước đó như sau:
Điều này cho thấy quá trình quét bảng đã đọc được 2,164,081,640 hàng.
Để cải thiện khả năng quét trên titles
bảng, Amazon Redshift có thể tự động quyết định sử dụng khóa sắp xếp bố cục dữ liệu đa chiều. Tất cả các hàng thỏa mãn lower(subregion) like '%United States%'
vị từ sẽ được đặt cùng vị trí trong một vùng dành riêng của bảng và do đó Amazon Redshift sẽ chỉ quét các khối dữ liệu đáp ứng vị từ đó.
Khi truy vấn của người dùng được chạy với titles
sử dụng khóa sắp xếp bố cục dữ liệu đa chiều bao gồm lower(subregion) like '%United States%'
như một vị ngữ, kết quả của sys_query_detail
truy vấn như sau:
Điều này cho thấy quá trình quét bảng đã đọc được 152,324,046 hàng, chỉ bằng 7% so với bản gốc và nó đã sử dụng phím sắp xếp bố cục dữ liệu đa chiều.
Lưu ý rằng ví dụ này sử dụng một truy vấn duy nhất để giới thiệu tính năng bố cục dữ liệu đa chiều, nhưng Amazon Redshift sẽ xem xét tất cả các truy vấn chạy trên bảng và có thể tạo nhiều vùng để đáp ứng các vị từ được chạy phổ biến nhất.
Hãy lấy một ví dụ khác, lần này với các vị từ phức tạp hơn và nhiều truy vấn.
Hãy tưởng tượng có một cái bàn items (cost int, available int, demand int)
với bốn hàng như trong ví dụ sau.
#Tôi | chi phí | có sẵn | nhu cầu |
1 | 4 | 3 | 3 |
2 | 2 | 23 | 6 |
3 | 5 | 4 | 5 |
4 | 1 | 1 | 2 |
Khối lượng công việc chủ yếu của bạn bao gồm hai truy vấn:
- Mẫu truy vấn 70%:
- Mẫu truy vấn 20%:
Với các kỹ thuật sắp xếp truyền thống, bạn có thể chọn sắp xếp bảng theo cột chi phí, sao cho việc đánh giá cost > 3
sẽ được hưởng lợi từ việc sắp xếp này. Vì vậy, bảng các mục sau khi sắp xếp bằng một cost
cột sẽ trông như sau.
#Tôi | chi phí | có sẵn | nhu cầu |
Vùng #1, với chi phí <= 3 | |||
Vùng #2, với chi phí > 3 |
#Tôi | chi phí | có sẵn | nhu cầu |
4 | 1 | 1 | 2 |
2 | 2 | 23 | 6 |
1 | 4 | 3 | 3 |
3 | 5 | 4 | 5 |
Bằng cách sử dụng cách sắp xếp truyền thống này, chúng tôi có thể loại trừ ngay hai hàng trên cùng (màu xanh) có ID 4 và ID 2, vì chúng không thỏa mãn cost > 3
.
Mặt khác, với phím sắp xếp bố cục dữ liệu đa chiều, bảng sẽ được sắp xếp dựa trên sự kết hợp của XNUMX vị từ thường xuất hiện trong khối lượng công việc của người dùng, đó là cost > 3
và available < demand
. Kết quả là các hàng của bảng được sắp xếp thành bốn vùng.
#Tôi | chi phí | có sẵn | nhu cầu |
Vùng #1, với chi phí <= 3 và khả dụng < nhu cầu | |||
Vùng #2, với chi phí <= 3 và có sẵn >= nhu cầu | |||
Vùng #3, với chi phí > 3 và khả dụng < nhu cầu | |||
Vùng #4, với chi phí > 3 và có sẵn >= nhu cầu |
#Tôi | chi phí | có sẵn | nhu cầu |
4 | 1 | 1 | 2 |
2 | 2 | 23 | 6 |
3 | 5 | 4 | 5 |
1 | 4 | 3 | 3 |
Khái niệm này thậm chí còn mạnh mẽ hơn khi áp dụng cho toàn bộ khối thay vì các hàng đơn lẻ, khi áp dụng cho các vị từ phức tạp sử dụng các toán tử không phù hợp với kỹ thuật sắp xếp truyền thống (chẳng hạn như like
) và khi áp dụng cho nhiều hơn hai vị từ.
Bảng hệ thống
Các bảng hệ thống Amazon Redshift sau đây sẽ hiển thị cho người dùng xem liệu bố cục dữ liệu đa chiều có được sử dụng trên các bảng và truy vấn của họ hay không:
- Để xác định xem một bảng cụ thể có đang sử dụng phím sắp xếp bố cục dữ liệu đa chiều hay không, bạn có thể kiểm tra xem
sortkey1
in svv_table_info bằngAUTO(SORTKEY(padb_internal_mddl_key_col))
. - Để xác định xem một truy vấn cụ thể có sử dụng bố cục dữ liệu đa chiều để tăng tốc độ quét bảng hay không, bạn có thể kiểm tra
step_attribute
trong sys_query_detail xem. Giá trị sẽ bằngmulti-dimensional
liệu phím sắp xếp bố cục dữ liệu đa chiều của bảng có được sử dụng trong quá trình quét hay không.
Điểm chuẩn hiệu suất
Chúng tôi đã thực hiện kiểm tra điểm chuẩn nội bộ cho nhiều khối lượng công việc bằng các bộ lọc quét lặp đi lặp lại và thấy rằng việc giới thiệu các khóa sắp xếp bố cục dữ liệu đa chiều đã mang lại kết quả sau:
- Tổng thời gian chạy giảm 74% so với việc không có khóa sắp xếp.
- Tổng thời gian chạy giảm 40% so với việc sử dụng khóa sắp xếp một cột tốt nhất trên mỗi bảng.
- Giảm 80% tổng số hàng được đọc từ bảng so với việc không có khóa sắp xếp.
- Giảm 47% tổng số hàng được đọc từ bảng so với việc sử dụng phím sắp xếp một cột tốt nhất trên mỗi bảng.
So sánh tính năng
Với việc giới thiệu các phím sắp xếp bố cục dữ liệu đa chiều, giờ đây các bảng của bạn có thể được sắp xếp theo biểu thức dựa trên các thuộc tính bộ lọc thường xuất hiện trong khối lượng công việc của bạn. Bảng sau đây cung cấp bảng so sánh tính năng của Amazon Redshift với hai đối thủ cạnh tranh.
Đặc tính | Amazon RedShift | Đối thủ A | Đối thủ cạnh tranh B |
Hỗ trợ sắp xếp theo cột | Có | Có | Có |
Hỗ trợ sắp xếp theo biểu thức | Có | Có | Không |
Lựa chọn cột tự động để sắp xếp | Có | Không | Có |
Lựa chọn biểu thức tự động để sắp xếp | Có | Không | Không |
Tự động lựa chọn giữa sắp xếp cột hoặc sắp xếp biểu thức | Có | Không | Không |
Tự động sử dụng các thuộc tính sắp xếp cho biểu thức trong quá trình quét | Có | Không | Không |
Những cân nhắc
Hãy ghi nhớ những điều sau khi sử dụng bố cục dữ liệu đa chiều:
- Bố cục dữ liệu đa chiều được bật khi bạn đặt bảng của mình ở dạng SORTKEY AUTO.
- Amazon Redshift Advisor sẽ tự động chọn khóa sắp xếp một cột hoặc bố cục dữ liệu đa chiều cho bảng bằng cách phân tích khối lượng công việc lịch sử của bạn.
- Amazon Redshift ATO điều chỉnh kết quả sắp xếp bố cục dữ liệu đa chiều dựa trên cách thức các truy vấn đang diễn ra tương tác với khối lượng công việc.
- Amazon Redshift ATO duy trì các khóa sắp xếp bố cục dữ liệu đa chiều giống như cách hiện tại đối với các khóa sắp xếp hiện có. tham khảo Làm việc với tối ưu hóa bảng tự động để biết thêm chi tiết về ATO.
- Các phím sắp xếp bố cục dữ liệu đa chiều sẽ hoạt động với cả cụm được cung cấp và nhóm làm việc không có máy chủ.
- Các phím sắp xếp bố cục dữ liệu đa chiều sẽ hoạt động với dữ liệu hiện có của bạn miễn là AUTO SORTKEY được bật trên bảng của bạn và phát hiện khối lượng công việc có bộ lọc quét lặp đi lặp lại. Bảng sẽ được sắp xếp lại dựa trên kết quả của hàm sắp xếp đa chiều.
- Để tắt các phím sắp xếp bố cục dữ liệu đa chiều cho một bảng, hãy sử dụng bảng thay đổi:
ALTER TABLE table_name ALTER SORTKEY NONE
. Điều này sẽ vô hiệu hóa tính năng phím sắp xếp TỰ ĐỘNG trên bảng. - Các khóa sắp xếp bố cục dữ liệu đa chiều được giữ nguyên khi khôi phục hoặc di chuyển cụm được cung cấp của bạn sang cụm không có máy chủ hoặc ngược lại.
Kết luận
Trong bài đăng này, chúng tôi đã chỉ ra rằng các khóa sắp xếp bố cục dữ liệu đa chiều có thể cải thiện đáng kể hiệu suất thời gian chạy truy vấn cho khối lượng công việc trong đó các truy vấn chiếm ưu thế có bộ lọc quét lặp đi lặp lại.
Để tạo cụm xem trước từ bảng điều khiển Amazon Redshift, hãy điều hướng đến Cụm trang và chọn Tạo cụm xem trước. Bạn có thể tạo một cụm ở các Khu vực Miền Đông Hoa Kỳ (Ohio), Miền Đông Hoa Kỳ (N. Virginia), Miền Tây Hoa Kỳ (Oregon), Châu Á Thái Bình Dương (Tokyo), Châu Âu (Ireland) và Châu Âu (Stockholm) và kiểm tra khối lượng công việc của bạn.
Chúng tôi rất mong nhận được phản hồi của bạn về tính năng mới này và mong nhận được nhận xét của bạn về bài đăng này.
Giới thiệu về tác giả
Oke nhẹ nhàng là một Kiến trúc sư Giải pháp Chuyên gia Kho Dữ liệu sống tại New York. Ông đã xây dựng các giải pháp kho dữ liệu trong hơn 15 năm và chuyên về Amazon Redshift.
Đinh Gia Lâm là Nhà khoa học ứng dụng trong Nhóm hệ thống đã học, chuyên áp dụng các kỹ thuật tối ưu hóa và học máy để cải thiện hiệu suất của các hệ thống dữ liệu như Amazon Redshift.
Yanzhu Ji là Giám đốc sản phẩm trong nhóm Amazon Redshift. Cô ấy có kinh nghiệm về tầm nhìn và chiến lược sản phẩm trong các sản phẩm và nền tảng dữ liệu hàng đầu trong ngành. Cô ấy có kỹ năng xuất sắc trong việc xây dựng các sản phẩm phần mềm quan trọng bằng cách sử dụng kỹ thuật phát triển web, thiết kế hệ thống, cơ sở dữ liệu và lập trình phân tán. Trong cuộc sống cá nhân, Yanzhu thích vẽ tranh, chụp ảnh và chơi quần vợt.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- PlatoSức khỏe. Tình báo thử nghiệm lâm sàng và công nghệ sinh học. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/big-data/improve-performance-of-workloads-containing-repetitive-scan-filters-with-multidimensional-data-layout-sort-keys-in-amazon-redshift/
- : có
- :là
- :không phải
- :Ở đâu
- 1
- 100
- 15 năm
- 15%
- 152
- 7
- 8
- 9
- a
- đẩy nhanh tiến độ
- truy cập
- thêm vào
- cố vấn
- Sau
- chống lại
- thuật toán
- Tất cả
- Đã
- đàn bà gan dạ
- Amazon Web Services
- an
- phân tích
- phân tích
- và
- Một
- áp dụng
- Nộp đơn
- LÀ
- AS
- Á
- Châu á Thái Bình Dương
- tự động
- Tự động
- tự động
- có sẵn
- AWS
- dựa
- BE
- bởi vì
- được
- điểm chuẩn
- hưởng lợi
- BEST
- Hơn
- giữa
- Chặn
- Khối
- Màu xanh da trời
- cả hai
- Xây dựng
- nhưng
- by
- CAN
- khả năng
- kiểm tra
- Chọn
- đám mây
- cụm
- Cột
- Cột
- kết hợp
- Bình luận
- thông thường
- so
- sự so sánh
- đối thủ cạnh tranh
- phức tạp
- khái niệm
- Hãy xem xét
- bao gồm
- An ủi
- xây dựng
- chứa
- Phí Tổn
- bìa
- tạo
- Hiện nay
- dữ liệu
- kho dữ liệu
- Cơ sở dữ liệu
- quyết định
- dành riêng
- định nghĩa
- Nhu cầu
- yêu cầu
- Thiết kế
- chi tiết
- phát hiện
- Xác định
- Phát triển
- phân phối
- phân phối
- làm
- có ưu thế
- dont
- suốt trong
- mỗi
- Đông
- hay
- kích hoạt
- Toàn bộ
- như nhau
- đặc biệt
- Ether (ETH)
- Châu Âu
- đánh giá
- Ngay cả
- phát triển
- ví dụ
- hiện tại
- kinh nghiệm
- biểu thức
- Đặc tính
- thông tin phản hồi
- lọc
- bộ lọc
- tiếp theo
- sau
- Trong
- Forward
- 4
- từ
- chức năng
- Nhóm
- tay
- Có
- có
- he
- Nghe
- cô
- lịch sử
- lịch sử
- Tuy nhiên
- HTML
- HTTPS
- ID
- if
- ngay
- nâng cao
- cải thiện
- in
- bao gồm
- hệ thống riêng biệt,
- đầu ngành
- thay vì
- tương tác
- nội bộ
- can thiệp
- trong
- giới thiệu
- giới thiệu
- Giới thiệu
- ireland
- IT
- mặt hàng
- Key
- phím
- lớn
- Bố trí
- học
- học tập
- Cuộc sống
- Lượt thích
- Lượt thích
- dài
- Xem
- giống như
- yêu
- máy
- học máy
- duy trì
- giám đốc
- cách thức
- tối đa
- Gặp gỡ
- Siêu dữ liệu
- Might
- di cư
- tâm
- tối thiểu
- chi tiết
- hầu hết
- nhiều
- Điều hướng
- Cần
- Mới
- tính năng mới
- Newyork
- Không
- tại
- số
- xảy ra
- of
- off
- cung cấp
- Ohio
- on
- ONE
- đang diễn ra
- có thể
- khai thác
- tối ưu hóa
- Tối ưu hóa
- Tùy chọn
- or
- gọi món
- Oregon
- nguyên
- Nền tảng khác
- ra
- nổi bật
- kết thúc
- Hòa bình
- bức tranh
- một phần
- riêng
- Họa tiết
- hiệu suất
- thực hiện
- riêng
- nhiếp ảnh
- vật lý
- Nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- chơi
- Bài đăng
- mạnh mẽ
- bảo quản
- Xem trước
- Sản xuất
- Sản phẩm
- giám đốc sản xuất
- Sản phẩm
- Lập trình
- tài sản
- cung cấp
- truy vấn
- nhanh chóng
- Đọc
- giảm
- xem
- khu
- vùng
- lặp đi lặp lại
- Yêu cầu
- khôi phục lại
- kết quả
- Kết quả
- chạy
- chạy
- chạy
- tương tự
- quét
- quét
- quét
- Nhà khoa học
- Mùa
- xem
- chọn
- chọn
- lựa chọn
- Không có máy chủ
- DỊCH VỤ
- định
- chị ấy
- hiển thị
- giới thiệu
- cho thấy
- thể hiện
- Chương trình
- đáng kể
- duy nhất
- kỹ năng
- So
- Phần mềm
- Giải pháp
- chuyên gia
- chuyên
- chuyên
- cửa hàng
- Chiến lược
- Sau đó
- đáng kể
- như vậy
- phù hợp
- Hỗ trợ
- hệ thống
- hệ thống
- bàn
- Hãy
- nhóm
- kỹ thuật
- quần vợt
- thử nghiệm
- Kiểm tra
- hơn
- việc này
- Sản phẩm
- cung cấp their dịch
- vì thế
- họ
- điều này
- thời gian
- trò chơi
- đến
- tokyo
- hàng đầu
- Tổng số:
- truyền thống
- hai
- kiểu
- thường
- us
- sử dụng
- đã sử dụng
- người sử dang
- Người sử dụng
- sử dụng
- sử dụng
- giá trị
- Các giá trị
- phó
- Xem
- virginia
- tầm nhìn
- Kho
- là
- Đường..
- we
- web
- phát triển web
- các dịch vụ web
- hướng Tây
- khi nào
- liệu
- cái nào
- rộng rãi
- sẽ
- với
- không có
- Công việc
- sẽ
- năm
- york
- bạn
- trên màn hình
- zephyrnet