0. dmitrydemenew 375 05.11.19 16:31 Сейчас в теме

Быстрая реструктуризация базы данных

Внешняя обработка для быстрой реструктуризации клиент-серверной базы данных.
Способ ускорения реструктуризации - замена таблиц большого объема пустыми копиями перед проведением обновления БД и возврат к исходным таблицам после обновления с предварительной корректировкой их структуры.
Полностью автоматизировано создание и выполнение всех требуемых скриптов SQL. Представлены версии обработки для обычных форм (1С:Предприятие 8.2 (8.2.19.130)) и управляемого приложения (1С:Предприятие 8.3 (8.3.9.1818)).

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. zeegin 45 05.11.19 16:46 Сейчас в теме
4. Rustig 1207 06.11.19 07:05 Сейчас в теме
(1) не вижу проблемы: пункт 65 и предложенная идея не связаны друг с другом.
да и вообще, относитесь к этим пунктам с долей критичности, а не к реально действующему механизму.
поясню: некоторые пункты технически не реализованы, но прописаны. К примеру, при установке доп.лицензии платформа ее определяет как полноценную лицензию и не различает, что основной лицензии нет в локальной сети. То есть на второй компьютер ставите доп.лицензию, и платформа+конфигурация запустится, не проверив наличие лицензии основной поставки.
13. Bassgood 956 06.11.19 10:00 Сейчас в теме
(4)
пункт 65 и предложенная идея не связаны друг с другом.

Ну как же не связаны, если в явном виде написано, что нельзя обращаться к данным таблиц СУБД и их структурам прямыми запросами и необходимо использовать только штатные средства платформы 1С, лукавите ;)
24. Rustig 1207 07.11.19 11:07 Сейчас в теме
(13) идея предложенного метода заключена в том, чтобы делать копию типовых таблиц, например, типовой таблицы "Файлы". Типовую таблицу "Файлы" после копирования в другую таблицу надо очистить, чтобы она осталась пустой.
Далее провести обновление и далее скопировать (вернуть) данные в типовую таблицу.
Это вот такая идея.
Сама идея никаких правил лицензирования не нарушает.

А вот способы реализации - пусть каждый сам выбирает - на свой страх и риск поломать базу - тут фирма -разработчик ответственности не несет и предупреждает, что все что не документировано, то использовать нельзя.
Уж не знаю какие мотивы были так написать: то ли перестраховать себя от нежелательных возможных дальнейших разбирательств со стороны клиентов, то ли реально будут наказывать (хотя это процессуально сделать не реально)...

Относитесь к этим пунктам лицензирования критично - то есть с долей скепсиса, а вот к проблемам обновления из-за подобных типовых таблиц "Файлы", когда они наполнены данными - более серьезно. Я сталкивался с подобным. Но только с файловой базой.
27. Bassgood 956 07.11.19 13:27 Сейчас в теме
(24) Ну Вы же понимаете, что очистка и копирование данных в таблицы - это чтение и изменение данных таблиц БД, о которых и идет речь в этом пункте лицензирования, поэтому это есть нарушение этих правил, но я ни в коем случае не говорю о том, что их следует придерживаться в убыток бизнесу или же тем более в случае отсутствия какого-либо другого альтернативного решения возникшей проблемы, приводящей к невозможности нормального ведения бизнеса.
28. Rustig 1207 07.11.19 15:11 Сейчас в теме
(27) в пункте написано хитро "что не задокументировано, то использовать нельзя"...
есть пункты (про доп.лицензии например), которые задокументированы, но на уровне платформы технически не доработаны...
значит ли это, что остальные пункты (в том числе ваш) утрачивают силу?

речь идет о том, что платформа не доработана таким образом, что часть функций нельзя сейчас задокументировать, поэтому это использовать сейчас нельзя, но в будущем обязательно все задокументируют, когда платформу доработают....

и тогда можно будет использовать .... так может и сейчас можно?!
29. Bassgood 956 07.11.19 17:20 Сейчас в теме
(28) Там написано не хитро, а довольно прямо указано следующим текстом:
Нельзя обращаться к данным информационной базы напрямую, минуя уровень объектов работы с данными "1С:Предприятия", например при помощи средств СУБД или при помощи внешних компонент, которые реализуют прямой доступ к СУБД.

То бишь работать с ИБ 1С при помощи прямых SQL-запросов правилами запрещается, другое дело на сколько эти правила соответствуют реалиям
и тогда можно будет использовать .... так может и сейчас можно?!

