1. A non-volatile data storage device, comprising: a controller; an array of one or more solid-state memory storage devices; wherein the array of one or more solid-state memory storage devices is configured to: store a plurality of logical pages, the size of the logical pages configured to correspond to a size of a tuple of a database; and store data that is indexable based on a plurality of logical addresses corresponding to the plurality of logical pages; a first memory for storing processor executable instructions associated with database operation; and a second memory for storing data related to the database operations; wherein the controller is configured to execute the instructions, the instructions causing the controller to: cause data to be read from the solid-state memory storage devices into the second memory; determine whether the data match a query specified by the instructions; and perform a database operation based on the query match determination.