powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Обновление 24/7 базы данных
17 сообщений из 42, страница 2 из 2
Обновление 24/7 базы данных
    #39793898
andsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgПод "сайт" я имел в виду некую единую, контролируемую вами, систему.
Как раз клиентскую сторону никак не проконтролировать. Можно только, со временем, отключать поддержку старых протоколов.
Но к вопросу изменения версии БД это, думаю, уже не относится.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39793902
andsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgА что такого? Каждое изменение, каждый скрипт, делается так, что бы система как работала, так и продолжала работать.

Даже серьёзное изменение модели (типа, было несколько таблиц, стало несколько совсем других таблиц, связанных по другому, и с другими данными) можно делать так, что бы всё продолжало работать.

Я думаю, это практически нереально.
При таком подходе слишком высокий риск появления багов в коде. И если для какого-нибудь сайта это может быть допустимо, то для финансовой системы это не допустимо. Качество должно быть на первом месте.

alexeyvgКонечно, общий деплой сначала обкатывается на копии продакшен-системы, и проверяется тестерами; ну, это уже в принципе банальная органицация изменений, это само собой.
Ну это само собой, хотя и этого вообще-то недостаточно.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39793958
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andsm,

24/7 - это Enterprise edition + Always on. Придется раскошелиться.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39793960
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На обновление версий уходит пара минут, онлайн-платежи этого не чувствуют, к примеру. С учетом методик рефакторинга баз данных переезд на новые версии можно делать практически бесшовным. Поищите книгу "Рефакторинг баз данных эволюционное проектирование".
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39793963
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andsm,

Попробуйте перейти на недельные релизы, тогда объем изменений будет невелик, соответственно и периоды обновления будут меньше по длительности. Доведете их, скажем, до 15 минут в неделю - большинство пользователей это должно устроить.

Обновления с учетом изменений делать можно, но это довольно сложно, по сути трудоемкость разработки будет существенно выше (в разы). И все равно тогда 100% кому-то придется оправдываться в духе "я забыл, я это не учел", а кому-то придется это слушать.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39794019
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andsmalexeyvgА что такого? Каждое изменение, каждый скрипт, делается так, что бы система как работала, так и продолжала работать.

Даже серьёзное изменение модели (типа, было несколько таблиц, стало несколько совсем других таблиц, связанных по другому, и с другими данными) можно делать так, что бы всё продолжало работать.

Я думаю, это практически нереально.
При таком подходе слишком высокий риск появления багов в коде. И если для какого-нибудь сайта это может быть допустимо, то для финансовой системы это не допустимо. Качество должно быть на первом месте.Я не вижу разницы в смысле "качества".

Но это в принципе неважно.
Если вы говорите, что система должна прекращать функционирование на период обновления, что любые средства уменьшения времени простоя недопустимо, потому что "Качество должно быть на первом месте", то непонятен вопрос топика.
Получается, исходный вопрос ставится так: "Как уменьшить время простоя, при условии, что его уменьшать недопустимо?"
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39794020
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КритикПопробуйте перейти на недельные релизы, тогда объем изменений будет невелик, соответственно и периоды обновления будут меньше по длительности. Доведете их, скажем, до 15 минут в неделю - большинство пользователей это должно устроить.Сомневаюсь, что это уменьшит время простоя.
Конечно, надо анализировать процесс, но наверняка основное время уходит на включение и повторную инициализацию репликаций
КритикОбновления с учетом изменений делать можно, но это довольно сложно, по сути трудоемкость разработки будет существенно выше (в разы). И все равно тогда 100% кому-то придется оправдываться в духе "я забыл, я это не учел", а кому-то придется это слушать.Конечно, трудоёмкость увеличится, скрипты деплоя будут сложнее, даже не скрипты как таковые, а усложняется процесс плавного бесшовного изменения при некоторых модификациях модели.

А ошибки будут и при варианте с остановкой системы на период обновления. Какая разница то?
Тут какой то особой зависимости нет, кроме очевидного "количество багов пропорционально количеству кода". Бизнес заказал дополнительную функциональность, добавились ошибки по этой функциональности, как и должно быть. Что бы их не добавлять, единственный вариант - ничего не делать.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39794022
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andsmЯ как-то переводил БД с одной схемы данных на совсем другую, тоже для 24/7 системы и с активно пишущими пользователями. Некоторые таблицы превращались в несколько других таблиц, некоторые таблицы наоборот объединялись. Содержимое многих полей менялось при обновлении, и т.п. Размер БД был примерно 1.5 Тб. Так вот, время простоя составило 15 секунд. Да-да, секунд. Другое дело, что разработка такого перехода заняла несколько месяцев. Хочется поискать менее трудоемкие варианты.Да-да, вот, возможно же.

