think

Хочется прикольной базы данных, с версиями

Вдруг кто слышал уже про такое, скажите как называется :))

Какая там у неё будет модель данных, пока не важно. Я то туда "буду ходить" из какого-либо ОО-инструмента, но пока на уровне концепции - не суть.

Как это я себе представляю:
1. с добавлением новой порции данных понятно - добавляем
2. обновление - создаёт новую версию
3. удаление - переносит текущую версию в мусорник
На этом уровне ничего странного, всё традиционно.

Приколов хочется на уровне связей.
* хочется иметь возможность сослаться либо на последнюю версию, либо на конкретную
* хочется, указать тип связи на уровне описания структуры данных:
- ссылка будет всегда на последнюю версию
- ссылка всегда на конкретную версию
- ссылка помнит версию в момент связывания

Для последнего пример. Допустим Есть у меня справочник улиц. Я пишу в адресе "взять улицу из справочника". И тут бах - улицу переименовали (выполнили update). Так вот, то для каких-то данных (оперативных), мне нужно по ссылке получать новое название улицы, а для
других (архивных), я могу захотеть получать именно то значение, которое было когда я ссылку устанавливал.

Да, и конечно хочется чтоб всё это умело хранить десятки миллионов записей (это учитывая все версии, конечно), и довольно быстро в них "ориентироваться" на современном среднем железе. Вроде объемы для современных SQL-серверов совсем не страшные.

Есть хоть чего такого похожего на примете?
Tags: ,
можно ещё mercurial storage применять, если нужен python. :)
у меня есть большие сомнения на счет эффективности этих вариантов.
Кстати, самые меньшие сомнения про git ;)
> * хочется иметь возможность сослаться либо на последнюю версию, либо на конкретную
Тогда constraints могут не отрабатывать, если ссылаются на произвольную версию.
Собственно в MS SQL 2008 появилась версионность данных. Сам пока не юзал, но по примерам - как раз твой случай ;)
MS SQL - это как-то страшно так сходу ;/
Эт тебе хорошо - ты с ним давно, и фактически безвариантно :))