Можно и сейчас использовать, только не факт, что это использование в будущем не приведет к негативным последствиям, допустим, при переходе на новую версию платформы или изменений в используемых конфигурациях
30. Rustig 1207 07.11.19 22:47 Сейчас в теме
11. buganov 60 06.11.19 09:56 Сейчас в теме
(1) там же:
Данное ограничение необходимо для обеспечения стабильности работы механизмов системы, осуществления поддержки и возможности перехода на новые версии "1С:Предприятия".
14. zeegin 45 06.11.19 10:03 Сейчас в теме
(11) Вы между строк читаете?
Читая и изменяя таблицы СУБД напрямую тот, кто использует сей механизм нарушает лицензионное соглашение. Об этом как минимум надо предупреждать, чтобы те, кто не хочет, чтобы 1С отказалась от поддержки их компаний при их следующем обращении в саппорт, подумали, перед тем как использовать такие манипуляции.

Хотите быструю реструктуризацию средствами СУБД? Перейдите на последнюю версию платформы и настройте. https://wonderland.v8.1c.ru/blog/optimizatsiya-restrukturizatsii-bazy-dannykh/
sapervodichka; +1 1 Ответить
15. buganov 60 06.11.19 10:54 Сейчас в теме
(14)
1. Вы обращались в саппорт 1С? Если да, то как часто и по каким вопросам? И каков результат?
2. Чем плоха реструктуризация средствами SQL, если после нее все работает?
3. Вы пробовали большие таблицы(>50Гб хотя бы) реструктуризировать новым механизмом? Думаю, что нет.

Представьте себе компанию, которая работает 24/7 и как Вы думаете, позволит бизнес технологическое окно часов в 8? Сколько будет стоить такое окно?
И да, судя по отзывам коллег, которые пробовали новый механизм, остались недовольны. Приплюсуйте сюда стоимость потери базы и восстановления ее из бэкапа
zhichkin; Award; bulpi; bug256; +4 Ответить
17. zeegin 45 06.11.19 11:19 Сейчас в теме
(15)
1. Конечно. Крайне положительно. Особенно КОРП поддержка.
2. Работает и работает с гарантией вендора - это разные вещи.
3. Конечно, в т.ч. террабайтные базы.
4. 8 часов - это очень много. Фоновая реструктуризация столько не требует, потому что на то она и фоновая, что не прерывает работу пользователей в процессе реструктуризации базы. См. документацию https://its.1c.ru/db/v8316doc#bookmark:dev:TI000000063

Фоновая реструктуризация выполняется в несколько фаз:
1. Фаза обработки (пользователи могут работать с информационной базой)
2. Фаза актуализации (пользователи могут работать с информационной базой)
3. Фаза принятия изменений (пользователи не могут работать с информационной базой)

Фоновое обновление может выполняться с закрытым конфигуратором.
Можно даже сервер погасить и поставить обновление на паузу, а потом продолжить.
theshadowco; +1 Ответить
18. buganov 60 06.11.19 11:48 Сейчас в теме
(17)Хочется верить, но почему то не покидает ощущение, что Вы теоретик.
Особенно: "Крайне положительно"
И особенно, что Вы реструктуризировали не только большие базы, но в первую очередь большие таблицы новой методикой. Вот коллеги мне рассказали, что новые веяния крайне сырые. И я им верю, потому что а) обманывать им незачем б) мы периодически обмениваемся новыми знаниями