Но придётся заплатить трудоёмкостью.
Как иначе решить такую задачу? Кнопки волшебной нет.
Именно так все и делают.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39794023
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов24/7 - это Enterprise edition + Always on. Придется раскошелиться.У автора вопрос в другом.
Есть достаточно сложная система, состоящая из множества серверов СУБД, серверов приложений, клиентского софта и т.д.

Нету такого "Enterprise edition + Always on", который бы включал все эти компонеты.
Что бы половинку можно было бы обновить, а потом оно бы само синхронизировалось (например, при изменении модели данных).
И без потери траназкций.
И что бы ничего не писать, и что бы гарантированно рисков/багов не добавилось.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39794037
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

тогда только методики рефакторинга баз данных помогут с обязательным Test Driven Development. Эти две компоненты как раз и обеспечивают 24/7 при публикациях.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39794049
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andsmпотеряются данные, измененные за время обновления.
Не потеряются: накатятся после возврата обновлённой ноды в строй. Просто надо сразу закладываться на multimaster и сосуществование баз разных версий.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39795316
Фотография МуМу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще то изначально хорошо когда стретегически прописывается и учитывается возможность работы 24*7 в ИТ системе. Простейший пример, вы делаете изменения на Table1, например добавляете вычисляемое агрегационное поле. При разработке должны быть прописаны изменения которые пойдут в продуктив с учетом 24*7. То есть должна быть реплика с таблицы Table1 в копию Table_Guid, сервер приложения должен учитывать состояние реструктуризации, вычисляемое поле должно учитывать работу с ненулевой очередью репликации,до какого то момента работать по старому а потом уже по новому(потом замена таблиц). Разумеется это доп. нагрузка на систему(возможны доп. блокировки на репликаторе), разумеется это требования к разработке и накатыванию релизов, это всегда доп. трудозатраты и доп. риски. Ну а куда без этого. Тоже самое касается системы в которой нужно обеспечить регулярную полуавтоматическую или автоматическую обрезку, если с самого начала при разработке описывают правила обрезки, устаревания НСИ, секционирования то все просто. Если есть историческая монструозная система и говорят мы ее хотим обрезать - то это целый проект, в большинстве случаев по изменению ее архитектуры.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39795320
Фотография МуМу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но по личному примеру подобные вопросы даже если и ставятся при создании ИТ системы то регламенты разработки со временем не поддерживаются и потому все равно серьезное структурное изменение превращается в творчески-исследовательскую задачу с ненулевыми рисками создания простоя.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39795323
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МуМу,

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

Сложные схемы приходится придумывать для более сложных изменений, да ещё связанных с большими объёмами данных (например, большую таблицу, занимающую весь рейд, превратить в секционированную, без остановки).
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39795332
Фотография МуМу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алгоритм с полем приведен как пример когда в логике приложения это поле учавствует, то есть раньше считалась какая то сумма из чего то а вот теперь решили сделать агрегацию. Получилось две ветки алгоритма, старый и новый. При учете непрерывности работы системы должны на сервере приложения работать два алгоритма до тех пор пока изменения не будут применены и останется только новый. А в жизни чего только не бывает, попытайтесь например 1С сделать с ее регламентами сделать 24*7, боюсь практически это будет сделать без окон невозможно при текущей архитектуре.
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39795347
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в итоге оказывается, что топег был-то "ниобчём"
...
Рейтинг: 0 / 0
Обновление 24/7 базы данных
    #39795353
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МуМуАлгоритм с полем приведен как пример когда в логике приложения это поле учавствует, то есть раньше считалась какая то сумма из чего то а вот теперь решили сделать агрегацию. Получилось две ветки алгоритма, старый и новый. При учете непрерывности работы системы должны на сервере приложения работать два алгоритма до тех пор пока изменения не будут применены и останется только новый.Это в системах 24*7 делается проще.

На первом этапе добавляем новое поле, обеспечиваем его начальное заполнение и поддержку актуальности.
Когда этот этап завершён, и на продакшене всё работает, обновляется сервер приложений (клиент), на использование нового поля. И в этот же деплой удаляется старое (если, к примеру, новое вместо старого).
Такой подход, конечно, замедляет изменения, но зато в 2 раза дешевле, и менее багоёмкий.

Конечно, если фича нужна срочно, то можно и забашлять "за 2 алгоритма".
МуМуА в жизни чего только не бывает, попытайтесь например 1С сделать с ее регламентами сделать 24*7, боюсь практически это будет сделать без окон невозможно при текущей архитектуре.Ну понятно, что мы говорим о случае, когда есть контроль над всей системой.
Если нет, то тут 50% - либо получится, либо не получится :-)
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Обновление 24/7 базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]