AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.10.2019, 08:40   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
dataAreaId не нужен?
Механизм деления данных по компаниям - ключевое отличие Аксапты от других систем.

вкратце:
  1. разработчик может каждую таблицу объявить общей, а может указать что таблица содержит данные по компаниям.
  2. если объявлено, что таблица содержит данные по компаниям, то Аксапта автоматически добавляет поле dataAreaId в таблицу. В дальнейшем Аксапта в любой запрос автоматически добавляет фильтр по этому полю.
  3. консультант на этапе разработки (в классических версиях Аксапты) может включить таблицу в так называемые "виртуальные компании". В этом случае Аксапта записывает/запрашивает в поле dataAreaId не текущую компанию, в которую зашел пользователь, а так называемую "виртуальную". что позволяло использовать не только данные по компаниям, но общие для нескольких компаний данные.

вроде механизм хороший. я не буду приводить плюсы/минусы. отмечу только, что в последних версиях Майкрософт полностью удалил виртуальные компании.

что хотелось бы спросить/обсудить:
кажется, что в современных условиях (докеры, кубернетики и прочие облака) механизм избыточный и слишком нагружающий и SQL server и разработчика.

современное приложение - скорее всего не монолит, а набор REST-овидных сервисов для доступа к данным. причем данные могут хранится у разных провайдеров данных (sql, nosql, несколько инстансов данных).

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

автоматически получаем авторизацию при запросе "другого сервиса".

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

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

плюсы: распараллеливание и масштабируемость, нет принудительной вставки условия в запросы - проще администрирование и разработка.
минусы: производительность, транзационность "интеркомпани" операций

какие плюсы/минусы я пропустил и видите вы?
__________________
полезное на axForum, github, vk, coub.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Для форума нужен дизайнер. mazzy Обсуждение форума 1 28.07.2009 13:38
Нужен сосед программист DAX для Совместного съема жилья :) Andrew Akhmetov Курилка 28 25.11.2008 17:53
'Мама, зачем нужен это сервер?' (с) Microsoft belugin Курилка 13 01.02.2008 20:34
Опрос: Одобрение и репутация: Нужен ли прогрессирующий коэффициент? sukhanchik Обсуждение форума 2 15.02.2006 09:42
Нужен ли нам профсоюз? George Nordic Курилка 38 21.06.2004 13:06
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:48.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.