The storage system for a multimedia data manager kernel - Valěncio, Carlos Roberto [UNESP]; De Almeida, Fábio Renato [UNESP]; Machado, Jose Marcio [UNESP]; Colombini, Angelo Cesar; Neves, Leandro Alves [UNESP]; De Souza, Rogeria Cristiane Gratao [UNESP] (Institute of Electrical and Electronics Engineers (IEEE), 2014)
One way to boost the performance of a Database Management System (DBMS) is by fetching data in advance of their use, a technique known as prefetching. However, depending on the resource being used (file, disk partition, memory, etc.), the way prefetching is done might be different or even not necessary, forcing a DBMS to be aware of the underlying Storage System. In this paper we propose a Storage System that frees the DBMS of this task by exposing the database through a unique interface, no matter what kind of resource hosts it. We have implemented a file resource that recognizes and exploits sequential access patterns that emerge over time to prefetch adjacent blocks to the requested ones. Our approach is speculative because it considers past accesses, but it also considers hints from the upper layers of the DBMS, which must specify the access context in which a read operation takes place. The informed access context is then mapped to one of the available channels in the file resource, which is equipped with a set of internal buffers, one per channel, for the management of fetched and prefetched data. Prefetched data are moved to the main cache of the DBMS only if really requested by the application, which helps to avoid cache pollution. So, we slightly introduced a two level cache hierarchy without any intervention of the DBMS kernel. We ran the tests with different buffer settings and compared the results against the OBL policy, which showed that it is possible to get a read time up to two times faster in a highly concurrent environment without sacrificing the performance when the system is not under intensive workloads.
Keywords: Access context; buffer management; cache pollution; channel; database management system; multimedia database; object database; performance; prefetching; sequential access pattern; storage system