Ну да ладно, спор бесполезен, удачи и целых таблиц.
19. bulpi 157 06.11.19 14:58 Сейчас в теме
(18)
Я так понял, автор (17) - работник техподдержки :)
20. zeegin 45 06.11.19 15:14 Сейчас в теме
(19) А вы пробовали выключить и снова включить? :)
31. imh9305 10 17.11.19 11:15 Сейчас в теме
(18),(19) представьте себе, что автор (17) - до недавнего времени один из разработчиков БСП и умеет не только в 1С.
25. Rustig 1207 07.11.19 11:15 Сейчас в теме
(17) хорошо, что мнения разные. картина мира тоже у всех своя. напишите, пож-та , в каком городе вы работаете, какие конфигурации на ИТС-сопровождении? Какой франчайзи 1с вас обслуживает?
26. KAPACEB.AA 397 07.11.19 11:23 Сейчас в теме
(17) К сожалению, на собственном опыте сталкивался с нестабильной работой фонового обновления (8.3.13).
Думаю, ещё сыроват механизм...
16. dmitrydemenew 375 06.11.19 11:01 Сейчас в теме
(14)Зачастую, конфигурации, с которыми приходится работать - существенно измененные под нужды предприятия типовые, либо вовсе самописные. Их перевод на новую платформу, как правило, достаточно длительный и трудоемкий процесс. Запускать многомесячный проект переезда на другую платформу ради ускорения возможной реструктуризации - не самое рациональное решение.
zhichkin; JohnyDeath; Rustig; +3 Ответить
2. nomad_irk 41 05.11.19 16:49 Сейчас в теме
Типовой механизм, в последних версиях платформы, вроде же в этом смысле оптимизировали, не?
3. dmitrydemenew 375 05.11.19 17:15 Сейчас в теме
(2)я отметил это в тексте публикации. Публикация адресована в большей степени тем, кто реально сталкивается с описанной проблемой.
6. Rustig 1207 06.11.19 07:10 Сейчас в теме
(3) да, интересная идея и реализация!
5. Rustig 1207 06.11.19 07:09 Сейчас в теме
(2) " в последних версиях платформы"? интересно посмотреть на человека, который работает с последними версиями платформы. Я так привык, что последнюю версию на сегодняшний день я начинаю тестить не ранее чем через год-два.... и то благодаря типовой БП 3.0, и то "не испытываю", а просто ставлю...
zhichkin; dmitrydemenew; bulpi; +3 1 Ответить
7. nomad_irk 41 06.11.19 07:11 Сейчас в теме
(5) 8.3.11.2867 когда вышла?
Да и работая c ERP 2.4/БУХ 3/ЗУП 3/УТ11/Розница 2.2 требования к наличию "свежей" версии платформы жесткие.
8. Rustig 1207 06.11.19 07:45 Сейчас в теме
(7) при чем здесь 8.3.11?
вы написали "последние версии платформы" - последняя на сегодня 8.3.15.1747.
9. nomad_irk 41 06.11.19 07:48 Сейчас в теме
(8)При том, что 1с оптимизировала процесс реструктуризации в этой версии.
10. Rustig 1207 06.11.19 07:49 Сейчас в теме
12. buganov 60 06.11.19 09:57 Сейчас в теме
(2) Попробуйте таблицу в 100Гб реструктуризировать. Отпишитесь, как пройдет
21. starik-2005 1973 06.11.19 15:27 Сейчас в теме
Фоновая реструктуризация в старых версиях платформы часто (более одного раза точно) приводила к очистке таблиц. Вот была таблица с примерно лярдом файлов (может даже два лярда - да, и такое бывает), а потом она внезапно оказалась пустой. Реструктуризация этого всего (файлы не хранятся в базе - они отдельно, а реструктуризация из-за того, что тип владельца меняется - новый справочник появился или документ, к которому можно крепить файлы) - две недели. Что он там делает - хрен положить, но для бизнеса, который работает 24/7 на 1С (да, это ошибка - ежу понятно) ждать доступность таблицы с файлами в районе 2-х недель - это как-то бредово звучит, ч учетом того, что абсолютно ничего не меняется в таблице - тупая 1С читает, удаляет и записывает ровно одно и то же.

Так вот после такого ни один здоровый умственно человек не будет даже смотреть в сторону идиотского 65-го пункта соглашения с непонятно какими санкциями, а просто возьмет и сделает как настоящий мужик - переименует таблицу, создаст пустую, запустит реструктуризацию, после чего переименует таблицу назад.

То, что 1С-неги в последних версиях платформы с этим что-то сделали - это радует. Давно пора.
zhichkin; SirAlex1C; JohnyDeath; Rustig; nomad_irk; buganov; +6 Ответить
22. buganov 60 06.11.19 18:49 Сейчас в теме
(21) и документы гораздо прогнозируемее реструктуризировать отбросив табличные части. Никогда не понимал фишки, зачем трогать табличные части, если изменения только в шапке
zhichkin; +1 Ответить
23. starik-2005 1973 06.11.19 19:26 Сейчас в теме
(22) это не в понимании дело - это в трактовке согласованности из ACID: читаем объекты целиком, меняем из в соответствии со схемой миграции (изменений) и записываем целиком в транзакции взад. Но, видимо, прхитехтор букву закона про согласованность выучил, тест сдал, а подумать забыл - вот и реализуется подобная схема целиком (чтобы не нарушать отчетности принципа ACID). Думать на курсах, к сожалению не учат.
zhichkin; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Екатеринбург
зарплата до 120 000 руб.
Полный день

Консультант-аналитик 1С
Рязань
зарплата до 80 000 руб.
Полный день

Программист 1С
Рязань
зарплата от 90 000 руб.
Полный день

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день