Размер данных базы 1С
На прошлой неделе листал комментарии к 8.3.15 и наткнулся на метод ПолучитьРазмерДанныхБазыДанных(). Стало любопытно, как эта штука работает и насколько её данные расходятся с теми, которые можно получить из, например, Management Studio.
В итоге накатал что-то вроде консоли, через которую методу можно передавать разные метаданные, и принялся следить за запросами платформы к БД.
В общем, размер данных платформа считает примерно таким выражением:
И так для каждого поля, которое есть у объекта, включая стандартные. Если есть табличные части — они тоже считаются. Результат суммируется.
Ну, во-первых, понятно, почему у метода такое дурацкое название. Он считает не размер таблиц, как я изначально подумал, а именно размер данных — то есть на оценку не влияют ни расходы на схему данных, ни расходы на индексы, ни механика экстентов. Учитывается только размер самих данных, которые хранятся непосредственно в объекте.
Таким образом, реальный объём места, которое слопал условный справочник номенклатуры, будет больше того, которое покажет метод. Возможно, значительно. Для точной аналитики такой подход не годится, но чтобы быстро оценить распределение данных в БД – вполне подходит.
Во-вторых, метод никак не считает расходы на историю данных для анализируемых объектов, что честно указано в документации. Теоретически их можно посчитать вручную, оттолкнувшись от _DataHistoryMetadata, но подождем релиз-другой — возможно, разработчики это добавят.
В-третьих, СУБД в ходе расчетов выгребает все содержимое нужных таблиц, а потом считает размер того, что выгребла. То есть вызов, скорее всего, приведет к куче сканирований и может быстро вымыть буферный кэш. На 1cFresh запросы будут делаться с учетом разделителей, но это слабое утешение, как по мне.
Узнаем размер приложения в сервисе 1С:Фреш
Любой пользователь сервиса 1С:Фреш может самостоятельно узнать размер своего приложения. Часто это необходимо для создания резервных копий и их выгрузки на компьютер. Чем тяжелее приложение, тем дольше будут копироваться данные. Кроме того, полезно знать размер для загрузки копий в облачное хранилище.
Размер приложения — это оценка суммарного объема данных, хранимых для приложения в сервисе 1cfresh.com.
Для некоторых приложений может потребоваться переход на другой тариф, например, для приложения «Комплексная автоматизация» при большом размере приложения может потребоваться приобретение подписки на тариф «КОРП дополнительный объем»
Посмотреть размер приложения в облаке 1С, а именно в сервисе 1С:Фреш, достаточно просто. Для этого необходимо:
- Войти в Личный кабинет на сайте https://1cfresh.com
- Открыть карточку свойств приложения (нужно будет дважды щелкнуть по приложению в разделе «Мои приложения»)
- Размер приложения будет показан в карточке свойств приложения в поле «Размер»
Важно! Приложение должно быть обновлено до версии, поддерживающей расчет размера, иначе появится сообщение «Функциональность не поддерживается».
Если оно было обновлено, то в поле «Размер» появится сообщение «Расчет не выполнялся»
Пользователи сервиса 1С:Фреш, у которых есть права владельца или администратора, могут вывести отчет о размере всех приложений. Для этого необходимо выполнить следующие действия:
- Войти в Личный кабинет на сайте https://1cfresh.com
- Кликнуть на кнопку «Отчеты» или «Еще» — «Отчеты»
- Выбрать команду «Размер приложений»
- Нажать кнопку «Сформировать»
Если нажать кнопку «Только с размером», то в отчете появятся сведения только о тех приложениях, для которых был выполнен расчет размера.
Перед тем как перенести данные в сервис 1С:Фреш, необходимо уточнить размер базы. Это можно сделать в локальном приложении. Следуйте по инструкции:
- Необходимо войти в локальную базу 1С с правами администратора
- Вызвать форму «Переход в облачный сервис»
Выполнить это действие можно через меню «Администрирование» — «Перейти в облачный сервис». Затем останется нажать гиперссылку «Информация о размере приложения».
Также можно попробовать перейти по навигационной ссылке e1cib/app/Отчет.ИсторияРазмераПриложения.
- В появившейся форме отчета необходимо выбрать период и нажать кнопку «Сформировать»
Размер локальной базы может отличаться от размера базы в облаке. Это происходит потому, что результат вычисления размера приложения зависит от используемой версии СУБД.
Обратите внимание, что расчет размера доступен для приложений, в конфигурации которых встроена Библиотека технологии сервиса версии не ранее 2.0.5.
Как посмотреть объем базы 1с
Определение размера базы данных 1С с разбивкой по объектам метаданных
Не раз приходилось мне объясняться с нашим системным администратором по вопросу неожиданного роста базы данных. И вот наконец решил больше не гадать о причинах и написал такой инструмент.
Идея очень проста:
1. Вводим строку подключения к серверу баз данных. Нажимаем кнопку «Заполнить структуру БД».
1. Строится дерево метаданных и реальных таблиц в которых хранятся объекты.
2. Обработка обращается напрямую к серверу баз данных и для каждой реальной таблицы производится запрос с определением ее физического размера.
3. Полученные данные о размере выводятся в дерево метаданных, суммируются итоги.
Размер таблиц 1С
Рассмотрим, как определять размер таблиц информационной базы данных в 1С, при помощи специальной обработки. Такая обработка позволит производить оценку размеров различной 1С таблицы SQL, использовать её можно как и файловыми базами данных, так и серверными базами данных.
Если обработка будет использована для 1С 8.3 файловой базы, то можно будет узнать таблицы, которые в будущем создадут проблемы, в виде превышения наибольшего возможного размера для файловой базы.
Стоит отметить, что максимальный разрешённый размер одной таблицы, 1С 8.3 файловая база – это 4 Гб. В случае, когда большинство таблиц, по размеру, приближаются к 4 Гб, то стоит задуматься о том, что б перейти на серверную информационную базу данных 1С.
2. Файл обработки в 1С для определения табличных размеров
Для того чтобы запустить обработку – кликаем на «Файл», переходим по кнопке «Открыть» и выбираем нужный файл обработки 1С. Как только данная обработка будет запущена – внутри неё отобразятся те объекты, для которых можно определять табличные размеры. К таким объектам можно отнести: документацию, справочные материалы, планы, регистр база данных
Саму обработку можно найти на официальных сайтах продукции компании 1С.
Пример работы обработки
Рассмотрим то, как будут действовать обработки 1С Розница
Размер таблиц 1С
Отображение размера каждого из объектов отображается в Мб. Чтобы увидеть размер конкретной таблицы – кликаем по ней и избираем действие показать таблицу размеров. Стоит отметить, если таблица содержит много данных, то такое определение может занять немного времени.
Показать таблицу размеров
Можно узнавать размер не только для конкретной таблицы, но и для объектов, в общем, аналогично избираем объект из корня и кликаем по кнопке показать таблицу размеров, как демонстрируется ниже:
Узнаем размер приложения в сервисе 1С:Фреш
Любой пользователь сервиса 1С:Фреш может самостоятельно узнать размер своего приложения. Часто это необходимо для создания резервных копий и их выгрузки на компьютер. Чем тяжелее приложение, тем дольше будут копироваться данные. Кроме того, полезно знать размер для загрузки копий в облачное хранилище.
Размер приложения — это оценка суммарного объема данных, хранимых для приложения в сервисе 1cfresh.com.
Для некоторых приложений может потребоваться переход на другой тариф
например, для приложения Комплексная автоматизация при большом размере приложения может потребоваться приобретение подписки на тариф КОРП дополнительный объем