0. newgluk 83 06.09.14 21:23 Сейчас в теме

Использование механизма разделения данных вместо RLS

RLS, как известно, подтормаживает систему. 1С уже давненько реализовала механизм разделения данных, но до сих пор он не используется в типовых конфигурациях. Интересно, почему?

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Aleksey_3 06.09.14 23:23 Сейчас в теме
А разве можно указать у пользователя "список областей"?
3. AlX0id 07.09.14 13:52 Сейчас в теме
(1) Aleksey_3, нет. Разве что хитровыдуманными комбинациями разделителей обходиться.

По теме: разделение - механизм в общем-то совсем простой, но сильно узкоспециализированный. Если пользователям нужно что-то быстро разделить - можно использовать. НО предупредить заранее о том, что можно будет поделить, а что - нельзя.
4. Aleksey_3 07.09.14 14:54 Сейчас в теме
(3) Вот и я о том же, т.е. смысла особого использовать разделитель именно как замену RLS нет, ну кроме если заводить 20 пользователей на каждую Область
Баба Маня _ ООО "1"
Баба Маня _ ООО "2"
Баба Маня _ ИП
и т.п.

Т.е. это вещь в себе, и 1С сделали именно для себя (ну или мы еще не доросли до этой музыки).
7. AlX0id 08.09.14 10:36 Сейчас в теме
(4) Aleksey_3,
Ну как вещь в себе.. Надо мне справочник поделить - поделю именно разделителем ) Зачем мне гемор в виде продумывания системы ролей в таком случае?
А то, что люди хотят взять очень сложную систему типа УПП и на раз-два поделить все ее данные одним разделителем, да еще и иметь при этом общие области данных.. Ну не удивительно, что ничего не получилось..
Orlando Skibraves; BabySG; +2 Ответить
2. script 215 07.09.14 01:47 Сейчас в теме
Спасибо первопроходцам.
ZLENKO; cleaner_it; Gang031; +3 Ответить
5. zqzq 19 08.09.14 10:19 Сейчас в теме
Производились замеры производительности базы без RLS и с RLS по организациям? А то может и проблем особых нет, и не надо было ничего изобретать.
19. newgluk 83 17.09.14 11:04 Сейчас в теме
(5) zqzq,
RLS заметно подтормаживает, но до замеров с цифрами дело не дошло. Админы меняют платформу виртуализации, на Hyper-V по предварительным замерам существенно быстрее, но это уже совсем другая история.
6. alex_4x 81 08.09.14 10:23 Сейчас в теме
За статью спасибо.
Жаль что в 1С делают такие кривые механизмы платформы.
8. the1 456 08.09.14 11:36 Сейчас в теме
(0) А на предыдущем Инфостарт.Конф так красиво все расписывалось... Хотя все-таки делался акцент на привязку к облакам.
9. vdscom 19 08.09.14 14:29 Сейчас в теме
приходилось ранее использовать механизм разделения данных - режим "Независимо и совместно" - как раз по вышеописанной причине - совместный учет нескольких организаций в одной базе и нежелание использовать RLS. конфигурация "УТП для Украины".

столкнулся с рядом проблем (список формирую по памяти):
1. нельзя разделить объекты метаданных с предопределенными элементами (план счетов, например) - отсюда следует и невозможность разделения регистра бухгалтерии.
2. ошибки при проведении документов в режиме управляемых блокировок. пришлось этот режим отключить
3. некритичные ошибки в стандартных бух. отчетах (если память меня не подводит, связанные с чтением/сохранением настроек отчета)
4. поскольку регистры бухгалтерии не разделяются, то транзакционные ошибки могут возникать также и в том случае, когда пользователи разных организации пытаются одновременно провести документы
5. необходимо дорабатывать логическую структуру конфигурации - предопределенные элементы справочников, по мнению бухгалтеров разных организаций, должны иметь "свои" значения реквизитов
6. ну и просто периодически возникающие ошибки типа "Ошибка SDBL"
wondermaker; pt_olga; +2 Ответить
10. AlX0id 08.09.14 14:38 Сейчас в теме
(9) vdscom,
2. ошибки при проведении документов в режиме управляемых блокировок. пришлось этот режим отключить.

