Z-ordered Range Refinement for Multi-dimensional Range Queries

Kento Sugiura,Yoshiharu Ishikawa
2023-05-22
Abstract:The z-order curve is a space-filling curve and is now attracting the interest of developers because of its simple and useful features. In the case of key-value stores, because the z-order curve achieves multi-dimensional range queries in one-dimensional z-ordered space, its use has been proposed for both academic and industrial purposes. However, z-ordered range queries suffer from wasteful query regions due to the properties of the z-order curve. Although previous studies have proposed refining z-ordered ranges, doing so is computationally expensive. In this paper, we propose z-ordered range refinement based on jump-in/out algorithms, and then we approximate z-ordered query regions to achieve efficient range refinement. Because the proposed method is lightweight and pluggable, it can be applied to various databases. We implemented our approach using PL/pgSQL in PostgreSQL and evaluated the performance of range refinement and multi-dimensional range queries. The experimental results demonstrate the effectiveness and efficiency of the proposed method.
Databases
What problem does this paper attempt to address?
### Problems the Paper Attempts to Solve This paper aims to address the issue of invalid query regions caused by the characteristics of the Z-order curve in multi-dimensional range queries. Specifically: 1. **Background**: - Multi-dimensional data can be converted into one-dimensional data through the Z-order curve, enabling efficient processing in key-value storage systems. - Although the Z-order curve can simplify multi-dimensional range queries, its characteristics lead to unnecessary ranges (invalid query regions) during queries. 2. **Problems with Existing Methods**: - Previous research proposed using the jump-in algorithm to refine the Z-order range, but this method has high computational costs, especially performing poorly with high-dimensional data. - The Amazon DynamoDB team introduced the jump-in method, but the computation time increases exponentially with high-dimensional data. 3. **Research Objectives**: - Propose a method based on the jump-out algorithm, combined with the jump-in algorithm, to approximate the Z-order query region, achieving efficient range refinement. - By allowing some acceptable invalid regions, reduce computation time while maintaining multi-dimensional locality. 4. **Contributions**: - Introduced the jump-out algorithm to calculate the endpoints of segmented Z-order ranges. - Proposed an approximation method for the Z-order query region, which, even using the jump-in and jump-out algorithms, can complete range refinement within a reasonable time. - Experimental results show that the proposed method can partition the Z-order range within a reasonable execution time, suitable for preprocessing multi-dimensional range queries.