База данных с системой контроля версий
От: nikov США http://www.linkedin.com/in/nikov
Дата: 23.11.08 11:32
Оценка: 7 (2)
База данных, интегрированная с системой контроля версий — существует ли такое? Чтобы любое изменение в базе создавало новую ревизию, и можно было откатиться на любое состояние в прошлом. Чтобы можно было отрастить ветку от нынешнего или любого прошлого состояния, и переключаться между ветками. Чтобы можно было сджойниться с таблицей в другой ветке и ревизии. Чтобы можно было делать диффы и мерджи. Чтобы можно было искать не только по тем данным, которые есть сейчас, но и тем, которые были в предыдущих ревизиях и/или в других ветках.
Re: База данных с системой контроля версий
От: Mamut Швеция http://dmitriid.com
Дата: 23.11.08 15:08
Оценка: 17 (1)
Здравствуйте, nikov, Вы писали:

N>База данных, интегрированная с системой контроля версий — существует ли такое? Чтобы любое изменение в базе создавало новую ревизию, и можно было откатиться на любое состояние в прошлом. Чтобы можно было отрастить ветку от нынешнего или любого прошлого состояния, и переключаться между ветками. Чтобы можно было сджойниться с таблицей в другой ветке и ревизии. Чтобы можно было делать диффы и мерджи. Чтобы можно было искать не только по тем данным, которые есть сейчас, но и тем, которые были в предыдущих ревизиях и/или в других ветках.


Ну, в CouchDB новая версия документа — это именно новая версия со своим номером ревизии и возможностью откатиться назад


dmitriid.comGitHubLinkedIn
Re[2]: База данных с системой контроля версий
От: nikov США http://www.linkedin.com/in/nikov
Дата: 23.11.08 15:29
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Ну, в CouchDB новая версия документа — это именно новая версия со своим номером ревизии и возможностью откатиться назад


Меня главным образом интересуют реляционные БД.
Re[3]: База данных с системой контроля версий
От: Aen Sidhe Россия Просто блог
Дата: 23.11.08 15:31
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, Mamut, Вы писали:


M>>Ну, в CouchDB новая версия документа — это именно новая версия со своим номером ревизии и возможностью откатиться назад


N>Меня главным образом интересуют реляционные БД.


Вроде к MS SQL был плагин к VSS.
С уважением, Анатолий Попов.
ICQ: 995-908
Re: База данных с системой контроля версий
От: IB Австрия http://rsdn.ru
Дата: 23.11.08 18:22
Оценка:
Здравствуйте, nikov, Вы писали:

N>База данных, интегрированная с системой контроля версий — существует ли такое? Чтобы любое изменение в базе создавало новую ревизию, и можно было откатиться на любое состояние в прошлом. Чтобы можно было отрастить ветку от нынешнего или любого прошлого состояния, и переключаться между ветками. Чтобы можно было сджойниться с таблицей в другой ветке и ревизии. Чтобы можно было делать диффы и мерджи. Чтобы можно было искать не только по тем данным, которые есть сейчас, но и тем, которые были в предыдущих ревизиях и/или в других ветках.

Боюсь. Откатиться до любой точки назад, да, можно в любой внятной СУБД, правда не так просто как в VCS, а вот уже с ветками, мерджами и темпоральными запросами — не судьба.
Тут и проблемы связанные с отсутствием идентификаторов у кортежей в реляционке, и непонятно что делать при изменении схемы, и оптимизатору работать уже не так просто. Опять-таки под конкретную задачу такое можно сделать уже поверх обычной БД, например тот же TFS вполне себе использует MSSQL в качестве хранилища.
... << RSDN@Home 1.2.0 alpha 4 rev. 1082>>
Мы уже победили, просто это еще не так заметно...
Re[2]: База данных с системой контроля версий
От: nikov США http://www.linkedin.com/in/nikov
Дата: 23.11.08 20:07
Оценка:
Здравствуйте, IB, Вы писали:

IB>Откатиться до любой точки назад, да, можно в любой внятной СУБД, правда не так просто как в VCS,


Ты имеешь в виду: поднять старый бекап и накатить лог? Или появились более простые и гибкие подходы? Хотелось бы прямо в запросе обратиться к состоянию какой-то таблицы в прошлом.
Re[3]: База данных с системой контроля версий
От: Курилка Россия http://kirya.narod.ru/
Дата: 23.11.08 20:12
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, IB, Вы писали:


IB>>Откатиться до любой точки назад, да, можно в любой внятной СУБД, правда не так просто как в VCS,


