A method for storing a data object, comprising: providing a plurality of physical storage pools, each physical storage pool including a plurality of storage nodes coupled to a network, each storage node further providing a non-transient computer readable medium for data storage; classifying a plurality of availability zones, wherein a particular availability zone is defined as one or more of the plurality of physical storage pools that are subject to a correlated loss of access to data stored in the respective physical storage pool; defining a plurality of abstract partitions, wherein each possible data management request deterministically corresponds to one of the plurality of abstract partitions, and wherein the deterministic correspondence between each possible data management request and an abstract partition of the plurality of abstract partitions is established using a mathematical function; mapping the plurality of abstract partitions to the plurality of physical storage pools such that each mapped physical storage pool includes a replica of the data associated with the associated mapped abstract partition, and multiple replicas for a particular abstract partition are each mapped to a physical storage pool in a different availability zone, wherein the mapping the plurality of abstract partitions to the plurality of physical storage pools is done via a constraint satisfaction algorithm; receiving a data management request over the network, the data management request associated with a data object to be stored; determining, using the data object and the mathematical function, a partition identification corresponding to an abstract partition of the plurality of abstract partitions; identifying, using the partition identification and the constraint satisfaction algorithm, a first abstract partition among the plurality of abstract partitions corresponding to the received data management request; and storing the data object in the physical storage pools mapped to the first abstract partition in accordance with the data management request such that multiple replicas of the data object are stored in the physical storage pools mapped to the first abstract partition, each of the physical storage pools being in a different availability zone. providing a plurality of physical storage pools, each physical storage pool including a plurality of storage nodes coupled to a network, each storage node further providing a non-transient computer readable medium for data storage; classifying a plurality of availability zones, wherein a particular availability zone is defined as one or more of the plurality of physical storage pools that are subject to a correlated loss of access to data stored in the respective physical storage pool; defining a plurality of abstract partitions, wherein each possible data management request deterministically corresponds to one of the plurality of abstract partitions, and wherein the deterministic correspondence between each possible data management request and an abstract partition of the plurality of abstract partitions is established using a mathematical function; mapping the plurality of abstract partitions to the plurality of physical storage pools such that each mapped physical storage pool includes a replica of the data associated with the associated mapped abstract partition, and multiple replicas for a particular abstract partition are each mapped to a physical storage pool in a different availability zone, wherein the mapping the plurality of abstract partitions to the plurality of physical storage pools is done via a constraint satisfaction algorithm; receiving a data management request over the network, the data management request associated with a data object to be stored; determining, using the data object and the mathematical function, a partition identification corresponding to an abstract partition of the plurality of abstract partitions; identifying, using the partition identification and the constraint satisfaction algorithm, a first abstract partition among the plurality of abstract partitions corresponding to the received data management request; and storing the data object in the physical storage pools mapped to the first abstract partition in accordance with the data management request such that multiple replicas of the data object are stored in the physical storage pools mapped to the first abstract partition, each of the physical storage pools being in a different availability zone.