ALOCS: An Allocation-aware Key-value Repository
Keywords: allocation control, fragmentation, key-value, placement, repository, storage
AbstractLarge volumes of data produced every day brought new challenges for developing efficient ways to extract, store and access the data. One approach to support increasing storage capacity is to exploit distributed storage repositories, which can be used to implement the physical layer of a Database Management System (DBMS). One of the difficulties reported by DBMSs that adopted a Distributed Hash Table (DHT) as their storage back-end is the high cost of communication for query processing. This is because DHTs do not offer control over the location of the data, and thus data involved in a query may be spread over different servers. This article presents ALOCS, a distributed data repository which provides to the application control over data locality. ALOCS adopts the key-value data model, and allows a set of key-value pairs to be grouped into buckets, that are stored at a server determined by the application. This control allows data commonly used together to be allocated at the same server, reducing the amount of inter-server communication for processing queries. This ability is essential to improve the performance for processing queries in a distributed setting. We have implemented ALOCS and conducted an experimental study that shows the efficiency of the system.