1. A method for storing a logical object in a distributed network, comprising: dividing, by a processor, incoming data corresponding to a logical data object into a plurality of independent streams; associating each data chunk of a plurality of obtained data chunks with a corresponding stream among the plurality of independent streams; transforming each data chunk; generating a global index as a single meta-data stream accommodated in the logical data object and comprising information common to each of the plurality of independent streams and related to mapping between data in the logical data object and the obtained data chunks, wherein the information comprises one of block allocation events, block de-allocation events, and a starting point of index streams for each independent stream; storing, in a transformed logical data object, indexed data in the global index as persistent data in a first portion of a data block; storing, in the transformed logical data object, non-indexed data in the global index as semi-persistent data in a second portion of the data block; and reusing free data blocks corresponding to different data streams using semi-persistent free-block management.