1. A method for storing data sets comprising: providing a data store; providing a data set information store for storing information regarding a plurality of data sets, including information specifying whether each respective data set is realized in the data store; providing a relation store for storing a plurality of algebraic relations between the data sets; establishing a criteria for virtualization of data sets in the data set information store; identifying at least one data set that is realized in the data store and meets the criteria for virtualization; determining that the relation store includes at least one algebraic relation defining the identified data set based upon at least one other data set that is realized in the data store; removing the identified data set from the data store; and changing the information regarding the identified data set in the data set information store to indicate that the identified data set is not realized in the data store.