1. A computer implemented method comprising: receiving an update to a database of hyperlinks comprising a first data store; determining if a size of the update is equivalent to a size of the first data store; when the size of the update is not equivalent to the size of the at least one first data store, then storing the update in a new data store; and, if not, when the size of the update is equivalent to the size of the first data store, marking the update and the first data store for merging into a new merged data store, wherein storing the update in the new merged data store creates a hierarchy of data stores in the database comprising the new merged data store and the first data store; and when the at least one first data store has been marked for merging and a determined size of the new merged data store is equivalent to a size of at least one other data store, marking the at least one other data store for merging with the new merged data store.