A computer-implemented method for partitioning and clustering data records among a plurality of recipient processing entities, including: processing a first set of original records (700, 501) by a first processing entity to generate a second set of records that includes the original records and at least one copy of each original record, each original record including one or more fields, and the processing of each of the original records including generating at least one copy (402, 502) of the original record, and associating a first segment value (402, 503) with the original record and associating a second segment value with the copy, where the first segment value corresponds to a first portion of one or more data values of respective fields of the original record and the second segment value corresponds to a second portion of the one or more data values of the respective fields of the original record different from the first portion, and partitioning the second set of records (404, 504) among a plurality of recipient processing entities, wherein every record having the first segment value is sent to one processing entity and wherein every record having the second segment value is sent to another processing entity, and, at each recipient processing entity, performing an operation based on one or more data values of the records received at the recipient processing entity to generate results, wherein performing an operation based on the one or more data values of the records received at the recipient processing entity includes clustering the received records into one or more clusters; and wherein clustering the received records includes placing data records in a cluster when said data records have been judged to be sufficiently similar. processing a first set of original records (700, 501) by a first processing entity to generate a second set of records that includes the original records and at least one copy of each original record, each original record including one or more fields, and the processing of each of the original records including generating at least one copy (402, 502) of the original record, and associating a first segment value (402, 503) with the original record and associating a second segment value with the copy, where the first segment value corresponds to a first portion of one or more data values of respective fields of the original record and the second segment value corresponds to a second portion of the one or more data values of the respective fields of the original record different from the first portion, and partitioning the second set of records (404, 504) among a plurality of recipient processing entities, wherein every record having the first segment value is sent to one processing entity and wherein every record having the second segment value is sent to another processing entity, and, at each recipient processing entity, performing an operation based on one or more data values of the records received at the recipient processing entity to generate results, wherein performing an operation based on the one or more data values of the records received at the recipient processing entity includes clustering the received records into one or more clusters; and wherein clustering the received records includes placing data records in a cluster when said data records have been judged to be sufficiently similar.