1. A data processing apparatus, comprising: one or more processors; a memory; a metadata store storing information about files that are stored in a distributed data storage system, and comprising a class database; logic coupled to the processor(s) and to the metadata store and comprising stored sequences of instructions which, when executed by the processor(s), cause: receiving and storing in the class database a definition of a class of data storage servers comprising one or more server selection criteria and one or more representation counts; associating the class with one or more directories of the data storage system; in response to a data client storing a data file in a directory of the one or more directories, determining a set of data storage servers that match the server selection criteria and storing a plurality of replicas in the data storage servers according to the one or more representation counts; wherein the one or more representation counts control how many replicas, of data files that map to the class, are stored across the set of data storage servers that match the server selection criteria.