1. An apparatus to perform a join operation on a plurality of database objects comprising: a plurality of processing nodes, each comprising a processor and a data storage unit, the processing nodes being communicatively coupled one to another and configured to: distribute data structures contained in a first database object across a plurality of database partitions in accordance with a partitioning scheme, the database partitions being stored in respective data storage units of the processing nodes, wherein each of the plurality of database partitions uniquely corresponds to a partition processing module configured to perform one or more operations on the corresponding database partition in parallel with one or more other partition processing modules to complete a common task on the first database object; associate the data structures of the first database object with indices computed complementary to the partitioning scheme; compute other indices from the data structures contained in a second database object; and perform a join operation at each of the database partitions on the data structures in the respective first and second database objects having the indices and the other indices in common.