text

Corra: Correlation-Aware Column Compression

Abstract

Column encoding schemes have witnessed a spark of interest with the rise of open storage formats (like Parquet) in data lakes in modern cloud deployments. This is not surprising -- as data volume increases, it becomes more and more important to reduce storage cost on block storage (such as S3) as well as reduce memory pressure in multi-tenant in-memory buffers of cloud databases. However, single-column encoding schemes have reached a plateau in terms of the compression size they can achieve. We argue that this is due to the neglect of cross-column correlations. For instance, consider the column pair (city\texttt{city}, \texttt{zip_code}). Typically, cities have only a few dozen unique zip codes. If this information is properly exploited, it can significantly reduce the space consumption of the latter column. In this work, we depart from the established path of compressing data using only single-column encoding schemes and introduce several what we call horizontal\textit{horizontal}, correlation-aware encoding schemes. We demonstrate their advantages over single-column encoding schemes on the well-known TPC-H's lineitem\texttt{lineitem}, LDBC's message\texttt{message}, DMV, and Taxi datasets. Our correlation-aware encoding schemes save up to 58.3% of the compressed size over single-column schemes for lineitem\texttt{lineitem}'s receiptdate\texttt{receiptdate}, 53.7% for DMV's \texttt{zip_code}, and 85.16% for Taxi's \texttt{total_amount}.Comment: Submitted to CloudDB'2

    Similar works

    Full text

    thumbnail-image

    Available Versions