1. A computer-implemented method of updating a report created for a user at a client device based on a plurality of remote datasets stored in one or more databases, comprising: creating at tree servers arranged in parallel with one another between the client device and the one or more databases and implemented on computers including hardware, a plurality of different report slices according to a report definition, wherein the report slices are represented as subtrees having a structure with leaf nodes defined by data from the remote datasets, and the created report slices have different respective data accessed from the remote datasets according to different respective subtrees at the respective tree servers; receiving, at the tree servers implemented on computers including hardware, an update to the data from the remote datasets; determining whether the update requires a restructuring of report slices at respective tree servers; based on a determination that the received update requires restructuring of the report slices, restructuring the report slices at respective tree servers based on the received update including moving an entity from a leaf node to another leaf node based on the received update and analyzing the impact of moving the entity, wherein when the analyzing determines that moving the entity has no impact on the respective report slices, changing the determination that the received update requires restructuring of the respective report slices to a determination that the received update does not require restructuring of the respective report slices; and outputting messages to update the report based on the restructured report slices.