Имя: Пароль:
1C
1С v8
Свертка базы данных
,
0 Waterfall1
 
27.08.18
14:12
Есть база размером 450 ГБ. Предложено ее свернуть.
Целями свертки являются:
- ускорение базы,
- уменьшение времени на создание бекапа,
- уменьшение времени развертывания бекапа,
- экономия места на сервере для разработчиков (у каждого есть собственная копия)

из результатов:
быстродействие на ключевых запросах не изменилось
размер базы составил 290ГБ
Не удалялись документы периода "до свертки"

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

Если все-таки делать свертку, то как лучше поступить с битыми ссылками, которые останутся в любом случае, если удалять сами документы.
1 Aleksey
 
27.08.18
14:14
Уж сколько раз твердили миру...
2 piter3
 
27.08.18
14:14
опять 25,уже столько тем было подобных
3 Aleksey
 
27.08.18
14:15
4 Cyberhawk
 
27.08.18
14:19
"Битые ссылки", "быстродействие" - явно не о свертке речь
5 Valkyrie
 
27.08.18
14:22
(3) Крутая ссыль, взял в закладки, спасибо
6 Waterfall1
 
27.08.18
14:22
(3) Спасибо, я читал. Пост скорее чтобы показать тем, кто хочет сворачивать базу, что этого делать не нужно.
Но если есть хоть один позитивный эффект от свертки, то может кто-то что-то да скажет.
7 Waterfall1
 
27.08.18
14:25
(3) Если можно то просветите по секционированию:
Допустим есть учет партий по сериям, списывается товар с партией 2015года. Секционирование по дате, размер секции 6 месяцев.
При выполнении запроса в котором присутствует такая серия sql будет читать все секции вплоть до нужной даты как я понимаю?
8 unregistered
 
27.08.18
14:38
(0) > ускорение базы
Заранее было известно, что это недостижимая цель. Ускорение достигается либо более кардинальным снижением размера базы (что в случае свёртки невозможно), либо вообще другими способами (апгрейд железа, ускорение запросов посредством их переписывания, пересмотр методик и т.п.).

> уменьшение времени на создание бекапа
А тут какая проблема? Бекапы делаются, как правило, по ночам. Необходимость снять копию "прямо сейчас" - крайне река потребность. Для остального есть полные бекапы, инкрементальные бекапы, восстановление из журнала.

> уменьшение времени развертывания бекапа
Единственный реальный довод. Да и он не так уж актуален, учитывая, что значительного (на порядки) снижения объема БД в результате свёртки не добиться. Ваши 35% - уже весьма неплохой результат.

> экономия места на сервере для разработчиков (у каждого есть собственная копия)
При нынешней стоимость хранения Гб данных это даже как-то смешно обсуждать. Сколько человеко-часов было потрачено на свёртку (подготовка, тестовая свёртка, продуктивная свёртка, проверка результатов, сверка итогов и пр. и пр.)? Боюсь, что если перевести эти трудозатраты в деньги, то можно было бы докупить дисков в достаточном количестве.
9 Waterfall1
 
27.08.18
15:03
(8) Пока пройден только этап тестовой свертки и грубой проверки результата.После которого я вижу, что потенциально вреда может быть больше чем плюсов, но "все сворачивают".
10 13_Mult
 
27.08.18
15:10
(9) Многие не сворачивают, а переносят в чистую базу документы сформированные процедурой свертки. И продолжают учёт в новой базе, а старую держат как архив.
11 ptiz
 
27.08.18
15:16
(9) Оценить эффект можно было и до свертки - анализом "сворачиваемых" данных. У нас свертка каждые в 2 года - удаляется примерно 40% данных - считаю это отличным результатом. Без свертки мы бы не выжили.
12 Waterfall1
 
27.08.18
15:31
(11) Документы свернутого периода удаляете? Если удаляете то каким механизмом? И почему не выжили бы?
13 Frya
 
27.08.18
15:45
(6) Пришел новый бухгалтер. Хочет видеть и править только 3 последних года. Просит свернуть базу, поправит остатки на начало 2015 и потом будет наводить порядок.
14 unregistered
 
27.08.18
15:49
(9) > "все сворачивают"

Кто эти "все"? И сколько из них имели реально положительный результат? Свёртка для озвученных в (0) целей не предназначена и бессмысленна.
Реальных причин для свёртки не так уж и много. Это, например, желание "спрятать" старые данные; пересмотр методик ведения учета, которым старые данные никак не соответствуют (условный пример - решили отказаться или наоборот включить учёт по сериям и характеристикам и надо переделать всю номенклатуру - укрупнять или раздробить); исправление косячного учёта, которому мешают старые данные. Ну ещё бывают отдельные особенности учёта - например, большой товарооборот одноразовой номенклатуры или все клиенты одноразовые. Что приводит к непомерному росту соответствующих справочников. Но такие проблемы вовсе не обязательно решать через свёртку.
15 unregistered
 
27.08.18
15:54
(13) > Пришел новый бухгалтер. Хочет видеть и править только 3 последних года. ... и потом будет наводить порядок.

Ключевая фраза в последних словах: "будет наводить порядок".

Это частая и вполне реальная причина для свёртки. И по всей видимости в данном примере бухгалтер отдаёт себе отчёт о возможных проблемах (поправит остатки) и знает для чего конкретно она это делает - будет наводить порядок (то есть планирует пересматривать либо методики и параметры учёта, учётную политику, либо какую-то базовую НСИ и т.п.).
16 ptiz
 
27.08.18
16:13
(12) Удаляем документы постепенно, после свертки, в фоновом режиме (но много места это не дает).
Если б не сворачивали, то сейчас база была бы > 1.5 Тб.
Когда база вылезла за 600гб - sas-hdd уже не справлялись, с тех пор - только SSD (умники с HDD на 7200 оборотов - крутите сами на них такие базы).
17 Waterfall1
 
27.08.18
16:20
(16) Удаление с контролем ссылочной целосности?
Я думал все напрямую удалять и восстанавливать битые ссылки уже после.
18 ptiz
 
27.08.18
16:28
(17) Если заведомо известно, что ссылок быть не может - непосредственно удаляем. Если нет - с контролем, пускай хоть два месяца удаляется. Но уж точно без восстановления битых ссылок.
19 Aleksey
 
27.08.18
16:46
Мы сворачиваем. Базу раз в год, резервы раз в месяц. Но это на оперативной базе которая на 7-ке на дбф.
Аналитическую не режем.

Бухгалтерскую - только когда фирму закрыли (соответсвенно организацию удаляем из общей базы), или когда 1С этого требует (например при переходе с 2-ки на 3-ку)