O MVCC não é o que você está procurando. Parece que você deseja consultar dados com base em um "ponto no tempo" para resultados com base no estado dos dados naquele ponto especificado no tempo.
Esse é um esquema de banco de dados temporal . Você pode criar um esquema de banco de dados relacional para consultas temporais, mas o próprio SQL torna alguns tipos de consultas temporais muito incômodas. Existe / era um dialeto SQL temporal (o espec está aqui , embora pareça ser o assunto de publicações de pesquisa , mas nunca foi padronizado), que supostamente tornava as consultas temporais menos complicadas enquanto ainda" eram SQL ".
Você pode encontrar muitas pesquisas e livros sobre o assunto de dados temporais e o modelo relacional se você procurar por ele. Uma boa modelagem de dados pode levar você para onde você quer ir, mas se você usar o SQL como sua linguagem de consulta, talvez não goste de como algumas das consultas acabam parecendo.
Editar: TimeDB é um front-end para o Oracle que adiciona um dialeto de consulta temporal. A licença deste código é completamente desconhecida.