1. A method of versioning data in a database, said method comprising: determining snapshots of data in the database at an interval; identifying differences in the data; determining a set of changes that takes the data from one snapshot to another snapshot; and generating a mask comprising the set of changes that is applied by a machine code database instruction for changing the data from one snapshot to the other snapshot.