1. A method of deduplicating data performed by one or more computing systems, each computing system having a processor and memory, the method comprising: receiving an indication of a first storage operation; creating a first logical data storage container associated with the first storage operation, wherein the first container includes three logical portions, wherein the first portion of the first container stores data associated with the first storage operation that is de-duplicated, wherein the second portion of the first container stores data associated with the first storage operation that is not de-duplicated, wherein the third portion of the first container stores a first data structure that includes information identifying locations of data in the first container, and wherein the data stored in the first and second portions of the first container is not tracked by file systems of the one or more computing systems; receiving a first set of multiple data objects associated with the first storage operation, each of the multiple data objects of the first set including a header portion and a payload portion; determining, by the one or more computing systems, that the payload portion of a first data object of the first set has already been stored in the first portion of the first container and updating the first data structure to track the location of the payload portion of the first data object; and determining, by the one or more computing systems, that the payload portion of a second data object of the first set has not already been stored in the first portion of the first container and both storing the payload portion of the second data object in the first portion of the first container and updating the first data structure to track the location of the of the payload portion of the second data object.