Z-ordered Range Refinement for Multi-dimensional Range Queries
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.
READ FULL TEXT