Версионирование объектов. Сжатие регистра "ВерсииОбъектов"

30.12.14

База данных - HighLoad оптимизация

Cжимаем версии объектов в регистре сведений "ВерсииОбъектов".
Экономия занимаемого версиями объектов объема более 50% !!!

Скачать файлы

Наименование Файл Версия Размер
Сжатие версий объектов (версионирование)
.epf 7,23Kb
47
.epf 1.0 7,23Kb 47 Скачать

Используется для уменьшения занимаемого объема версиями объектов в регистре сведений "ВерсииОбъектов". 

В обработке использован код процедуры "ВыполнитьСжатиеВерсийОбъектовПоРегламентномуЗаданию" из общего модуля "ВерсионированиеОбъектовПривилегированный" типовой конфигурации. Добавлен отбор по периоду обрабатываемых версий.

Внимание: Без использования отбора по периоду возможна ошибка "Недостаточно памяти".

P.S.: Для регулярного использования рекомендуется настроить регламентное задание "СжатиеДанныхВерсионирования".

 

См. также

Анализируем SQL сервер глазами 1С-ника

HighLoad оптимизация Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих зааросов на sql, ожиданий, конвертация запроса в 1с и рекомендации где может тормозить

1 стартмани

15.02.2024    6154    125    ZAOSTG    54    

88

Удаление строк из таблицы значений различными способами с замером производительности

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.

09.01.2024    5345    doom2good    48    

62

Опыт оптимизации 1С на PostgreSQL

HighLoad оптимизация Бесплатно (free)

При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.

20.11.2023    7997    ivanov660    6    

72

ТОП проблем/задач у владельцев КОРП лицензий 1С на основе опыта РКЛ

HighLoad оптимизация Бесплатно (free)

Казалось бы, КОРП-системы должны быть устойчивы, быстры и надёжны. Но, работая в рамках РКЛ, мы видим немного другую картину. Об основных болевых точках КОРП-систем и подходах к их решению пойдет речь в статье.

15.11.2023    4786    a.doroshkevich    20    

72

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    15491    skovpin_sa    14    

93

Как эффективно настроить autovacuum в Postgres для 1С

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 Бесплатно (free)

Кто не любит убирать мусор? Думаю, практически все, а вот в Postgres это обязательный ритуал для эффективной работы. Как эффективно настроить уборку за 1С в Postgres, можно прочитать в этой статье и еще раз задуматься о бесплатности Postgres.

05.08.2023    4825    1CUnlimited    5    

51

MS SQL Server: изучаем планы запросов

Запросы HighLoad оптимизация Запросы Бесплатно (free)

Многие знают, что для ускорения работы запроса нужно «изучить план». При этом сам план обычно обескураживает: куча разноцветных иконок и стрелочек; ничего не понятно, но очень интересно! Аналитик производительности Александр Денисов на конференции Infostart Event 2021 Moscow Premiere рассказал, как выполняется план запроса и что нужно сделать, чтобы с его помощью находить проблемы производительности.

20.06.2023    14530    Филин    37    

110
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ZLENKO 398 30.12.14 16:44 Сейчас в теме
В одной из баз версии занимали 90 Гб, после сжатия стало 40 Гб. Экономия ощутимая! :-)
2. alexinzaz 30.12.14 23:15 Сейчас в теме
Ну вот хоть убейте не пойму зачем хранить в базе 90гб версий. Грохать к чертовой бабушке. Зачем вам версии десятилетней давности. Это же неактуальная информация.
3. TrinitronOTV 14 31.12.14 07:26 Сейчас в теме
(2) alexinzaz, и как её можно грохнуть?
7. ZLENKO 398 31.12.14 11:42 Сейчас в теме
(3) TrinitronOTV, "и как её можно грохнуть?"

Например вот так (InfoRg12088 заменить на имя таблицы в вашей БД):

            USE testbase;
            GO

            SEL ECT COUNT(*) AS BeforeTruncateCount 
            FROM dbo._InfoRg12088;
            GO

            TRUNCATE TABLE dbo._InfoRg12088;
            GO

            SELECT COUNT(*) AS AfterTruncateCount 
            FR OM dbo._InfoRg12088;
            GO
