1. A method of distributing a database across a plurality of compute nodes provided by a parallel computing system, comprising: subdividing data records stored in the database to create a plurality of database portions, wherein the database includes an index of the data records; distributing each of the plurality of database portions to one of the plurality of compute nodes; subdividing the index to create a plurality of sub-indexes, wherein each sub-index provides an index of the data records stored in one of the plurality of database portions, to the exclusion of at least some records in the database; and distributing at least one of the sub-indexes to the compute node storing the data records indexed by the at least one sub-index.