gifts2017

Размеры таблиц файловой базы данных (в т.ч. для платформы 8.3 под Linux)

Опубликовал andrewks в раздел Администрирование - Статистика базы данных

Обработка позволяет просмотреть размеры всех таблиц в файловой базе данных, с разбивкой по объектам (записи, BLOB, индексы). Работает как на платформах 8.2-8.3 под Windows, так и на 8.3 под Linux

Для каждой таблицы показывается соответствующее описание метаданных. Является внешней обработкой для режима управляемого приложения 1С:Предприятие 8.2, можно запустить из любой конфигурации на УФ, или из созданной пустой базы.

Технические детали:
Обработка может функционировать только на платформах 1С 8.2 и выше (т.к. используемая компонента написана по технологии NativeAPI), в режиме управляемого приложения (код открыт - можно портировать и для обычного приложения), при этом сами обрабатываемые БД могут быть любых версий (8.0-8.3). Используется компонента 1CDLib http://infostart.ru/public/166557/

Ближайший аналог: Программа от MMF http://infostart.ru/public/82178/
Существенные отличия представленной обработки от программы MMF:
+ Формируется быстрее
+ Показывается размер удалённых BLOB-данных
+ Открытый код (возможность модификации)

+ Поддержка клиентов на платформе 8.3 под Linux
- Не является самостоятельным приложением

Обн. от 17.03.2013 г.

1) Добавлена поддержка клиентов на платформе 8.3 под Linux (пока только для x32)

2) Исправлены мелкие ошибки и неточности

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

Наименование Файл Версия Размер Кол. Скачив.
TablesSizes.epf
.epf 549,11Kb
17.03.13
553
.epf 549,11Kb 553 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. al petrov (petrov_al) 05.03.13 10:12
Полезная вещь, она мне помогла вовремя перейти c файловой на sql.
2. Sergei (kauksi) 06.03.13 04:40
полезная штука. базопузомер 2.0 ))
asved.ru; +1 Ответить
3. Александр Хоменко (scape) 06.03.13 10:05
Напиши, что для управляемых форм.
4. andrewks 06.03.13 10:11
(3) scape, всё написано, читайте описание
Является внешней обработкой для режима управляемого приложения 1С:Предприятие 8.2, можно запустить из любой конфигурации на УФ
5. Сергей Старых (tormozit) 06.03.13 14:24
Если поле сортировки выбрать до открытия файла, то получаем ошибку

{Форма.Форма.Форма(539)}: Ошибка при вызове метода контекста (Сортировать)
ДанныеТаблицы.Сортировать("РазмерОбщий Убыв");
по причине:
Неизвестная колонка
Неизвестная колонка
6. andrewks 06.03.13 14:34
(5) tormozit, спасибо, поправлю
7. Андрей Овсянкин (Evil Beaver) 06.03.13 17:01
А есть какой-то пример полезного применения, помимо простого удовлетворения любопытства?
8. Сергей Старых (tormozit) 06.03.13 17:09
(7) Файловая СУБД имеет ограничения на размер каждой таблицы в 4ГБ. Как только его достигнешь, сразу захочешь узнать какую таблицу оперировать.
JohnyDeath; Tangram; tiger; teflon; CratosX; Evil Beaver; +6 Ответить 1
9. andrewks 06.03.13 17:09
(7) Evil Beaver, например, можно узнать, на каких объектах быстро пухнет файловая база.
а также, есть ли объекты, чей размер приближается к 4Гб (это верхний предел размера объекта для файловой БД)
10. Андрей Овсянкин (Evil Beaver) 06.03.13 17:28
(8) tormozit, сразу не догнал. Спасибо.
11. Сергей (Sergoninfostarru) 07.03.13 01:07
Не, ну, если база сильно пухнет, то в большинстве случаев - это результат незакрытых остатков. Незакрытые остатки - это постоянное переписывание остатков в базу данных из месяца в месяц, что является следствием неправильного ведения учета. Сами справочники и документы особо базу не раздувают. Поэтому, когда база распухла через полгода-год, можна говорить о "природном" ее увеличении, а если через 2-3 месяца, то нужно садить за парту пользователей и показывать, как происходит закрытие месяца и определение фин.результатов, причем как для регламентного, так и для управленческого учетов.
12. Сергей (Sergoninfostarru) 07.03.13 01:43
"Сортировать по" лучше сделать неактивным, если база не открыта, т.к. непонятно будет произведена сортировка после открытия базы или в уже открытой. Я сразу поставил "сортировать по имени" и получил "Неизвестная колонка". Только после открытия базы понял, что работает в уже открытой ...
А вот галочка "Показывать размер удаленных" работает до открытия базы данных, что еще больше запутывает.
13. andrewks 07.03.13 08:50
(12) Sergoninfostarru, галку просто назвал неудачно, переименую в "Вычислять размер удалённых", ведь её смысл не просто в показе доп.колонок, но больше в том, что при считывании данных дополнительно вычисляется размер удалённых данных. т.е. она оказывает влияние на процесс чтения - без этой галки скорость раза в два выше.
а вот сортировка - её можно выполнить и после чтения, она оперирует уже с заполненной таблицей
14. Cratos2 (CratosX) 18.03.13 09:14
(0),
Обн. от 17.03.2013 г.
2) Исправлены мелкие ошибки и неточности


