1. A method for mapping a query operation to an accelerator comprising: receiving, by a processor, a query operation and determining the design logic of the query operation; receiving a configuration of one or more available accelerators and a design logic of each of the one or more available accelerators; determining if the query operation can be offloaded to one or more of the one or more available accelerators; based on a determination that the query operation can be offloaded to one or more of the one or more available accelerators, creating software structures to interface with a selected accelerator and executing the query operation on the selected accelerator; and based on a determination that the query operation cannot be offloaded to one or more of the one or more available accelerators, executing the query operation in software.