1. An apparatus comprising: a plurality of compute nodes each comprising a processor coupled to a memory; and a storage system configured for communication with the compute nodes over at least one network; the storage system comprising a software-defined storage controller configured to implement an in-memory database accessible as a unified memory cluster to respective processors of the compute nodes; wherein the in-memory database comprises portions of respective memories of the compute nodes forming a single storage pool; and wherein a capacity of the single storage pool is expanded using an additional portion of the memory of one of the compute nodes responsive to an overflow event associated with the memory of another one of the compute nodes.