Уменьшение размера базы 1С

Свертка базы 1С
Одним из выгодных экономически приемом для для увеличения производительности (потому что не надо покупать более мощное оборудование) является — свертка базы. Наша команда имеет большой опыт и готова предоставить услуги для свертки баз любой сложности.
Для крупных предприятий у которых нет возможности остановить свою работу на значительное время (окно для выполнения свертки) или нет такой возможности совсем, мы проводим работы именно с учетом требований и возможностей заказчика, обеспечивая краткие сроки свертки и качественный результат.
Уменьшение размера положительно сказывается на обеспечение надежности в случае сбоев, так как требуется меньше времени на восстановление.
По таблицам, которые уменьшены в объеме — все операции, которые специально или умышленно читают всю и большую часть таблицы работают существенно быстрее и это уменьшает нагрузку на сервер. Меньший объем снижает требования к серверу (и стоимости владения им).
Обращаем ваше внимание, что улучшает скорость НЕ ПРОЦЕСС СВЕРТКИ, а сильно уменьшившийся итоговый размер таблиц. Свертка теряет смысл если свернуто <50% от исходного размера (например если вы обрезаете 2 года из 5). Надо стремиться к свернутому объему >90% от исходного (например остатки на конец предыдущего года). Остальные данные смотреть в архиве. Если пользователи ленятся открывать вторую базу с архивом, то за доплату легко сделать отчет, который через веб-сервис вытащит данные из архивной базы и покажет в основной оперативной.

Базовая стоимость работ

Типовая конфигурация:

Для немодифицированных типовых конфигураций 1С УТ, БП, УПП, ERP базовая стоимость составляет — 260 000 рублей.
При этом есть ряд требований:
— две копии баз для тестовых работ развёрнуты на производительных SSD (примеры моделей дисков ниже по тексту);
— для свертки продуктивной базы может быть выделено одно технологическое окно достаточной длительности (то есть период, когда работа пользователей, обменов и регламентных заданий в базе будут полностью остановлены, и база доступна исключительно для свертки) предположительно от 8 до 24 часов, в зависимости от объёмов таблиц БД и производительности продуктивного сервера 1С и СУБД. Более точно длительность необходимого технологического окна должна быть выяснена в ходе работ по тестовой свертке копии базы данных.

Доработанная конфигурация:

Предполагаемый базовый ценник для свертки баз с отраслевыми или модифицированными конфигурациями — 364 000 рублей.

Если сворачиваемая конфигурация отраслевая, или типовая «дописанная» конфигурация — стоимость работ по свертке может быть дополнительно увеличена в зависимости от количества необходимых изменений при обработке сворачиваемых таблиц. Стоимость может быть уточнена после оценки конфигурации.

Стоимость при условии дополнительных требований к технологическим окнам со стороны заказчика:

Если для свертки продуктивной базы потребуется более одного технологического окна — стоимость работ по свертке может быть дополнительно увеличена (в зависимости от количества и длительности требуемых технологических окон).

Если продуктивная база работает в режиме 24/7 — условия и стоимость свертки могут быть уточнены после детального обсуждения с представителями Заказчика.

Минимальные необходимые параметры стенда для свертки (требования к дискам):

На стоимость свертки могут влиять также параметры стенда, на котором будут размещены копии базы для тестовой свертки.
А именно необходимые минимальные требования к стенду с копиями баз:
Копии базы данных для проведения работ по тестовой свертке, должны быть размещены на дисковой подсистеме производительностью не хуже, чем SATA SSD, при этом минимальный допустимый уровень производительности: показатели теста CrystalDiskMark версии 3.0.4 при размере теста 4 гигабайта и 9 повторах не хуже 100 мегабайт в секунду на чтение и запись в строке 4K/QD32.

При невозможности использовать диски удовлетворяющие минимальным требованием, стоимость свертки может возрасти на 78 000 рублей.

При необходимости, с нашей стороны можем дать рекомендацию, какие конкретные модели дисков лучше использовать, в зависимости от конкретной ситуации.

Пример по возможным используемым дискам для стенда тестовой свертки:
Для баз объёмом от 100gb можно использовать samsung 860 pro (или не хуже)
Для баз от 600 gb, можно задействовать samsung pm1725b, pm1733, pm1735, intel p4600 / p4608 / p4610.

Довольные клиенты
Айдар Абузяров, ЛУКОЙЛ Белоруссия:

Работа была сделана профессионально и качественно… То, как оперативно удавалось решать сложные ситуации в процессе свертки, еще раз подтверждает экспертный уровень владения вопросами производительности и оптимизации баз данных специалистами ООО «ЦТП».»
См. полный отзыв.

ИП Базяка Олег Алексеевич:

Т.к. работа в компании осуществлена по графику 6*24, задача была, не прерывая рабочий процесс, устранить проблему увеличения базы…
Спасибо за проделанную работу. Мы приобрели не только рабочую базу, но и профессиональных партнеров.

См. полный отзыв.

Порошин Алексей, ДК СЛАТА Иркутск:

Удовлетворены результатом и в последующем планируем каждый год обращаться в ООО «Центр Технологической Поддержки» для проведения свертки за прошедшие периоды, отдельно хочется поблагодарить… за быструю обратную связь по всем возникавшим у нас проблемам, а также за доступность для консультаций в рабочее и нерабочее время…»
См. полный отзыв.

Вандышева Елена, Торговые системы Технониколь:

Для решения задачи уменьшения размеров базы данных без опасения за целостность данных, а также избыточных простоев и с полным сохранением функционала, было решено привлечь экспертов команды Gilev.ru под руководством Вячеслава Гилёва, как имеющих разносторонний опыт и наработанные методики, в том числе и в данном вопросе.»
См. полный отзыв.