N>Ты имеешь в виду: поднять старый бекап и накатить лог? Или появились более простые и гибкие подходы? Хотелось бы прямо в запросе обратиться к состоянию какой-то таблицы в прошлом.


У оракла есть Flashback, но это по ходу заметно меньше того, что ты хочешь.
Re[3]: База данных с системой контроля версий
От: IB Австрия http://rsdn.ru
Дата: 23.11.08 21:40
Оценка:
Здравствуйте, nikov, Вы писали:

N>Ты имеешь в виду: поднять старый бекап и накатить лог?

Именно.

N>Или появились более простые и гибкие подходы? Хотелось бы прямо в запросе обратиться к состоянию какой-то таблицы в прошлом.

У оракла есть Flashback запросы, но AFAIK на практике это вообще малоприменимо и используется в основном для административных целей.
... << RSDN@Home 1.2.0 alpha 4 rev. 1082>>
Мы уже победили, просто это еще не так заметно...
Re: База данных с системой контроля версий
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.11.08 01:11
Оценка: +1
Здравствуйте, nikov, Вы писали:

Такие вещи реализуют обычно на прикладном уровне.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[4]: База данных с системой контроля версий
От: nikov США http://www.linkedin.com/in/nikov
Дата: 24.11.08 12:56
Оценка:
Здравствуйте, Курилка, Вы писали:

К>У оракла есть Flashback, но это по ходу заметно меньше того, что ты хочешь.


А как сейчас обстоит дело с метазапросами наподобие:
"Показать список всех запросов за последнюю неделю, которые затрагивали таблицу AAA и вернули больше 1000 записей."
"Показать список всех запросов за последнюю неделю, которые затрагивали таблицу BBB и заняли больше 3 секунд процессорного времени."
"В каких 10 таблицах число записей увеличилось сильнее всего за последний месяц."

Много ли надо сделать телодвижений, чтобы можно было легко получать ответы на подобные запросы?
Re[2]: База данных с системой контроля версий
От: nikov США http://www.linkedin.com/in/nikov
Дата: 24.11.08 12:59
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Такие вещи реализуют обычно на прикладном уровне.


Да, самому приходилось делать что-то такое на MSSQL 2000 около 5 лет назад, когда возился с базами данных. Но это же целый слой абстракции. Вот, подумал, не научились ли сейчас перекладывать это на БД.
Re[5]: База данных с системой контроля версий
От: Курилка Россия http://kirya.narod.ru/
Дата: 24.11.08 13:05
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, Курилка, Вы писали:


К>>У оракла есть Flashback, но это по ходу заметно меньше того, что ты хочешь.


N>А как сейчас обстоит дело с метазапросами наподобие:

N>"Показать список всех запросов за последнюю неделю, которые затрагивали таблицу AAA и вернули больше 1000 записей."
N>"Показать список всех запросов за последнюю неделю, которые затрагивали таблицу BBB и заняли больше 3 секунд процессорного времени."
N>"В каких 10 таблицах число записей увеличилось сильнее всего за последний месяц."

N>Много ли надо сделать телодвижений, чтобы можно было легко получать ответы на подобные запросы?


Тут не помощник — сам с ораклом работал года 2 назад, да и без особых наворотов.
А сейчас вообще с MySQL ковыряюсь
Re[5]: База данных с системой контроля версий
От: IB Австрия http://rsdn.ru
Дата: 24.11.08 13:43
Оценка:
Здравствуйте, nikov, Вы писали:

N>"Показать список всех запросов за последнюю неделю, которые затрагивали таблицу AAA и вернули больше 1000 записей."

MSSQL 2005 и больше — можно что-то пободное (точно не знаю, давно не смотрел) через системные вьюшки, только не по таблицам, а по индексам.
То есть какая-то статистика по использованию индексов в принципе доступна.

N>"Показать список всех запросов за последнюю неделю, которые затрагивали таблицу BBB и заняли больше 3 секунд процессорного времени."

При поднятом профайлере за последнюю неделю — нет проблем (ну и предыдущее тоже).

N>"В каких 10 таблицах число записей увеличилось сильнее всего за последний месяц."

Напрямую вряд ли, но применив какую-нибудь эвристику наверняка можно.

N>Много ли надо сделать телодвижений, чтобы можно было легко получать ответы на подобные запросы?

Основная засада — наличие запущенного профайлера, который собирает статистику, с его помощю достать можно практически все, но он заметно снижает производительность. Многое можно достать и без профайлера, но это сложнее, зависит от конкретного сценария.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Мы уже победили, просто это еще не так заметно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.