Показать
eddoptimist; TrinitronOTV; +2 Ответить
4. Virikus 61 31.12.14 10:42 Сейчас в теме
(2) alexinzaz, ну как пример, залез кто-то в период 10 летней давности и поменял количество у документа прихода. Если грохнуть прошлый период, то первой копии версии тоже не будет, соответственно отчет по изменениям ничего не покажет.

Вопрос зачем хранить 10 летние записи, тоже стоит. Бывают ситуации, когда злой умысел пользователя всплывает не сразу, вот тогда и нужны все версии, чтобы найти и посмотреть, что и где пользователь изменял за весь срок работы.

Хотя если вы привыкли обслуживать только ларьки, то там конечно, такой период версий не нужен.

Другое дело, что блок версионирования лучше переделать на хранение версий в другой базе данных. Хотя бы перенос историй за период регламентным заданием. Вот тогда и база рабочая не растет и история сохранена.
RG-Soft; ZLENKO; +2 Ответить
6. ZLENKO 398 31.12.14 11:37 Сейчас в теме
(4) Virikus, "Другое дело, что блок версионирования лучше переделать на хранение версий в другой базе данных."

Можно переделать чтобы сразу сохраняло упакованную версию:

Процедура ЗаписатьВерсиюОбъекта(знач СсылкаНаОбъект,
                                знач ЧислоВерсийОбъекта = Неопределено,
                                знач ХранилищеДанных) Экспорт
...
	//МенеджерЗаписиИИО.ВерсияОбъекта = ХранилищеДанных;
	МенеджерЗаписиИИО.ВерсияОбъекта = Новый ХранилищеЗначения(ХранилищеДанных, Новый СжатиеДанных(9));
	//МенеджерЗаписиИИО.Сжато         = Ложь;
	МенеджерЗаписиИИО.Сжато         = Истина;
...
Показать
11. TODD22 18 05.01.15 19:20 Сейчас в теме
(4) Virikus,
ну как пример, залез кто-то в период 10 летней давности и поменял количество у документа прихода. Если грохнуть прошлый период, то первой копии версии тоже не будет, соответственно отчет по изменениям ничего не покажет.

Пользователь как минимум не должен иметь возможности "залезть в период 10 летней давности".

Мне вот базу дали посмотреть. Говорят 2 года работали всё было хорошо. А теперь тормозит и тд. Смотрю таблица одного документа добавленного в конфигурацию вешает 5Гб. Открываю... и что я там вижу? А вижу я там фотоотчёты торговых представителей по выкладкам майонеза, кетчупа и тд на витрину. Ну вот и для чего это 2 года хранить в базе не понятно... и зарплата за эти отчёты уже давно выплачена и майонез уже давно продан и съеден. Там может уже и витрины нет никакой.... И вот для них это важная информация. И её нужно хранить....
12. ZLENKO 398 08.01.15 16:40 Сейчас в теме
(11) TODD22, "Пользователь как минимум не должен иметь возможности "залезть в период 10 летней давности""

Речь не идет про 10 лет. В конкретной моей базе история за 1,5 года... и это занимало 90 Гб, а после сжатия 40 Гб. Теперь еще надо почистить от одинаковых записей.
5. ZLENKO 398 31.12.14 11:33 Сейчас в теме
(2) alexinzaz, "Зачем вам версии десятилетней давности. Это же неактуальная информация."

Это все за текущий год накопилось... Работают люди в базе :-)
8. AleksSF 222 31.12.14 13:23 Сейчас в теме
А что стандартными средствами никак. Там есть и удаление устаревших версий и настройка расписания. И настройка срока хранения версий.
9. ZLENKO 398 31.12.14 14:47 Сейчас в теме
(8) AleksSF, "А что стандартными средствами никак."

У меня за при выборке для упаковки периода 1 месяц на сервере temp вырастает до 15 Гб... Сервер начинает тормозить и вылетать с нехваткой памяти..
Поэтому сделал отдельную обработку с выбором периода.
10. ZLENKO 398 31.12.14 14:49 Сейчас в теме
(8) AleksSF, "Там есть и удаление устаревших версий"

За год 2 млн записей... стандартными средствами долго удаляется. Скриптом SQL удаляется мгновенно.
13. SITR-utyos 1418 18.11.16 09:42 Сейчас в теме
Оставьте свое сообщение