1. A method for writing data objects, the method comprises: accumulating, in a first memory module, multiple new data entities in one or more dirty pages of a data layer; wherein each new data entity and a corresponding older data entity are associated with a same application object; wherein the accumulating comprises storing each new data entity in a page that differs from a page that stores the corresponding older data entity; calculating multiple new sets of descriptors by generating to each new data entity, a new set of descriptors; wherein each set of descriptors comprises descriptors that belong to multiple descriptors layers; wherein the multiple descriptors layers and the data layer belong to an hierarchical data structure; accumulating the multiple new sets of descriptors in one or more dirty pages of one or more descriptors layers; wherein each corresponding older data entity is associated with a corresponding set of descriptors; wherein the accumulating comprises storing each new set of descriptors in a page that differs from a page that stores a corresponding set of descriptors; wherein the data layer and all of the multiple descriptors layers except of a root layer are dynamic layers in which new content of a given layer that replaces an older content of the given layer, is stored within the given layer at a different location from a location of the older content; and writing the multiple new data entities and the multiple new sets of descriptors to a second memory module.