Это ж насколько вас РЛС достало, что аж в автоматический режим перешли? ) Имхо, лучше остаться на управляемых блокировках, но с РЛС, чем наоборот )
11. vdscom 19 08.09.14 15:47 Сейчас в теме
(10) AlX0id,
автоматический режим - это вынужденная мера, предпринятая в ожидании того, что 1с исправит явные ошибки механизма разделения данных. почему вообще решил использовать режим разделения ?.. посчитал его удобным и перспективным, но не учел, что технология сырая и, к сожалению, 1с не сильно горит желаниям ее отлаживать.

даже с учетом тех недостатков, с которыми мне пришлось столкнуться (2.5 года назад примеров использования механизма разделения данных я в открытых источниках не нашел, поэтому все "шишки" набивал самостоятельно) - считаю, что в определенных (не массовых) случаях этот механизм можно применять
12. PiccaHut001 08.09.14 19:56 Сейчас в теме
(11) vdscom, Впрочем, как и всегда, 1с облажалась.
13. BabySG 08.09.14 19:05 Сейчас в теме
Никакого ошутимого ускорения не получилось бы.
Что разделитель, что организация - это отдельная колонка. Ну, не будет в RLS ограничения по организации, но в запросе к СУБД условие-то останется! Так что смысла перехода почти нет, не говоря о том, что "за вечер" это не сделать.
Восьмой; zqzq; +2 Ответить
14. AlX0id 08.09.14 21:30 Сейчас в теме
(13) BabySG, ну если организация - это просто колонка, то разделитель - это индексированная колонка, так что ощутимая разница, собственно, есть.
А за вечер толком не сделать - это да.
15. BabySG 09.09.14 08:54 Сейчас в теме
(14) AlX0id, индекс хорошо помогает, когда значение достаточно уникально. В случае подведение под это понятия "организация" - тут этим даже не пахнет. Поэтому выигрыша и не будет (а если учесть затраты на переделку УПП - то будет чистый проигрыш)
16. AlX0id 09.09.14 14:36 Сейчас в теме
(15) BabySG,
Не буду спорить - в конечном счете, чтобы прийти к истине в этом вопросе, нужно производить качественное тестирование, чем, как я понимаю, никто не собирается заниматься )
20. newgluk 83 17.09.14 11:08 Сейчас в теме
(16) AlX0id,
Не буду спорить - в конечном счете, чтобы прийти к истине в этом вопросе, нужно производить качественное тестирование, чем, как я понимаю, никто не собирается заниматься )

