Nouveauté : Boostez les performances des requêtes Apache Iceberg sur Amazon S3 avec le compactage par tri et Z-order

New: Improve Apache Iceberg query performance in Amazon S3 with sort and z-order compaction

Nouveauté : Boostez les performances des requêtes Apache Iceberg sur Amazon S3 avec le compactage par tri et Z-order

Amazon S3 introduit deux nouvelles stratégies de compactage pour améliorer les performances des requêtes Apache Iceberg : le tri et le Z-order. Ces options, disponibles pour les tables S3 gérées et les buckets S3 standard via AWS Glue Data Catalog, optimisent l'organisation des données pour réduire les coûts et accélérer l'exécution des requêtes.

Le compactage par tri organise les fichiers selon un ordre de colonnes défini par l'utilisateur, regroupant ainsi les valeurs similaires. Cette méthode réduit le nombre de fichiers analysés lors des requêtes, améliorant la latence et diminuant les coûts. Par exemple, un tri par état et code postal permet des requêtes plus rapides sur ces critères.

Le Z-order va plus loin en permettant un élagage efficace des fichiers sur plusieurs dimensions. Il entrelace les représentations binaires des valeurs de plusieurs colonnes, ce qui le rend idéal pour les requêtes spatiales ou multidimensionnelles. Par exemple, des filtres simultanés sur lieu de prise en charge, lieu de dépôt et montant de la course bénéficieront de cette méthode.

Pour activer ces fonctionnalités, les tables S3 utilisent automatiquement l'ordre de tri existant dans les métadonnées Iceberg. Le Z-order nécessite une configuration via l'API S3 Tables. Les tables Iceberg dans des buckets standard peuvent être configurées via AWS Glue Data Catalog.

Seules les nouvelles données écrites après activation seront affectées. Les fichiers existants restent inchangés sauf réécriture explicite. Cette approche permet de contrôler le coût et l'impact des réorganisations.

Disponibles dans toutes les régions AWS supportant les tables S3, ces stratégies n'entraînent pas de frais supplémentaires. Les tests montrent des améliorations de performance allant jusqu'à trois fois par rapport au compactage binpack par défaut.

Un exemple pratique avec Apache Spark et AWS CLI démontre comment configurer l'ordre de tri et observer les améliorations après compactage. Les utilisateurs peuvent commencer à tester ces fonctionnalités via l'API S3 Tables ou les optimisations AWS Glue.

Đột phá: Tăng hiệu suất truy vấn Apache Iceberg trên Amazon S3 với kỹ thuật sắp xếp và Z-order

Amazon S3 giới thiệu hai chiến lược nén dữ liệu mới giúp cải thiện hiệu suất truy vấn Apache Iceberg: sắp xếp và Z-order. Những tùy chọn này áp dụng cho cả bảng S3 được quản lý và bucket S3 thông thường thông qua AWS Glue Data Catalog, tối ưu hóa cách tổ chức dữ liệu để giảm chi phí và tăng tốc độ truy vấn.

Phương pháp sắp xếp tổ chức các tệp theo thứ tự cột do người dùng định nghĩa, nhóm các giá trị tương đồng lại với nhau. Điều này giảm số lượng tệp cần quét khi truy vấn, cải thiện độ trễ và giảm chi phí xử lý. Ví dụ, sắp xếp theo tiểu bang và mã bưu điện sẽ giúp các truy vấn trên các tiêu chí này chạy nhanh hơn.

Z-order tiến xa hơn bằng cách cho phép lọc hiệu quả trên nhiều chiều dữ liệu. Kỹ thuật này đan xen biểu diễn nhị phân của các giá trị từ nhiều cột, lý tưởng cho các truy vấn không gian hoặc đa chiều. Ví dụ, các bộ lọc đồng thời theo vị trí đón, vị trí trả và số tiền sẽ được hưởng lợi từ phương pháp này.

Các bảng S3 tự động sử dụng thứ tự sắp xếp có sẵn trong siêu dữ liệu Iceberg. Z-order yêu cầu cấu hình thông qua API S3 Tables. Bảng Iceberg trong bucket tiêu chuẩn có thể được cấu hình qua AWS Glue Data Catalog.

Chỉ dữ liệu mới được ghi sau khi kích hoạt sẽ bị ảnh hưởng. Các tệp hiện có vẫn giữ nguyên trừ khi được ghi đè rõ ràng. Cách tiếp cận này giúp kiểm soát chi phí và tác động của việc tổ chức lại.

Có sẵn tại tất cả các khu vực AWS hỗ trợ bảng S3, các chiến lược này không phát sinh phí bổ sung. Thử nghiệm cho thấy hiệu suất cải thiện đến ba lần so với phương pháp binpack mặc định.

Một ví dụ thực tế với Apache Spark và AWS CLI minh họa cách thiết lập thứ tự sắp xếp và quan sát cải tiến sau khi nén. Người dùng có thể bắt đầu thử nghiệm các tính năng này qua API S3 Tables hoặc tối ưu hóa AWS Glue.