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

1. Тильчик 14.09.20 07:25 Сейчас в теме
Всем привет!
У нас рабочая базу УПП, очень большая, бэкап SQL занимает 4 Тб.
Пытаюсь разобраться что да как (админ уволился на меня повесили), есть такие таблицы, как анпример регстар сведений Графики работ по видам времени на 22 млн.записей и прочие регистры с таким же количеством записей. Хочу их сократить, о свертке не может быть и речи (бухам нужны документы за прошлые периоды в режиме реального времени(копия отпадает), да и по словам тех же бухгалтеров предыдущие попытки не дали больших результатов). Никто не подскажет что делать?
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 59 14.09.20 07:28 Сейчас в теме
(1)ну что первое приходит на ум, это ТиИ с убийством битых ссылок с последующим сжатием и рестуктуризацией, но вот сколько 4 терика будут молотиться вот в чем вопрос!
succub1_5; +1 Ответить
3. Fox-trot 117 14.09.20 07:29 Сейчас в теме
смотря что и как удалять
(2)
22. Vitaly1C8 14.09.20 10:10 Сейчас в теме
(1) Да нормальный размер. Вообще не парься на этот счет. Просто закупите дисков на 50-100 Тб
30. Euroset1 11 15.09.20 03:19 Сейчас в теме
(1)
1) ТИИ не проканает, ради такой базы тебе от недели до месяца компанию нужно останавливать.
2) в SQL менеджере посмотри отчет по верхним таблицам. найди или сделай обработку, которая подскажет тебе связь имен этих таблиц с твоими метаданными.
3) Ищи регистры сведений ненужные, которые не используются. Может, логи какие-то кто-то делал и забыл автоочистку поставить.
4) Ищи какие индексы можно убрать. Иногда самопальные метаданные идексируют тупо по всем полям.
5) Посмотри есть ли в базе версионирование. Если включено, то отключай нафиг и удаляй все эти копии объектов нафиг.
6) Посмотри есть ли всякие замеры времени. Их тоже можно почистить.
7) Посмотри как настроено хранение файлов. Если не на внешних томах, то тогда у тебя пол базы - это всякие сканы накладных, договоров и счетов. Переноси на отдельные тома штатными средствами.
8) если все это не помогло снести лишние 3 терабайта, то ищи новую работу =)
rusmil; ipoloskov; +2 Ответить
38. HeartlessALieN 16.09.20 14:08 Сейчас в теме
(1)Недавно были такие же проблемы, но чуть в меньшем обьеме.
База с 2,2 Тб стала 950 Гб.

1) по SQL запрос на размер "верхних" таблиц и сравниваешь их с метаданными в 1С. Таким образом я нашел регистры по которым не закрывались итоги.

2) удаление с умом старых версий документов ( например документ 100 раз просто перепроводился но разными пользователями, зачем таких 100 версий? ) или удаление версий в принципе если это по этому объекту были включены "случайно"

3) удаление помеченных на удаление элементов с их версиями

4) чистка "задач пользователя", бизнес процессов и регистра "Рецензий" если он присутствует, но как и во 2м пункте с умом ( никому не нужны задачи более 2х летней давности, а вот рецензии по ним необходимы, или наоборот )

5) Поиск не нужных регистров ( да, такие у меня имелись - "оставили как было т.к не хватило времени убрать их проводки" )
4. Fox-trot 117 14.09.20 07:29 Сейчас в теме
но по-мне так 4 это немного
Vitaly1C8; +1 Ответить
5. ---vagus--- 14.09.20 07:41 Сейчас в теме
так бухам за какой период нужны сведения ?
от начала работы системы или за 25предыдущих лет ?

************
и по словам тех же бухгалтеров предыдущие попытки не дали больших результатов
************
это еще большой вопрос как и кто делал и понимает ли бухгалтерия о чем речь :)