Имея предыдущую версию, стоит качать эту?
15. andrewks 18.03.13 09:24
(14) Cratos2, улучшено описание некоторых таблиц регистров накопления, + исправления для работы под linux. если для Вас это не критично - то можно и не качать
16. Irina Тускова (RG84) 18.03.13 14:57
очень полезная и интересная программа!!! обязательно попробую в работе!
17. Василий Петров (expert.1c8) 18.03.13 19:25
А если одну и тот же файл но разных версий дважды скачивать,
то SM списываются тоже несколько раз?
18. andrewks 18.03.13 19:54
(17) expert.1c8, с некоторых пор, $m списываются, даже если дважды скачать один и тот же файл
19. Модератор раздела Артур Аюханов (artbear) 18.03.13 20:19
А где исходники-то? Как и у MMF, код закрыт :(
Исходник 1С открыт, а исходник ВК где?
20. Владимир (clab) 22.07.13 08:07
Спасибо, помогла увидеть 1.5 gb индексов у пустого регистра
21. Алексей Шабанов (BTRVODKA) 15.09.13 04:27
Спасибо, очень пригодилась ваша публикация!
22. Роман Сюзев (sorb) 12.01.14 18:14
Если не жалко, выложите исходники ВК, пожалуйста :)

З.Ы. Сорри, ступил...
23. Игорь Сапрыгин (xalker) 09.03.14 06:52
Полезная вещь :) Разве что добавил себе вычисление в Мб и Гб для наглядности.
24. Vlad (KillHunter) 09.03.14 14:10
Любопытно получается, 1С говорит вот так:
Ограничения на размер файловой базы данных. Все данные, относящиеся к одной таблице собраны в три внутренних файла:
- файл записей, в котором находятся все записи таблицы, за исключением полей неограниченной длины
- файл индексов
- файл значений неограниченной длины
Размер каждого из этих файлов не может превышать 4 гб.

Загрузил архив базы в SQL, смотрю сколько все таблицы в сумме занимают места

- dat a: 6515520 Kb
- indexes: 5498160 Kb
Итого: 12013680 Кб

Видно, что индексы зашкаливает за 4 гига.
Но этот архив грузится в файловую базу без вопросов.
Однако когда данные или индексы забегают за 7 гиг, тогда в файловую уже не грузится.
Значит ограничение не 4 гига, а чуть побольше.
Или есть иное объяснение?
25. andrewks 10.03.14 08:38
(24) для каждой из таблиц есть три файла: файл записей, файл BLOB, файл индексов.


индексы всех таблиц могут превышать 4 Гб, но индексы одной таблицы не могут превышать 4 Гб
26. Vladimir K (KroVladS) 23.04.14 12:11
(0)
Спасибо, то что нужно.

Предлагаю добавить сортировку по каждой таблице,
добавить пересчёт в Мб и Гб.
выделять красным таблицы у которых достигнут порог 90% от максимально возможного размера 4Гб.
Сделать "примерный" прогноз оставшегося времени работы по таблице с максимальным размером.

З.Ы. "примерный" - это примерный, два локтя по карте, с отказом от ответственности.
27. Елена Ситникова (lesenoklenok) 15.09.14 12:46
Здравствуйте, ошибку выдает
{Обработка.РазмерыТаблиц.Форма.Форма.Форма(100)}: Поле объекта не обнаружено (ИспользуемоеИмяФайла)
ВремФайл=Новый Файл(ТекОбъект.ИспользуемоеИмяФайла);
28. andrewks 15.09.14 13:09
(27) lesenoklenok, версия платформы? под какой конфигурацией открываете?
29. Максим Андреев (extalionos) 23.10.14 15:28
30. Дмитрий Ли (Shaka13) 20.11.14 00:25
ценная вещь, завтра опробую, у нас как раз на Линуксе крутится 32 битная 1С пробовал dt развернуть в файловом варианте не получается, ищем где в базе идет перекос, надеюсь поможет ускорить поиск проблемы.
тут про КЛАДР писали, а в чем феномен, что при его загрузке в базу он так раздувает ее просто фантастически.
ради эксперимента в демо базу УТ 11.1, которая весит около 1Гига выгрузил весь КЛАД, который весит от силы 30 мегабайт, база запухла ... до 3,5 гигов?
31. Ololo Anonim (ololoanonim) 22.01.15 07:04
А можно ли выгрузить таблицу Files в читабельном виде во внешний (напримет xml) файл?
32. Ярослава Ядрова (Najly) 13.11.15 12:37
Спасибо огромное, как раз то что нужно!
33. Виталий Васильев (orfos) 13.11.15 15:28
(30) Shaka13, это все xml виноват. У меня файл обмена xml 900 МБ весит, а в архиве безобидные 20 Мб. А потом думаешь и чего это так обмен висит долго.
34. Сергей Старых (tormozit) 13.03.16 21:59
Большое спасибо автору. Внедрил сделанную им внешнюю компоненту в инструмент "Структура хранения БД" в подсистеме Инструменты разработчика
35. Александр Кузин (sashocq) 21.11.16 15:52
База 25 ГБ, версия формата 8.3.8, размер страницы 16384. При открытии базы обработка вылетает с созданием дампа :-(
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа