Surrogate keys are used to store history and they are generated using sequence generator . Also you can version the records using sequence no using look up and expression transformation.