я так понял MSSQL
6. Тильчик 14.09.20 07:46 Сейчас в теме
Да,MSSQL, в среднем реструктуризация длится двое суток
базе 10 лет
Хочу почистить регистры сведений, вот думаю нужны или нет:(
7. Тильчик 14.09.20 07:47 Сейчас в теме
я предложил с ходу свертку базы сделать (я тут человек новый) сказали что база сильно переписанная и раньше такие попытки были и ни к чему хорошему не привели, что то постоянно слетает
9. ---vagus--- 14.09.20 07:58 Сейчас в теме
(7)
100% они неверно учет ведут и свертку в этом случае никак
потому и говорят :
и раньше такие попытки были и ни к чему хорошему не привели

если бухи главнее , то админу 1с не повезло :)
11. Тильчик 14.09.20 07:59 Сейчас в теме
(9)нет админа:) уволился, на меня повесили
24. o.kovalev 70 14.09.20 10:32 Сейчас в теме
Все очень индивидуально
(7)

Я бы сделал свертку, показал бы, определились бы что слетает, возможно что то переписать или до-грузить.
как бы не была переписана, свертка вполне возможна, очень-очень не быстро конечно все это будет.
8. ---vagus--- 14.09.20 07:54 Сейчас в теме
так поговорите с бухами, что и за какие периоды им нужно
может отдельно сохранить именно эти данные ,
не понятно , смотря чего они захотят

свертку базы я бы не делал...неизвестно как они ведут учет ,
а еще если сегодня-вчера отмена проведения и всякие вкусности :)
10. Тильчик 14.09.20 07:58 Сейчас в теме
Причем я сейчас вывел количество записей по метаданным - там в целом только в 2-х регистрах записей больше 25 млн, еще в одном 8 млн и третий по количеству на 4 млн, остальные цифры терпимые.
Я не понимаю откуда объем такой - из-за этимх 2-х регистров на 25+млн?

Причем если делать полный бэкап то получается меньше Тб, а разнстные накидывают по пол ТБ за день, эт нормально?
12. ---vagus--- 14.09.20 08:03 Сейчас в теме
(10)
я по субд майкрософт не очень , если не сказать совсем :) не понимающий
26. Swetlana 13 14.09.20 11:07 Сейчас в теме
(10) какие именно регистры?
27. Swetlana 13 14.09.20 11:09 Сейчас в теме
(10) Нужно смотреть не на количество записей в регистрах а на общий размер регистров
13. ---vagus--- 14.09.20 08:11 Сейчас в теме
Разностная резервная копия баз данных сохраняет
только те данные,
которые изменились по сравнению с полной резервной копией,
которая служила основой для разностной резервной копии.
14. ---vagus--- 14.09.20 08:14 Сейчас в теме
вам наверное присмотреться к самим настройкам 1с и разным задачам и заданиям, которые выполняются....пока не увидите, что там внутри . может еще не в субд вопрос.
15. Тильчик 14.09.20 08:16 Сейчас в теме
Мне кажется что дело в прикрепленных файлах- в УПП они хранятся в самой базе а не во внешнем ресурсе
16. Fox-trot 117 14.09.20 08:31 Сейчас в теме
(15) в скуле же есть уже готовый отчет по топ таблицам,которые самые жирные
глянь, что там за таблицы
для начала нужно определиться, что хотите удалить: документы, независимые записи, картинки наконец
17. t278 36 14.09.20 08:37 Сейчас в теме
я бы делал так:
1) узнал бы размер внутренних таблиц. В больших таблицах проверил бы все реквизиты на тип данных и длину.
Мне один раз попался строкой тип длинною 1000.
2) дальше думать как уменьшить эти таблицы.

бэкап SQL занимает 4 Тб, у нас 8 .
18. succub1_5 77 14.09.20 09:08 Сейчас в теме
Если бэкап 4 (а у кого-то 8) Тб, то сколько сама база весит? - 20Тб?
Сильно тормозит?
20. Тильчик 14.09.20 09:09 Сейчас в теме
(18)Да не очень
(17) А как это сделать?
19. Тильчик 14.09.20 09:09 Сейчас в теме
и это нормально что разностный бэкап по полТБ добавляет?
25. Fox-trot 117 14.09.20 10:56 Сейчас в теме
(19) это вопрос ни о чем
если изменили одну запись, то конечно многовато. а что там у тебя в базе творится, это только ты можешь нам рассказать
но пару идей как мониторить тебе уже подкинули
23. herfis 372 14.09.20 10:15 Сейчас в теме
В администрировании SQL сервера есть стандартный отчет, показывающий топ больших таблиц. От него и плясать.
28. ipoloskov 123 14.09.20 11:52 Сейчас в теме
Графики работы по видам времени за старые периоды бухам ни к чему - можно чистить.
Но на 4 Тб архив раздули не они. Скорее всего, у вас в базе хранятся двоичные данные - сканы документов и т.д. Посмотрите размер справочника ХранилищеДополнительнойИнформациии. Если включено версионирование, то посмотрите регистр ВерсииОбъектов. Его тоже можно почистить, оставив данные за этот год, например.
Вообще, посмотрите размер таблиц (не количество строк в них).

