Персональный блог Игоря Антонова aka "spider_net"

Быстрая реструктуризация базы данных в "1С:Предприятие" 8.3.11


Рубрика: Программирование -> 1С:Предприятие -> Новости
Метки: |
Просмотров: 9855
Быстрая реструктуризация базы данных в "1С:Предприятие" 8.3.11

За время моего отсутствия, в блоге «Заметки из Зазеркалья» появилось несколько интересных постов о грядущих новинках платформы «1С:Предприятие 8». Больше всего меня заинтересовала статья о новом механизме реструктуризации базы данных. Начиная с версии 8.3.11, будет доступно два варианта реструктуризации: старый медленный (то что есть сейчас) и принципиально новый, быстрый (правда пока в тестовом режиме).

По заверениям разработчиков, скорость реструктуризации возросла как минимум в 4 раза, а в некоторых случаях, повышение производительности достигло примерно в 20 раз (!!!). У меня уже чешутся руки протестировать все это на практике, т.к. тормоза реструктуризации окончательно достали. Если при сопровождении небольших конфигураций это не сильно заметно, то на вещах вроде ERP (и им подобным), реструктуризация может занимать продолжительно время.

В одноименной заметке на зазеркалье приводятся результаты тестов. Позволю себе процитировать их здесь:

  • Добавление реквизитов к документам и измерений к регистрам сведений. База 400 Гб. Новый механизм позволяет ускорить реструктуризацию с 2 часов до 15 минут.
  • Изменение режима совместимости с 8.2.19 на 8.3.6. База 6 Тб. Ускорение с 5 дней до 12 часов.

Теперь самый интересный вопрос: «За счет чего удалось достичь такого серьезного повышения производительности?». В первую очередь за счет архитектурных изменений. Существующий механизм реструктуризации не улучшался, а был полностью переписан. Разработчики пересмотрели сам подход к реструктуризации:

  • Максимальное количество операций, связанных с миграцией данных делегировано на уровень СУБД (пока работает только для MS SQL и PostgreSQL). Это значит, что многие операции с данными будут выполнятся в едином запросе, а не построчно (странно, что это не было сделано изначально);
  • Затрагиваются только таблицы СУБД, где необходимо выполнить изменение данных;
  • Табличные части реструктуризируются отдельно;
  • т.д.

Подробности можно посмотреть в оригинальной заметке. Ждем скорейшего выхода 8.3.11 для тестирования нового функционала.

Оставьте комментарий!
comments powered by HyperComments