Prefetching is a crucial technique employed in traditional databases to enhance interactivity, particularly in the context of data exploitation. Data exploration is a query processing paradigm in which users search for insights buried in the data, often not knowing what exactly they are looking for. Data exploratory tools deal with multiple challenges such as the need for interactivity with no a priori knowledge being present to help with the system tuning. The state-of-the-art prefetchers are specifically designed for navigational workloads only, where the number of possible actions is limited. The prefetchers that work with SQL-based workloads, on the other hand, mainly rely on data logical addresses rather than the data semantics. They fail to predict complex access patterns in cases where the database size is substantial, resulting in an extensive address space, or when there is frequent co-accessing of data. In this paper, we propose SeLeP, a semantic prefetcher that makes prefetching decisions for both types of workloads, based on the encoding of the data values contained inside the accessed blocks. Following the popular path of using machine learning approaches to automatically learn the hidden patterns, we formulate the prefetching task as a time-series forecasting problem and use an encoder-decoder LSTM architecture to learn the data access pattern. Our extensive experiments, across real-life exploratory workloads, demonstrate that SeLeP improves the hit ratio up to 40% and reduces I/O time up to 45% compared to the state-of-the-art, attaining impressive 95% hit ratio and 80% I/O reduction on average.
翻译:预取是传统数据库中用于增强交互性的关键技术,尤其在数据探查场景中。数据探索是一种查询处理范式,用户在其中寻找数据中隐藏的洞察,通常并不确切知晓其具体目标。数据探索工具面临多重挑战,例如需要在缺乏先验知识辅助系统调优的情况下实现交互性。当前最先进的预取器仅针对导航型工作负载设计,其可能操作的数量有限。另一方面,适用于基于SQL工作负载的预取器主要依赖数据的逻辑地址而非数据语义。当数据库规模庞大导致地址空间极大,或数据频繁协同访问时,这些预取器无法预测复杂的访问模式。本文提出SeLeP——一种语义预取器,基于被访问数据块内部数值的编码,为两类工作负载做出预取决策。遵循采用机器学习方法自动学习隐藏模式的流行路径,我们将预取任务建模为时间序列预测问题,并使用编码器-解码器LSTM架构来学习数据访问模式。通过在真实探索式工作负载上的大量实验表明,相较于现有最优方法,SeLeP将命中率提升最高达40%,I/O时间降低最高达45%,平均获得95%命中率与80% I/O降低的显著效果。