Если дело в ХранилищеДополнительнойИнформациии, то можно почистить (естественно, предварительно согласовав это) прикрепленные файлы старых документов (отбирая по Объект.Дата для Объектов - документов).
В некоторых таблицах двоичные данные хранятся в самой таблице, например Справочник.Номенклатура.ОсновноеИзображение. Они тоже могут давать вес, если, допустим, туда заливают какие-то фото с безумным разрешением. Но это все менее вероятно, скорее всего дело в ХранилищеДополнительнойИнформациии
31. Тильчик 15.09.20 07:58 Сейчас в теме
(28)Да, ятоже сморю в сторону этой таблицы, таие объемы можно нагнать только файлами, сейчас буду копать, спасибо!
Ну и графики разумеется почищу.
32. Тильчик 15.09.20 08:02 Сейчас в теме
(28)Да, файлов очень много, сканы и pdf, сейчас будем думать что делать, там сканы к ЗРДС прикреплены и к договорам
33. borodatii 3 15.09.20 09:45 Сейчас в теме
(32) Если УПП уже поддерживает хранение прикрепленных файлов в томах на дисках, то это поможет сильно уменьшить размер базы без необходимости удаления файлов, разве что с процессом переноса из базы на диск придется повозиться.
34. Тильчик 15.09.20 13:41 Сейчас в теме
(33)не поддерживает УПП такое, допиливать нужно
(28)да, файлы многоместа занимают, 30% проанализировал а уже 120Гб
29. muskul 15.09.20 01:47 Сейчас в теме
4 тб, тут база под 100 гигов уже ужас вызывает
---vagus---; +1 Ответить
37. ---vagus--- 16.09.20 09:53 Сейчас в теме
(29)
ужасы нашего городка :)

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

а если файлы в виде фото и доков, то только объем....
35. luckma 15.09.20 16:19 Сейчас в теме
Если известно, что сканы много места занимают. Возможно есть смысл пережать сканы.
В нашей базе мы прикладывали к каждой серии сканы алко справок А и Б. В итоге я пережимал на лету при загрузке сканов.
Также неплохо сэкономило места объединение JPG в PDF.
36. luckma 15.09.20 16:49 Сейчас в теме
(35)
один из фрагментов, основной интерес convert -density 300 -colorspace Gray.

	
Если Размер > 1048576 ИЛИ Сред(СвойстваФайла.Получить("Bit depth"),1,2)="24" Тогда				
	dpi = Сред(СвойстваФайла.Получить("Horizontal resolution"),2,3);
	Если dpi = "300" Тогда
		СтрокаКоманды = """"+ПутьКВнешнейКомпоненте + ИмяВнешнейКомпоненты +""" convert "+				
		ИмяВременногоФайла +" -colorspace Gray -despeckle -quality 7 "+ИмяВременногоФайлаПолученного;				
	КонецЕсли;			
	Если dpi = "400" Тогда
		СтрокаКоманды = """"+ПутьКВнешнейКомпоненте + ИмяВнешнейКомпоненты +""" convert "+				
		ИмяВременногоФайла +" -density 300 -resize 75%% -colorspace Gray -despeckle -quality 7 "+ИмяВременногоФайлаПолученного;				
	КонецЕсли;						
						
	WshShell=Новый COMОбъект("Wscript.Shell");    
	sReturn = WshShell.run(СтрокаКоманды ,1,True);        
		ЗаменаФайлаВХранилище(ИмяВременногоФайлаПолученного, АдресПриложенногоСкана);					
			УдалитьФайлы(ИмяВременногоФайлаПолученного);			
		КонецЕсли;			

Показать
Оставьте свое сообщение
Вопросы с вознаграждением