1. A method for providing access to data stored in a secondary storage system, the method comprising: receiving data from a primary storage system to store in the secondary storage system, wherein the received data provides a backup of data stored by the primary storage system; generating at least a first view of the received data in the secondary storage system, wherein the first view includes a root node, one or more intermediate nodes, and one or more leaf nodes; generating, from the first view, at least a second view of the received data in the secondary storage system, wherein the first view and the second view each have an associated tree data structure having a plurality of nodes, wherein a plurality of leaf nodes of the tree data structures each include a key-value pair indicating a location of data in the secondary storage system exposed by the views, wherein the second view exposes the received data to a client system according to at least a first protocol and a second protocol, and wherein generating the second view comprises copying the root node of the tree data structure associated with the first view, wherein the copied root node includes one or more corresponding pointers to the one or more intermediate nodes of the first view; upon modification of data exposed by the second view, generating a new leaf node in the tree data structure associated with the second view, wherein the copied root node associated with the second view includes a pointer that directly or indirectly references the new leaf node, and the new leaf node stores metadata indicating a location of the modified data, and wherein the new leaf node that stores the modified data is not exposed by the first view; in response to receiving a read request from the client system for data exposed by the second view, traversing the tree data structure associated with the second view from the copied root node to one or more of the leaf nodes in the tree data structure associated with the second view to identify a leaf node storing metadata identifying a location of the requested data; upon determining the location of the requested data is stored in the new leaf node in the tree data structure associated with the second view, retrieving the requested data from the second view; upon determining the location of the requested data is stored in a leaf node in the tree data structure associated with the first view, retrieving the requested data from the first view; and returning the requested data.