Венжега Андрей, Крымхлеб:

Задача осложнялась непрерывным процессом производства в компании, из-за этого возможности по количеству и длительности технологических окон для проведения работ над информационной системой весьма ограниченны. Эксперт Дмитрий Юхтимовский успешно выполнил свертку базы в единственное технологическое окно длительностью 7 часов, сократив объем базы более чем в 2 раза, с 67 гигабайт до 30. Выражаем благодарность за оперативное и высококачественное выполнение поставленных задач.
Работа проведена безупречно.»

См. полный отзыв.

Алексей Карпов, Первый мясокомбинат:

База, на тот момент, весила примерно 700 Гб и наше дисковое пространство стремительно кончалось… и получили ожидаемый результат — на текущий момент наша база весит порядка 90 Гб.»
См. полный отзыв.

Евгений Курманин, Валта пет продактс:

Для выполнения работ по свертке продуктивной базы имелось единственное технологическое окно длительностью всего 29 часов, и свертка было успешно выполнена за это время.»
См. полный отзыв.

Маккаева Айшат, Гранд виста:

После выполнения всех рекомендаций удалось сократить объем базы данных в три раза и увеличить производительности в 20 раз»
См. полный отзыв.

Заключить договор
По вопросам проведения работ по свертке базы обращайтесь на почту andrey@gilev.ru и slava@gilev.ru

Шаблон договора можно скачать здесь.

Цена ошибок или как правильно управлять ситуацией

Есть много ошибок (мы говорим о производительности), но тут расскажем про ту, которая не описана в учебниках 1С.
В книжке 1С-Эксперт есть много правильных рекомендаций “Как исправить проблему”. Возьмём для примера рекомендацию апгрейда дисков. Сама по себе очень правильная и полезная в массе случаев. Но в книжке ничего не сказано на тему: как быть в ситуации, когда вы подойдёте к этой рекомендацией к начальнику, а он скажет “денег нет, но вы держитесь!”.

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

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

Если немного отвлечься, то такой стиль поведения специалистов фактически мешает им становиться профессионалами и делать карьеру.

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

Как вы думаете: способен ли финансовый директор сильно детализировать бюджет на покупку оборудования, услуг IT-специалистов и глубоко разбираться, что же они делают за эти деньги. Задача финдиректора — только найти деньги и получить конечный результат на выходе.

Очень важно любой способ повышения производительности сразу оценивать в деньгах.

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

Мы предлагаем вам в качестве аксиомы руководствоваться простыми правилами, позволяющими не создавать сложные непредсказуемые ситуации. с одной стороны, для целей оперативного и управленческого учёта небольшой компании с размерами базы данных до 100 гигабайт, целесообразно разрабатывать и эксплуатировать монолитное приложение (таковыми являются практически все типовые решения 1С). С другой стороны: для крупных компаний в 1000 и более пользователей, монолитное решение не подходит, сразу нужно проектировать распределённую систему, которая характеризует применение идеи SOAP, микросервисов, отсутствие хранения в одной таблице больших данных пользователей, при работе которых взаимодействие между собой не происходит (например, развязывать между собой операторов разных регионов, принимающих заказы клиентов). Чего-то готового в этом плане на текущий момент у фирмы 1С нет.

Признаком того, что вы не выполняете данные нами рекомендации, является необходимость покупки сверхмощного сервера под базу данных.

Чем больше пользователей в информационной системе, тем качественней код должен быть оптимизирован под конкретное оборудование, на котором он будет постоянно эксплуатироваться.

Закончили с правилами, перейдём к ошибкам.

Самые дорогие ошибки осуществляются в самом начале проекта. Дорогие не только в смысле денег. Техническая сложность тоже будет расти по мере развития продукта. Т.е. если вы выберете неправильную архитектуру, то по мере удаления во времени от начала проекта, исправить ошибки будет всё дороже и дороже.

Спустя год вы можете оптимизировать хоть по 100 запросов в месяц, но если например ваша система продолжает очень быстро накапливать данные в таблицах, то эта борьба малоэффективна.

Ни в одном учебнике 1С вы пока не прочитаете простую истину:

Приложение должно контролировать размер данных в своих самых важных таблицах.

И этот размер не должен быть выше некоего максимально допустимого значения на этом сервере.

Другими словами, размер самых больших таблиц базы не должен расти.

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

Приложение должно контролировать размер данных в своих самых важных таблицах. а пределе. Не надо испытывать его на прочность, у вас должен быть значительный запас мощности на непредвиденные вами ситуации, когда например код самовольно съест слишком много ресурсов или какой-то рьяный пользователь запустит несколько отчётов с избыточной детализацией (например, отчёт о продажах по всем подразделениям за два года с расшифровкой до конечной позиции документа).

Сообщество 1С интуитивно отчасти выполняет эту рекомендацию, делая свертку базы. Кто не в курсе, что такое свертка базы — это когда например берётся текущая база, в которой ведётся учёт, и из неё удаляются данные за прошлые годы, остаются например только остатки на начало года и данные с начала текущего года. При свертке базы на некоторое время снова высвобождаются мощности, появляется запас у оборудования, и есть шанс, что какие-то плохие запросы на некоторое время снова станут работать неплохо, как в старые добрые времена, когда учёт в базе только начинался.

Но на наш взгляд, главное достоинство этого способа — это его себестоимость. В подавляющем большинстве случаев, стоимость свертки базы значительно меньше стоимости оптимизации всех неоптимальных запросов или покупки дорогого дискового хранилища.

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

Будь вы системным администратором или программистом, считайте оценку стоимости решения своей обязанностью. Даже если вы делаете за кого-то его работу, то лишь вопрос времени — когда вас оценят и повысят (причём это может оказаться и другая компания!).

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