Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
alexeyvgПод "сайт" я имел в виду некую единую, контролируемую вами, систему. Как раз клиентскую сторону никак не проконтролировать. Можно только, со временем, отключать поддержку старых протоколов. Но к вопросу изменения версии БД это, думаю, уже не относится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 18:53 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
alexeyvgА что такого? Каждое изменение, каждый скрипт, делается так, что бы система как работала, так и продолжала работать. Даже серьёзное изменение модели (типа, было несколько таблиц, стало несколько совсем других таблиц, связанных по другому, и с другими данными) можно делать так, что бы всё продолжало работать. Я думаю, это практически нереально. При таком подходе слишком высокий риск появления багов в коде. И если для какого-нибудь сайта это может быть допустимо, то для финансовой системы это не допустимо. Качество должно быть на первом месте. alexeyvgКонечно, общий деплой сначала обкатывается на копии продакшен-системы, и проверяется тестерами; ну, это уже в принципе банальная органицация изменений, это само собой. Ну это само собой, хотя и этого вообще-то недостаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 19:02 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
andsm, 24/7 - это Enterprise edition + Always on. Придется раскошелиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 22:53 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
На обновление версий уходит пара минут, онлайн-платежи этого не чувствуют, к примеру. С учетом методик рефакторинга баз данных переезд на новые версии можно делать практически бесшовным. Поищите книгу "Рефакторинг баз данных эволюционное проектирование". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 22:58 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
andsm, Попробуйте перейти на недельные релизы, тогда объем изменений будет невелик, соответственно и периоды обновления будут меньше по длительности. Доведете их, скажем, до 15 минут в неделю - большинство пользователей это должно устроить. Обновления с учетом изменений делать можно, но это довольно сложно, по сути трудоемкость разработки будет существенно выше (в разы). И все равно тогда 100% кому-то придется оправдываться в духе "я забыл, я это не учел", а кому-то придется это слушать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 23:06 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
andsmalexeyvgА что такого? Каждое изменение, каждый скрипт, делается так, что бы система как работала, так и продолжала работать. Даже серьёзное изменение модели (типа, было несколько таблиц, стало несколько совсем других таблиц, связанных по другому, и с другими данными) можно делать так, что бы всё продолжало работать. Я думаю, это практически нереально. При таком подходе слишком высокий риск появления багов в коде. И если для какого-нибудь сайта это может быть допустимо, то для финансовой системы это не допустимо. Качество должно быть на первом месте.Я не вижу разницы в смысле "качества". Но это в принципе неважно. Если вы говорите, что система должна прекращать функционирование на период обновления, что любые средства уменьшения времени простоя недопустимо, потому что "Качество должно быть на первом месте", то непонятен вопрос топика. Получается, исходный вопрос ставится так: "Как уменьшить время простоя, при условии, что его уменьшать недопустимо?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2019, 10:50 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
КритикПопробуйте перейти на недельные релизы, тогда объем изменений будет невелик, соответственно и периоды обновления будут меньше по длительности. Доведете их, скажем, до 15 минут в неделю - большинство пользователей это должно устроить.Сомневаюсь, что это уменьшит время простоя. Конечно, надо анализировать процесс, но наверняка основное время уходит на включение и повторную инициализацию репликаций КритикОбновления с учетом изменений делать можно, но это довольно сложно, по сути трудоемкость разработки будет существенно выше (в разы). И все равно тогда 100% кому-то придется оправдываться в духе "я забыл, я это не учел", а кому-то придется это слушать.Конечно, трудоёмкость увеличится, скрипты деплоя будут сложнее, даже не скрипты как таковые, а усложняется процесс плавного бесшовного изменения при некоторых модификациях модели. А ошибки будут и при варианте с остановкой системы на период обновления. Какая разница то? Тут какой то особой зависимости нет, кроме очевидного "количество багов пропорционально количеству кода". Бизнес заказал дополнительную функциональность, добавились ошибки по этой функциональности, как и должно быть. Что бы их не добавлять, единственный вариант - ничего не делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2019, 11:00 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
andsmЯ как-то переводил БД с одной схемы данных на совсем другую, тоже для 24/7 системы и с активно пишущими пользователями. Некоторые таблицы превращались в несколько других таблиц, некоторые таблицы наоборот объединялись. Содержимое многих полей менялось при обновлении, и т.п. Размер БД был примерно 1.5 Тб. Так вот, время простоя составило 15 секунд. Да-да, секунд. Другое дело, что разработка такого перехода заняла несколько месяцев. Хочется поискать менее трудоемкие варианты.Да-да, вот, возможно же. Но придётся заплатить трудоёмкостью. Как иначе решить такую задачу? Кнопки волшебной нет. Именно так все и делают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2019, 11:19 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов24/7 - это Enterprise edition + Always on. Придется раскошелиться.У автора вопрос в другом. Есть достаточно сложная система, состоящая из множества серверов СУБД, серверов приложений, клиентского софта и т.д. Нету такого "Enterprise edition + Always on", который бы включал все эти компонеты. Что бы половинку можно было бы обновить, а потом оно бы само синхронизировалось (например, при изменении модели данных). И без потери траназкций. И что бы ничего не писать, и что бы гарантированно рисков/багов не добавилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2019, 11:23 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
alexeyvg, тогда только методики рефакторинга баз данных помогут с обязательным Test Driven Development. Эти две компоненты как раз и обеспечивают 24/7 при публикациях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2019, 13:40 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
andsmпотеряются данные, измененные за время обновления. Не потеряются: накатятся после возврата обновлённой ноды в строй. Просто надо сразу закладываться на multimaster и сосуществование баз разных версий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2019, 14:25 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
Вообще то изначально хорошо когда стретегически прописывается и учитывается возможность работы 24*7 в ИТ системе. Простейший пример, вы делаете изменения на Table1, например добавляете вычисляемое агрегационное поле. При разработке должны быть прописаны изменения которые пойдут в продуктив с учетом 24*7. То есть должна быть реплика с таблицы Table1 в копию Table_Guid, сервер приложения должен учитывать состояние реструктуризации, вычисляемое поле должно учитывать работу с ненулевой очередью репликации,до какого то момента работать по старому а потом уже по новому(потом замена таблиц). Разумеется это доп. нагрузка на систему(возможны доп. блокировки на репликаторе), разумеется это требования к разработке и накатыванию релизов, это всегда доп. трудозатраты и доп. риски. Ну а куда без этого. Тоже самое касается системы в которой нужно обеспечить регулярную полуавтоматическую или автоматическую обрезку, если с самого начала при разработке описывают правила обрезки, устаревания НСИ, секционирования то все просто. Если есть историческая монструозная система и говорят мы ее хотим обрезать - то это целый проект, в большинстве случаев по изменению ее архитектуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 16:42 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
Но по личному примеру подобные вопросы даже если и ставятся при создании ИТ системы то регламенты разработки со временем не поддерживаются и потому все равно серьезное структурное изменение превращается в творчески-исследовательскую задачу с ненулевыми рисками создания простоя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 16:49 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
МуМу, По моему, у вас описан какой то аццки сложный алгоритм :-) Для добавления поля можно придумать более простые методы, без всяких сложных репликаций, которые как раз и могут создать проблемы. Сложные схемы приходится придумывать для более сложных изменений, да ещё связанных с большими объёмами данных (например, большую таблицу, занимающую весь рейд, превратить в секционированную, без остановки). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 16:55 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
Алгоритм с полем приведен как пример когда в логике приложения это поле учавствует, то есть раньше считалась какая то сумма из чего то а вот теперь решили сделать агрегацию. Получилось две ветки алгоритма, старый и новый. При учете непрерывности работы системы должны на сервере приложения работать два алгоритма до тех пор пока изменения не будут применены и останется только новый. А в жизни чего только не бывает, попытайтесь например 1С сделать с ее регламентами сделать 24*7, боюсь практически это будет сделать без окон невозможно при текущей архитектуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 17:08 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
а в итоге оказывается, что топег был-то "ниобчём" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 17:19 |
|
||
|
Обновление 24/7 базы данных
|
|||
|---|---|---|---|
|
#18+
МуМуАлгоритм с полем приведен как пример когда в логике приложения это поле учавствует, то есть раньше считалась какая то сумма из чего то а вот теперь решили сделать агрегацию. Получилось две ветки алгоритма, старый и новый. При учете непрерывности работы системы должны на сервере приложения работать два алгоритма до тех пор пока изменения не будут применены и останется только новый.Это в системах 24*7 делается проще. На первом этапе добавляем новое поле, обеспечиваем его начальное заполнение и поддержку актуальности. Когда этот этап завершён, и на продакшене всё работает, обновляется сервер приложений (клиент), на использование нового поля. И в этот же деплой удаляется старое (если, к примеру, новое вместо старого). Такой подход, конечно, замедляет изменения, но зато в 2 раза дешевле, и менее багоёмкий. Конечно, если фича нужна срочно, то можно и забашлять "за 2 алгоритма". МуМуА в жизни чего только не бывает, попытайтесь например 1С сделать с ее регламентами сделать 24*7, боюсь практически это будет сделать без окон невозможно при текущей архитектуре.Ну понятно, что мы говорим о случае, когда есть контроль над всей системой. Если нет, то тут 50% - либо получится, либо не получится :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 17:25 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39795316&tid=1688026]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
131ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 504ms |

| 0 / 0 |