протестировать не получилось - система, увы, неработоспособна)
17. AlX0id 09.09.14 20:50 Сейчас в теме
ЗЫ. Ток что пришлось начать переделывать на РЛС сделанное разделение данных.. Захотелось пользователям общую папочку, понимаишь :(
18. DAnry 7 10.09.14 15:49 Сейчас в теме
Интересная статья. Спасибо автору!
21. Elisy 927 17.09.14 11:56 Сейчас в теме
Описывал свой опыт
http://infostart.ru/public/290219/
Не нашел, как делать общие отчеты по всем разделителям данных. Никто не пробовал строить отчеты, где в один отчет берутся данные с разных разделителей?
22. newgluk 83 17.09.14 12:29 Сейчас в теме
(21) Elisy,
Описывал свой опыт
http://infostart.ru/public/290219/
Не нашел, как делать общие отчеты по всем разделителям данных. Никто не пробовал строить отчеты, где в один отчет берутся данные с разных разделителей?

Я сделал возможность отключать разделение для пользователя (через параметры сеанса, вот формочка: http://infostart.ru/upload/iblock/5fc/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%81%D1­%8F%20%D1%80%D0%B8%D1%81%201.png ). Если разделение включено, то данные с разных разделителей не попадут в отчет, в чем и смысл разделения, ИМХО.
23. BabySG 05.10.14 17:46 Сейчас в теме
(0) Кстати, есть еще такой тонкий момент: пользователь, который может "видеть все", будет работать намного медленнее. Связано это с тем, что индексы просто тупо использоваться не будут.
ZLENKO; newgluk; +2 Ответить
24. newgluk 83 10.10.14 08:42 Сейчас в теме
(23) BabySG, может и не намного медленнее. Индексы вроде как используются. На документы, например, помимо кластеризованного индекса по разделителю и ссылке, создается некластеризованный только по ссылке. И при отключенном разделителе поиск идет по этим двум индексам. Причем именно Seek, а не Scan. Замедление определенное наверное есть, но не критичное, я даже не замерял какое.
25. newgluk 83 10.10.14 09:01 Сейчас в теме
(23) BabySG,
++хотя если накладывать какой-нибудь отбор (кроме как по ссылке), будет Scan c существенным увеличением времени выполнения. А замедление не заметили, поскольку в рабочую базу разделение не попало ...
26. alex_il 01.06.15 13:57 Сейчас в теме
(23) BabySG, Есть такое дело! У нас предприятие из 25 территориально-разнесенных филиалов, внедрили комплексный учет, сейчас 1с 8,2.19.68. Часть справочников общая - контрагенты, номенклатура и т.д., часть у каждого свои. Пользователи филиалов параметром сеанса устанавливают свой разделитель и видят только свое, главный офис через меню "изменить подразделение" может выбрать любой филиал либо "общий режим" в котором видно все. В общем режиме отчеты по регистру бухучета строятся оччччень медленно, пришлось шаманить индексы на уровне субд (постгри). Работает все отлично. Пользователей около 130 одновременно работают, база около 100 Гб.
27. Kamikadze 46 17.11.15 11:10 Сейчас в теме
Думаю вопрос как раз в раздел конференции разработчиков.
28. Glebis 11 19.10.17 10:32 Сейчас в теме
Извините за поднятие старой темы.
А почему при создании общего реквизита-разделителя не помогла установка свойства "значение заполнения" = 1? Зачем лесть в SQL для первоначального заполнения значения реквизита?
30. newgluk 83 21.11.17 13:36 Сейчас в теме
(28) потому что (вы удивитесь) значение разделителя для уже существующих данных не заполнилось
29. nvv1970 21.11.17 08:53 Сейчас в теме
ОМГ. Колоть орехи с помощью 1с не нужно. Используйте инструменты по назначению.
Сама схема работы, описанная в статье, де-факто запрещена 1с в силу ряда причин. Но технически возможна. Филлипов Е. описывает в книге недопустимость такого подхода.
А уж скулем без понимания похерить базу...
РЛС не медленнее разделения. И то и другое делает добавки в запросы. Причем РЛС более гибкий и в части условий и в части индексирования. Создайте правильные роли, индексы и простейшие условия - все будет летать. 1с тут вообще не причем. Все в руках программиста.
31. newgluk 83 21.11.17 13:39 Сейчас в теме
(29) в какой книге Филиппов об этом пишет?
32. nvv1970 21.11.17 19:08 Сейчас в теме
Настольная книга эксперта
3.11, последний абзац
33. newgluk 83 22.11.17 12:41 Сейчас в теме
(32) Филиппов описывает негативные последствия в части производительсти, которые собственно в этой ветке также обсуждались, см. выше. Причем эффекты возникнут при условии, что в базе работают пользователи с отключенным разделителем (в нашем случае, например аудиторы. Но они постоянно в базе не работают и вообще порой просто забирают всю базу к себе.).
Но это неважно, поскольку на момент написания статьи данный подход вообще оказался неработоспособным. Может быть, сейчас платформа в этой части уже работает нормально. А кстати, может быть актуальная платформа сейчас уже создает дополнительные индексы без разделителя. С момента выпуска книги Филиппова прошло несколько лет, этот его пункт вполне может быть устаревшим.
master555; +1 Ответить
34. nvv1970 22.11.17 17:26 Сейчас в теме
(33)
А кстати, может быть актуальная платформа сейчас уже создает дополнительные индексы без разделителя.
Нет, никто так не стал делать. И это правильно. Это нужно сделать полное дублирование всех индексов, просто капут. Выборочно - тоже не вариант.
Не вижу причин не использовать под те же цели РЛС. Можно сделать отдельный индексированный реквизит. С ролями конечно придется повозиться.
35. newgluk 83 23.11.17 07:37 Сейчас в теме
(34)
Можно сделать отдельный индексированный реквизит. С ролями конечно придется повозиться.

вот не хочется возиться)
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Специалист внедрения и сопровождения 1С
Москва
зарплата от 80 000 руб.
Полный день

Product Owner (Менеджер по продукту 1С)
Москва
зарплата от 100 000 руб. до 170 000 руб.
Полный день

Тим лид по разработке 1С (Team Lead 1С)
Москва
зарплата от 100 000 руб. до 200 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству