Blog

Databricks đã cải thiện hiệu suất truy vấn lên tới 2.2 lần bằng cách nào?

Một cái nhìn sâu hơn vào cách Databricks liên tục cải thiện hiệu suất mà không đánh đổi tính đơn giản.

Tối ưu kích thước file bảng

Tối ưu kích thước file bảng đã lâu trở thành một nhiệm vụ cần thiết nhưng phức tạp đối với các kỹ sư dữ liệu. Đạt được kích thước file đúng cho bảng của bạn mở ra những cải thiện đáng kể về hiệu suất, nhưng truyền thống đã yêu cầu chuyên môn sâu rộng và đầu tư thời gian đáng kể.

Predictive I/O cho Databricks SQL

Predictive I/O cho Databricks SQL, làm cho việc tra cứu điểm nhanh hơn và hiệu quả về mặt chi phí hơn. Xây dựng trên công việc đó, phần mềm có những khả năng được cung cấp bởi trí tuệ nhân tạo (AI) bổ sung tự động tối ưu kích thước file.

Bằng cách học từ dữ liệu thu thập được từ hàng ngàn triển khai thực tế, những cập nhật này đã mang lại cải thiện đáng kể về hiệu suất truy vấn mà không yêu cầu bất kỳ sự can thiệp từ người dùng nào. 

Sự kết hợp của việc tối ưu kích thước file dựa trên trí tuệ nhân tạo. Predictive I/O dẫn đến thời gian đến thông tin nhanh hơn đáng kể mà không cần điều chỉnh thủ công.

Kết quả

Bắt đầu từ đầu năm nay, những cập nhật này đã được triển khai cho các bảng Unity Catalog Managed. Nếu bạn đang sử dụng các Bảng Unity Catalog Managed hiện tại. Bạn sẽ tự động nhận được những cải thiện này – không cần cấu hình. Sớm thôi, tất cả các bảng Delta trong Unity Catalog sẽ được tối ưu hóa này.

Dưới đây là kết quả trước và sau khi được đo lường trên Databricks SQL:

Sau thực hiện biện pháp để đảm bảo rằng các bài đo này càng gần thực tế càng tốt:

Sử dụng TPC-DS, chuẩn đoán dữ liệu dùng cho việc xây dựng Data lake. Nó được áp dụng bởi hầu hết tất cả các nhà cung cấp.

Dùng tập dữ liệu 1 TB vì hầu hết các bảng có kích thước trong khoảng này. Các bảng như vậy ít có khả năng được hưởng lợi từ việc điều chỉnh tùy chỉnh. Tuy nhiên, lưu ý rằng các cải thiện này trên cũng áp dụng tương đương cho các bảng lớn hơn.

Các kĩ sư thực hiện việc cấp phát tập dữ liệu theo các file nhỏ. Tương ứng với các mẫu cấp phát thông thường mà họ thấy từ khách hàng.

Thách thức kỹ thuật của việc tối ưu kích thước file trên Databricks

Kích thước của file

Kích thước của các file dữ liệu hỗ trợ các bảng Delta của bạn đóng một vai trò quan trọng trong hiệu suất. 

  • Nếu kích thước file quá nhỏ, bạn sẽ có quá nhiều file, dẫn đến sự suy giảm hiệu suất do chi phí xử lý gây ra từ việc xử lý dữ liệu meta và giới hạn tốc độ API từ các dịch vụ lưu trữ của nhà cung cấp đám mây. 
  • Nếu kích thước file quá lớn, các hoạt động như song song hóa cấp nhiệm vụ và bỏ qua dữ liệu trở nên khó khăn và tốn kém hơn. Như câu chuyện “Gấu vàng”, thách thức đó là tìm ra kích thước file đúng.

Kiểm tra kích thước trong thực tế

Việc lựa chọn kích thước file lý tưởng chỉ là nửa cuộc chiến. Nửa còn lại là đảm bảo rằng file của bạn thực sự có kích thước như vậy trong thực tế. Các kỹ sư phần mềm đã phát hiện rằng trên tải công việc của khách hàng. Kích thước file trung bình rất nhỏ – thực tế là 90% file có kích thước dưới 1MB!

Thẩm định sâu: Cách Databricks tự động tối ưu kích thước file

Sử dụng nguồn dữ liệu thực tế trên Databricks

Sử dụng dữ liệu được thu thập từ hàng ngàn triển khai thực tế. Cùng với đó kết hợp với việc thử nghiệm cẩn thận. Chúng ta xây dựng một mô hình về kích thước file “đúng” dựa trên các yếu tố như kích thước bảng và hành vi đọc/ghi. 

Ví dụ, mô hình của các nhà nghiên cứu đã phát hiện rằng đối với một bảng khách hàng thông thường trong khoảng kích thước 1 TB. Kích thước file lý tưởng nằm giữa 64-100MB.

Tiếp cận các phương tiện

Sau khi mô hình của các nhà nghiên cứu xác định được kích thước file lý tưởng. Các nhà nghiên cứu đã tiếp cận từ nhiều phương diện để đạt được kích thước file thực tế tương ứng. 

Đầu tiên, các nhà nghiên cứu cải thiện cách ghi file. Trong các bảng được phân vùng, họ đã xếp xáo dữ liệu để các bộ xử lý ghi vào ít file hơn nhưng lớn hơn. 

Trong các bảng không phân vùng của Databricks, các kỹ sư nhận thấy rằng họ có thể hợp nhất các nhiệm vụ cho các file lớn hơn. 

Và trong cả hai trường hợp, các nhà nghiên cứu đảm bảo chỉ kích hoạt khi tác động đến hiệu suất ghi là không đáng kể. Sau khi triển khai, họ đã thấy kích thước trung bình của file đã tăng gấp 6 lần. Việc này tiến gần hơn đến kích thước lý tưởng.

Tạo quy trình chỉnh kích thước file

Thứ hai, các nhà nghiên cứu tạo ra một quy trình nền. Mục đích để tăng cường kích thước file quá nhỏ thành kích thước file đúng. Phương pháp này cung cấp tính an ninh sâu. Ngoài ra, nó giải quyết các file vẫn còn quá nhỏ mặc dù họ đã cải thiện việc ghi file. 

Không giống như khả năng tự động nén trước đó. Khả năng mới này chạy bất đồng bộ để tránh tác động đến hiệu suất ghi. Nó chỉ chạy trong thời gian rảnh rỗi của cụm của bạn. Nó xử lý tốt hơn trong các tình huống có nhiều người ghi cùng một lúc. Cho đến nay, các kỹ sư phần mềm đã chạy 9.8 triệu quá trình nén. Mỗi lần nén trung bình ghép 29 file thành một file.

Bắt đầu

Không cần gì để bắt đầu tận hưởng những cải thiện về hiệu suất này. Miễn là bảng Delta của bạn đáp ứng các yêu cầu sau đây.

Sử dụng DB SQL hoặc DBR 11.3 và phiên bản mới hơn

Sử dụng Unity Catalog Managed Tables (hỗ trợ bảng ngoài sẽ sớm được cập nhật)

Với những cải thiện này, bạn không cần lo lắng về việc điều chỉnh kích thước file tối ưu nữa. Đây chỉ là một ví dụ trong số nhiều cải tiến mà Databricks đang triển khai nhằm tận dụng khả năng dữ liệu và trí tuệ nhân tạo của Databricks để giải phóng thời gian và năng lượng của bạn. Để bạn có thể tập trung vào việc tối đa hóa giá trị kinh doanh.

Nguồn: Internet

>>Tìm hiểu thêm các khóa học tại đây!

Leave a Reply

Your email address will not be published. Required fields are marked *