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

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

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

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

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

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

Обн. от 17.03.2013 г.

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

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

49 Comments

  1. petrov_al

    Полезная вещь, она мне помогла вовремя перейти c файловой на sql.

    Reply
  2. kauksi

    полезная штука. базопузомер 2.0 ))

    Reply
  3. scape

    Напиши, что для управляемых форм.

    Reply
  4. andrewks

    (3) scape, всё написано, читайте описание

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

    Если поле сортировки выбрать до открытия файла, то получаем ошибку

    {Форма.Форма.Форма(539)}: Ошибка при вызове метода контекста (Сортировать)

    ДанныеТаблицы.Сортировать(«РазмерОбщий Убыв»);

    по причине:

    Неизвестная колонка

    Неизвестная колонка

    Reply
  6. andrewks

    (5) tormozit, спасибо, поправлю

    Reply
  7. Evil Beaver

    А есть какой-то пример полезного применения, помимо простого удовлетворения любопытства?

    Reply
  8. tormozit

    (7) Файловая СУБД имеет ограничения на размер каждой таблицы в 4ГБ. Как только его достигнешь, сразу захочешь узнать какую таблицу оперировать.

    Reply
  9. andrewks

    (7) Evil Beaver, например, можно узнать, на каких объектах быстро пухнет файловая база.

    а также, есть ли объекты, чей размер приближается к 4Гб (это верхний предел размера объекта для файловой БД)

    Reply
  10. Evil Beaver

    (8) tormozit, сразу не догнал. Спасибо.

    Reply
  11. Sergoninfostarru

    Не, ну, если база сильно пухнет, то в большинстве случаев — это результат незакрытых остатков. Незакрытые остатки — это постоянное переписывание остатков в базу данных из месяца в месяц, что является следствием неправильного ведения учета. Сами справочники и документы особо базу не раздувают. Поэтому, когда база распухла через полгода-год, можна говорить о «природном» ее увеличении, а если через 2-3 месяца, то нужно садить за парту пользователей и показывать, как происходит закрытие месяца и определение фин.результатов, причем как для регламентного, так и для управленческого учетов.

    Reply
  12. Sergoninfostarru

    «Сортировать по» лучше сделать неактивным, если база не открыта, т.к. непонятно будет произведена сортировка после открытия базы или в уже открытой. Я сразу поставил «сортировать по имени» и получил «Неизвестная колонка». Только после открытия базы понял, что работает в уже открытой …

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

    Reply
  13. andrewks

    (12) Sergoninfostarru, галку просто назвал неудачно, переименую в «Вычислять размер удалённых», ведь её смысл не просто в показе доп.колонок, но больше в том, что при считывании данных дополнительно вычисляется размер удалённых данных. т.е. она оказывает влияние на процесс чтения — без этой галки скорость раза в два выше.

    а вот сортировка — её можно выполнить и после чтения, она оперирует уже с заполненной таблицей

    Reply
  14. CratosX

    (0),

    Обн. от 17.03.2013 г.

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

    Имея предыдущую версию, стоит качать эту?

    Reply
  15. andrewks

    (14) Cratos2, улучшено описание некоторых таблиц регистров накопления, + исправления для работы под linux. если для Вас это не критично — то можно и не качать

    Reply
  16. RG84

    очень полезная и интересная программа!!! обязательно попробую в работе!

    Reply
  17. expert.1c8

    А если одну и тот же файл но разных версий дважды скачивать,

    то SM списываются тоже несколько раз?

    Reply
  18. andrewks

    (17) expert.1c8, с некоторых пор, $m списываются, даже если дважды скачать один и тот же файл

    Reply
  19. clab

    Спасибо, помогла увидеть 1.5 gb индексов у пустого регистра

    Reply
  20. BTRVODKA

    Спасибо, очень пригодилась ваша публикация!

    Reply
  21. sorb

    Если не жалко, выложите исходники ВК, пожалуйста 🙂

    З.Ы. Сорри, ступил…

    Reply
  22. xalker

    Полезная вещь 🙂 Разве что добавил себе вычисление в Мб и Гб для наглядности.

    Reply
  23. KillHunter

    Любопытно получается, 1С говорит вот так:

    Ограничения на размер файловой базы данных. Все данные, относящиеся к одной таблице собраны в три внутренних файла:

    — файл записей, в котором находятся все записи таблицы, за исключением полей неограниченной длины

    — файл индексов

    — файл значений неограниченной длины

    Размер каждого из этих файлов не может превышать 4 гб.

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

    — dat a: 6515520 Kb

    — indexes: 5498160 Kb

    Итого: 12013680 Кб

    Видно, что индексы зашкаливает за 4 гига.

    Но этот архив грузится в файловую базу без вопросов.

    Однако когда данные или индексы забегают за 7 гиг, тогда в файловую уже не грузится.

    Значит ограничение не 4 гига, а чуть побольше.

    Или есть иное объяснение?

    Reply
  24. andrewks

    (24) для каждой из таблиц есть три файла: файл записей, файл BLOB, файл индексов.

    индексы всех таблиц могут превышать 4 Гб, но индексы одной таблицы не могут превышать 4 Гб

    Reply
  25. KroVladS

    (0)

    Спасибо, то что нужно.

    Предлагаю добавить сортировку по каждой таблице,

    добавить пересчёт в Мб и Гб.

    выделять красным таблицы у которых достигнут порог 90% от максимально возможного размера 4Гб.

    Сделать «примерный» прогноз оставшегося времени работы по таблице с максимальным размером.

    З.Ы. «примерный» — это примерный, два локтя по карте, с отказом от ответственности.

    Reply
  26. lesenoklenok

    Здравствуйте, ошибку выдает

    {Обработка.РазмерыТаблиц.Форма.Форма.Форма(100)}: Поле объекта не обнаружено (ИспользуемоеИмяФайла)

    ВремФайл=Новый Файл(ТекОбъект.ИспользуемоеИмяФайла);

    Reply
  27. andrewks

    (27) lesenoklenok, версия платформы? под какой конфигурацией открываете?

    Reply
  28. extalionos

    Спасибо!

    Reply
  29. Shaka13

    ценная вещь, завтра опробую, у нас как раз на Линуксе крутится 32 битная 1С пробовал dt развернуть в файловом варианте не получается, ищем где в базе идет перекос, надеюсь поможет ускорить поиск проблемы.

    тут про КЛАДР писали, а в чем феномен, что при его загрузке в базу он так раздувает ее просто фантастически.

    ради эксперимента в демо базу УТ 11.1, которая весит около 1Гига выгрузил весь КЛАД, который весит от силы 30 мегабайт, база запухла … до 3,5 гигов?

    Reply
  30. ololoanonim

    А можно ли выгрузить таблицу Files в читабельном виде во внешний (напримет xml) файл?

    Reply
  31. Najly

    Спасибо огромное, как раз то что нужно!

    Reply
  32. orfos

    (30) Shaka13, это все xml виноват. У меня файл обмена xml 900 МБ весит, а в архиве безобидные 20 Мб. А потом думаешь и чего это так обмен висит долго.

    Reply
  33. tormozit

    Большое спасибо автору. Внедрил сделанную им внешнюю компоненту в инструмент «Структура хранения БД» в подсистеме Инструменты разработчика

    Reply
  34. sashocq

    База 25 ГБ, версия формата 8.3.8, размер страницы 16384. При открытии базы обработка вылетает с созданием дампа 🙁

    Reply
  35. ybatiaev

    Не поддерживает 64… (((

    Reply
  36. agent100

    Не работает. При запуске вылетает 1С(

    Reply
  37. xxxqw

    Сигнатура проблемы:

    Имя события проблемы: APPCRASH

    Имя приложения: 1cv8c.exe

    Версия приложения: 8.3.9.1818

    Отметка времени приложения: 57ebfa49

    Имя модуля с ошибкой: 1CDLib32.dll

    Версия модуля с ошибкой: 1.3.0.0

    Отметка времени модуля с ошибкой: 00000000

    Код исключения: c0000005

    Смещение исключения: 0002936d

    Версия ОС: 6.1.7601.2.1.0.256.48

    Код языка: 1049

    Дополнительные сведения 1: 0a9e

    Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789

    Дополнительные сведения 3: 0a9e

    Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

    Ознакомьтесь с заявлением о конфиденциальности в Интернете:

    http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

    Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:

    C:Windowssystem32
    u-RUerofflps.txt

    Reply
  38. Filt

    (38) Такая же ошибка 🙁

    Reply
  39. tormozit

    Не планируется ли публикация исходного кода внешней компоненты?

    Reply
  40. dihlam

    Запускать надо не в той конфе по которой хотите посмотреть статистике. Тогда всё работает )

    Reply
  41. MaiorovYury

    (36) жаль не увидел ваш коммент перед скачиванием(((

    Reply
  42. smit1c

    Сигнатура проблемы:

    Имя события проблемы: APPCRASH

    Имя приложения: 1CV8C.exe

    Версия приложения: 8.3.10.2580

    Отметка времени приложения: 599f5753

    Имя модуля с ошибкой: 1CDLib32.dll

    Версия модуля с ошибкой: 1.3.0.0

    Отметка времени модуля с ошибкой: 00000000

    Код исключения: c0000005

    Смещение исключения: 0002936d

    Версия ОС: 6.1.7601.2.1.0.16.7

    Код языка: 1049

    Дополнительные сведения 1: 0a9e

    Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789

    Дополнительные сведения 3: 0a9e

    Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

    Reply
  43. EvaMendes

    (11) а что значит незакрытые остатки для УТ 10.3? Как их закрывать?

    Reply
  44. rvlg

    Какие условия работы обработки, вываливается с дампом, и в 32 битном и 64 битном приложении 1с. Может винда нужна 32 битная. Что нужно чтобы она отработала?

    Reply
  45. rvlg

    Запускаю в пустой конфе, замеряю базу 40 гб.

    Reply
  46. Плюшкин_

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

    Платформа 8.3.13.1513. Пытаюсь открыть базу которая весит 2 Гб.

    Reply
  47. ifal

    Не работает, падает в dump 8.3.13.1865

    Reply
  48. Srk47

    Так же падает в дамп 8.3.13.1690

    Reply
  49. denmax

    Не работает, падает 8.3.12.1529

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *