|
версионирование БД
|
|||
---|---|---|---|
#18+
flyway пользуемся на проекте. Для отслеживания продукта они здорово подходят. Сделал checkout релиза собрал package, перенес на стенд, запустил, схема, соотвествующая релизу накатилась, продукт завелся. Все было хорошо до определенного момента, начиная с определенного БД усложнилась и писать скрипты изменения стало нетрививально ибо триггеры, констрейнты. (Хотя это проблема в отсуствии выделенного ДБА скорее). Главная проблема с обновлениями существующих клиентов. БД с данными и скрипты изменения схемы в БД могут выкидывать ошибки Приходится ручками релизы аккуратненько накатывать (авто деплой уже нетривиален). Кроме того это занимает теперь время. Кто как решает проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 11:56 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
lleming, 1. использовать что-то менее топорное, а не flyway 2. ревьювить 3. гонять скрипты на специально подготовленной базе (нужно этим специально заниматься, да) 4. забыть про существование серебряных пуль - деплой в прод всегда начинается с бэкапа ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 12:02 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
lleming, Вы доросли до ДБА но упорно не хотите выделить чела. Увы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 12:23 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Андрей Панфиловнужно этим специально заниматься, дада. Если нет в штате ДБА/уборщицы, то кто то берет швабру и выполняет обязанности. А скрипты отката можно и прогеров заставить. Я сам писал. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 12:25 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Petro123Если нет в штате ДБА/уборщицы, то кто то берет швабру и выполняет обязанности. А скрипты отката можно и прогеров заставить. Я сам писал.Здесь вообще нет никакой работы для DBA, DBA - это про сопровождение СУБД, а не про поддержку жизненного цикла приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 12:51 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
llemingГлавная проблема с обновлениями существующих клиентов. БД с данными и скрипты изменения схемы в БД могут выкидывать ошибки Приходится ручками релизы аккуратненько накатывать (авто деплой уже нетривиален). Кроме того это занимает теперь время. Кто как решает проблему? - странно, использовал Liquibase, там хранится вся история изменений, можно накатить с любого места, таких проблем не возникает ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 13:07 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Ну ОК, назовем его Разработчик БД. Главное что на больших проектах ему работы хватает с тюнингом БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 13:09 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Kachalov, Наверно говорилось о накате на живую бд, где идут коммиты и откаты. А вы стуктуру меняете. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 13:10 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Андрей ПанфиловPetro123Если нет в штате ДБА/уборщицы, то кто то берет швабру и выполняет обязанности. А скрипты отката можно и прогеров заставить. Я сам писал.Здесь вообще нет никакой работы для DBA, DBA - это про сопровождение СУБД, а не про поддержку жизненного цикла приложения.вот дорожная карта профи: Кто прав - программист или DBA? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 13:28 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Petro123вот дорожная карта профи: Кто прав - программист или DBA? а в каком месте вы нашли противоречие с тем что я написал? Тот ранлист (не роадмап) предназначается для Operations (разработка живет в Transition, если что) - вот в Operations полагают, что проведение тестового обновления на среде, приближенной к продуктовой, увеличивает шансы на успешное обновление продуктовой среды, ровно как и резервное копирование уменьшает шансы просрать все - на этом как бы все. То что кто-то делегировал ДБА задачу "тупо запустить скрипт и проверить отсутствие ошибок" - ну это либо он незнания, либо от скудоумия: это не задача ДБА, та же проверка ошибок даже в таком кондовом инструменте как SQL*Plus реализуется одной строчкой в начале срипта , более того, вот мы взяли и закатали сценарии flyway в приложение и теперь миграции происходят при деплойменте - все ДБА здесь не нужен, а значит и раньше был не нуженэто была не его задача. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 14:36 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Я не пойму. Давайте конкретнее. Перепишите этот юзкейс если не согласны: авторПривет Оба правы, ибо не фиг непредсказуемое навешивать. - Разработчик на своей девелоперской БД (например, очень недавний бэкап промышленной) отладил скрипт. - DBA на тестовой (куда девелоперам доступа нет) тупо запустил скрипт и проверил отсутствие ошибок. Запустил туда админа приложения д ля проверки функционала - запланировали downtime или ограниченную доступность сервисов. DBA подготовил возможность отката (standby с задержкой наката redo подойтёт). - В момент Ч DBA прогнал проверенный скрипт и пустил админа приложения проверить основной функционал. Если ОК - пущаем в продакшн. Если не Ок, откатываемся на запасные путя и предоставляем начальству удовольствие оттрахать разработчика или администратора приложений (по выбору). Всегокто будет виноват, если при смене версий база упадет? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 14:50 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Petro123Перепишите этот юзкейс если не согласны Зачем его переписывать? Это условный ранлист для Operations, там еще нужно указать время начала работ и предположительную длительность шагов, чтобы потом между командами Operations синхронизировать действия (т.е. условно нам до 8 вечера не отписали что все работает - мы выполняем откат БД) Petro123кто будет виноват, если при смене версий база упадет?Со стороны Operations - никто, при условии, что у них были резервные копии, было правильно спланирован ранлист (заложен сценарий отката) и они-таки смогли откатиться. Со стороны Transition - в большинстве случаев это косяк QA - данные в тестовых базах нужно специально готовить, чтобы хоть как-то тестировать миграции, а не гонять миграции на пустых табличках. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 14:58 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Андрей Панфиловlleming, 1. использовать что-то менее топорное, а не flyway 2. ревьювить 3. гонять скрипты на специально подготовленной базе (нужно этим специально заниматься, да) 4. забыть про существование серебряных пуль - деплой в прод всегда начинается с бэкапа For example? Liquibase на другом проекте где участвовал во внедрении, показался еще топорнее (ИМХО). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 15:13 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Андрей ПанфиловЭто условный ранлист для Operationsгде про это почитать? Андрей Панфиловтам еще нужно указать время начала работ и предположительную длительность шагов Там не по времени, а админ приложений проверяет новую фишку от прогеров. Значит это Не Operations? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 15:14 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Андрей ПанфиловЗачем его переписывать? был дан пример для двух лиц. Со стороны заказчика DBA Со стороны разраба - админ приложений. Возможно ваш вариант содержит еще больше действующих лиц при "не дело DBA и DBA не работает". ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 15:19 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Petro123Со стороны заказчика DBA Со стороны разраба - админ приложений. Возможно ваш вариант содержит еще больше действующих лиц при "не дело DBA и DBA не работает". Ох... нет у разработчиков администраторов, все администраторы сидят в Operations. А вообще в установку релиза включено куда больше людей, чем изначально может показаться, потому что пред- и после-релизных активностей там в целом дофига, например: - нужно актуализировать документацию (руководства пользователя, траблшутинг гайды и пр.) и где-то ее разместить - обучить пользователей новой функциональности - согласовать даунтайм, уведомить пользователей - уведомить сервисдеск о плановых работах - увеличить мощности если требуется - убедиться в доступности ключевых сотрудников, возможности доступа в здание и пр. - перед накатом кто-то должен убедиться что есть резервные копии, и из них можно восстановиться - если что-то пошло не так, то кто-то должен предлагать обходные пути, а кто-то их утверждать или принимать решение об откате а вы выдрали какую-то маленькую часть, опосредованно касающуюся ДБА и пытаетесь меня в чем-то убедить, не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 17:59 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
llemingБД с данными и скрипты изменения схемы в БД могут выкидывать ошибки ... Liquibase на другом проекте где участвовал во внедрении, показался еще топорнее (ИМХО). - ??? вообще не понятно в чем проблема. У клиента стоит определенная версия приложения и схемы данных (X.Y.1) надо обновить до X.Y.25, соответственно должны быть changeset-ы (X.Y.2, ..., X.Y.25), которые последовательно накатываются и схема приходит в состояние X.Y.25. Наличие данных в БД должно быть учтено в changeset-ах (апдейты, перемещение данных в другие таблицы, дефолтные значения все это можно описать в changeset-ах, в том числе с условиями). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 18:55 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Мы говорим о разных весовых категориях и о линейке решении от простого к сложному. У ТС никого нет из описанных вами штатных единиц. Получается сначала фирма растет до DBA, а потом до всего того что вы описали. И не выдрал, а разговариваю о версионности БД через скрипты. А не об обучении пользователей. Никто с вами не спорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 07:17 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Kachalov, Он говорит, что на большой, боевой базе и без DBA/админа это сложно. Какой у вас размер базы и есть ли DBA? То что у ТС нет конкретики, я согласен. У меня как то был совмещенный ДБА-программист. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 07:28 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Petro123Какой у вас размер базы и есть ли DBA? я с liquibase встречался в разных проектах. В последнем база Oracle большого размера (ЕМИАС Москвы). DBA в штате конечно есть и в нашем проекте, и в службе поддержки системы. Скрипты liquibase накатывают сотрудники поддержки, однако сами скрипты пишут разработчики без всякой помощи DBA (задачи по изменению базы типа - добавить индекс, добавить таблицу, добавить в таблицу значения). Скрипты предварительно тестируем на копии боевой базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 10:20 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Kachalov, Согласен. У нас тоже, DBA никаких скриптов не пишет, но без него не обходится). Поэтому автору нужно более конкретно расписать Проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 11:02 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Petro123Мы говорим о разных весовых категориях и о линейке решении от простого к сложному. У ТС никого нет из описанных вами штатных единиц. Получается сначала фирма растет до DBA, а потом до всего того что вы описали. И не выдрал, а разговариваю о версионности БД через скрипты. А не об обучении пользователей. Никто с вами не спорит.Ну в начале топика несколько другое написано, а именно: мы тут что-то делаем, а когда наступает момент установки на продуктовую среду заказчика - там ничего не работает. Проблема здесь лежит совершенно в другой плоскости (на заметку: вот есть дебилы, которые думают что всякие flyway, liquibase и пр. - это серебряная пуля , ну вот у ТС flyway есть, а оно все равно не едет ) Если к скрипту на SQL относиться как к чему-то, что можно набросать за 15 минут и кинуть в продакшн, то и результат будет соответствующий, правильно относиться к миграциям данных как к полноценным программам и, соответственно, полноценно их тестировать, т.е. перед запуском готовить тестовые данные, проверять что выполнилось без ошибок, проверять что в результате работы у нас в базе данные именно те, которые мы ожидаем - это не работа ДБА, это просто обычное такое себе тестирование. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 11:53 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
Андрей ПанфиловНу в начале топика несколько другое написано, а именно: мы тут что-то делаем, а когда наступает момент установки на продуктовую среду заказчика - там ничего не работает. Проблема здесь лежит совершенно в другой плоскости (на заметку: вот есть дебилы, которые думают что всякие flyway, liquibase и пр. - это серебряная пуля , ну вот у ТС flyway есть, а оно все равно не едет ) Если к скрипту на SQL относиться как к чему-то, что можно набросать за 15 минут и кинуть в продакшн, то и результат будет соответствующий, правильно относиться к миграциям данных как к полноценным программам и, соответственно, полноценно их тестировать, т.е. перед запуском готовить тестовые данные, проверять что выполнилось без ошибок, проверять что в результате работы у нас в базе данные именно те, которые мы ожидаем - это не работа ДБА, это просто обычное такое себе тестирование. Просто время растет не линейно. Вроде месяц назад можно было скрипты накидать и за час полтора протестить. То теперь сильно сложнее. Продуктовый стенд уже так быстро не склонировать, ну и естественно количество ресурсов выделенных не растет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:49 |
|
версионирование БД
|
|||
---|---|---|---|
#18+
lleming, Это вопросы админа и ДВА. Да, у нас админ делал копию раз в неделю и упрашивать надо. Приходилось самому скрипт для клона писать. Но вы пишите, что DBA вообще нет. И это странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 14:42 |
|
|
start [/forum/topic.php?fid=59&msg=39789564&tid=2121414]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 331ms |
total: | 472ms |
0 / 0 |