Концепция Data Mesh. Принципы, идеи, применение на практике
С чего началась наша компания? В первую очередь, конечно, с людей и с идеи. Как это обычно бывает, правильные люди абсолютно случайно познакомились друг с другом, и вот я здесь, сижу и пишу этот пост =) Была, однако, и ещё одна очень важная составляющая — данные.
Любой ML-проект начинается с анализа ландшафта доступных данных — что мы можем скачать, выгрузить, разметить, купить. За четыре года наша культура работы с данными, инструментарий, подходы, процесс разметки претерпели очень большие изменения. Сейчас у нас накоплено почти 100 терабайт медицинских исследований, но количество данных абсолютно не важно, если они плохого качества, и их неудобно изучать, понимать и использовать. Недавно я делал обзорный доклад про разные аспекты качества медицинских данных, а вот наше выступление про технические аспекты пути к качеству. Сегодня же я хочу поговорить об очень интересной концепции (или даже философии), которая в последнее время на слуху, но, судя по разным постам в интернете, её суть понятна далеко не всем. Это Data Mesh.
Впервые я столкнулся с этим понятием в докладе Леруа Мерлен на митапе LeanDS. Доклад любопытный, но суть дата меш мне из него была понятна не до конца, так что недавно я взялся за чтение книги от авторки этой концепции и термина — Data Mesh: Devlivering Data-Driven Value at Scale.
Книга мне очень понравилась — она концептуальная, почти не затрагивает конкретные инструменты и способы реализации, но раскрывает суть идеи целиком и полностью. Полный конспект я могу скинуть в комментариях, если кого-то заинтересует, а в этом посте я поговорю об основных принципах, моей интерпретации и самых интересных моментах для нашей компании.
Основные принципы

Дата меш родился как ответ на господствующие концепции работы с данными в data-driven организациях — Data Warehouse и Data Lake. Их объединяет идея централизованности. Все данные стекаются в некое центральное хранилище, откуда уже их могут забирать для своих целей разные команды. Безусловно, свои плюсы у этого есть — можно оптимизировать перфоманс, проще устранять дублирование, легко находить нужные данные, ведь они все находятся в одном месте. Но для поддержки всего этого добра нужна выделенная (и обычно немаленькая) команда дата-инженеров с особым набором скиллов, при росте количества источников и разнообразия данных становится всё сложнее обеспечивать их бизнес-качество, пайплайны по трансформации становятся всё сложнее и сложнее. Дата меш предлагает решать эти и другие проблемы на основе четырёх главных принципов:
1) Domain-oriented ownership — данными владеют доменные команды, а не централизованная дата-команда. Домен — это часть организации, выполняющая определённую бизнес-функцию, например, в нашем случае это могут быть продуктовые домены (маммография, флюорография, КТ органов грудной клетки) или домен по работе с врачами-разметчиками.
2) Data as a product — данные воспринимаются не как статичный датасет, а как динамичный продукт со своими пользователями, метриками качества, бэклогом развития, за которым следит выделенный продакт оунер.
3) Self-serve data platform. Основная функция дата-платформы в дата меш — это устранять лишнюю когнитивную нагрузку. Она позволяет разрабам в доменных командах (data product developers и data product consumers), которые не являются спецами по работе с данными, удобно создавать дата-продукты, билдить, деплоить, тестить, обновлять их, получать к ним доступ и использовать в своих целях.
4) Federated computational governance — вместо централизованного управления данными создаётся специальный федеративный орган, состоящий из представителей доменных команд, дата-платформы и экспертов (например, юристов и врачей), который устанавливает глобальные политики в области работы с данными и обсуждает развитие дата-платформы.
Мои мысли
Центральный и самый интересный концепт дата-меш для меня — это дата-продукт. Дата-продукт отличается от обычного датасета динамичностью и автономностью. В отличие от датасета дата-продукт по умолчанию инкапсулирует в себе всё, что нужно для понимания и использования данных:

- Трансформационный код. Это может быть простая агрегация данных или сложная ML-модель.
- Источники данных. Дата-продукт трансформирует какие-то данные. Это могут быть данные от приложения или данные от других дата-продуктов. Он может их получать по pull-модели (например, раз в сутки) или асинхронно по мере их появления.
- Разные представления данных. Разные группы пользователей могут хотеть получать доступ к данным в разных формах — это зависит от их целей и компетенций. Например, дата-саентисты хотят датафреймы или JSON-структуры, а аналитики и менеджеры — дашборды и визуализации. За эти представления отвечает сам дата-продукт.
- Дата-тесты. Качество данных невозможно обеспечить без тестов — насколько данные полны, есть ли в них откровенно грязная разметка или технические ошибки.
- Документация. Это может быть текстовое описание, картинки или код с примерами использования.
- API с метриками. Пользователям интересно понимать состояние дата-продукта — когда он последний раз обновлялся, насколько свежие данные он использует, дескриптивные статистики. Дата-продукт предоставляет всю эту информацию с помощью стандартизированного API.
- Декларация необходимых ресурсов. Дата-продукту могут быть нужны особые ресурсы — GPU-инстансы, CPU-инстансы, хранилище и так далее. Разработчикам неохота париться и самим разбираться в нюансах инфраструктуры — за них это делает платформа (похожий подход используется, например, в кубере).
Да, на разработку и поддержку таких продуктов нужно больше усилий, чем просто на создание какого-то датасета, но он может принести значительно больше ценности. К тому же, дата-платформа как раз и направлена на упрощение процесса разработки и использования дата-продуктов.
Конечно, большинство примеров в книге и сама концепция дата-меш кажется больше ориентированной на крупные бизнесы с большим количеством доменов и большим разнообразием и объемом источников данных, которые генерятся в ходе разных бизнес-операций — например, взаимодействия клиентов с приложением. Тем не менее, многие идеи и подходы, описанные в книге мне кажутся достойными внимания — дата-продукты, доменное владение данными и вообще доменная ориентированность и кросс-функциональность, дата-платформа, федеративная команда, отказ от централизованных пайплайнов, документация и метрики качества, внедренные в сами данные.
Примеры дата-продуктов в Цельсе
Некоторые аспекты дата меш с недавних пор у нас уже существуют или находятся в процессе создания — например, федеративная команда с представителями разных доменов, дата-платформа, упрощающая работу с данными, ответственность за качество данных на доменных командах. Какие же дата-продукты мы можем создать на этом фундаменте?
1) Размеченные данные. Это наша главная ценность и ресурс. Дата-продукты, предоставляющие размеченные данные, могут быть ответственны за их перевод в нужные форматы, автоматический EDA, фильтрацию плохих данных и агрегацию информации о разметке.
2) Активное обучение. Эти дата-продукты могут реализовывать различные алгоритмы активного обучения и предоставлять команде разметке или ML-командам информацию об актуальности неразмеченных исследований для разных версий моделей.
3) Анализ качества работы врачей. Врачи — тоже люди, они обладают разными компетенциями, могут быть невнимательными или ошибаться. Такой дата-продукт автоматизирует часть работы по анализу качества работы разных разметчиков.
4) Shadow Models. Хорошая практика перед релизом новой версии модели или при сравнении кандидатов на релиз — погонять их на реальных данных с потока и проанализировать нюансы работы. Дата-продукт может автоматически деплоить нужные модели в тестовые среды, генерировать и агрегировать их предсказания.
5) Анализ качества изображений. ML-командам, команде разметки и аналиткам часто нужна информация о качестве самих медицинских изображений. Для их оценки можно использовать специальные ML-модели и эвристики.
В заключение хочу отметить, что я ни в коем случае не претендую на полное понимание дата меш, да и до полноценного внедрения нам ещё плясать и плясать. Если вы обнаружили ошибки, нелепости или неточности в посте — буду рад обсудить их в комментариях =)
Если вы хотите узнать ещё больше об организации процессов ML-разработки, подписывайтесь на наш Телеграм-канал Варим ML
Кстати, мы ищем дата-инженера [ссылка удалена модератором] . Если вы или ваши друзья хотят поработать с медицинскими данными — пишите в личку @crazyfrogspb
- data mesh
- цельс
- жека никитин
- машинное обучение
- медицинские данные
BIG DATA КАК ОСНОВНАЯ КОНЦЕПЦИЯ СОЗДАНИЯ BI — СИСТЕМЫ Текст научной статьи по специальности «Экономика и бизнес»
Аннотация научной статьи по экономике и бизнесу, автор научной работы — Хагурова М.П., Чиназирова С.К., Водождокова З.А., Гишева С.Ш.
В данной статье детально проанализированы функции BI-системы в маркетинговом предприятии. Проанализирована концепция Big Data, также выявлено, что при большом количестве данных можно делать прогнозы, на основе изучения поведенческих факторов, позволяющие предложить релевантные предложения для пользователей.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по экономике и бизнесу , автор научной работы — Хагурова М.П., Чиназирова С.К., Водождокова З.А., Гишева С.Ш.
Технологии Big Data в сервисе: новые рынки, возможности и проблемы
АНАЛИЗ УПРАВЛЕНИЯ КОНКУРЕНТОСПОСОБНОСТЬЮ ОРГАНИЗАЦИИ
СПЕЦИФИКА ЦЕНООБРАЗОВАНИЯ В ИННОВАЦИОННОЙ СФЕРЕ
ТРАНСФОРМАЦИЯ ФОРМ ЗАНЯТОСТИ В УСЛОВИЯХ ЦИФРОВИЗАЦИИ ЭКОНОМИКИ
МЕТОДЫ ОЦЕНКИ РИСКОВ ИННОВАЦИОННЫХ ПРОЕКТОВ
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
BIG DATA AS A BASIC CONCEPT CREATING BI SYSTEMS
This article analyzes in detail the functions of a BI system in a marketing enterprise. The concept of Big Data was analyzed, and it was also revealed that with a large amount of data, it is possible to make predictions based on the study of behavioral factors, which allow us to offer relevant offers to users.
Текст научной работы на тему «BIG DATA КАК ОСНОВНАЯ КОНЦЕПЦИЯ СОЗДАНИЯ BI — СИСТЕМЫ»
BIG DATA КАК ОСНОВНАЯ КОНЦЕПЦИЯ СОЗДАНИЯ BI — СИСТЕМЫ
кандидат экономических наук, доцент кафедры математики, физики и системного анализа ФГБОУ
ВО «Майкопский государственный технологический университет»
доцент, кандидат экономических наук, доцент кафедры экономики и управления ФГБОУ ВО
«Адыгейский государственный университет»,
кандидат экономических наук, доцент кафедры учета и финансирования ФГБОУ ВО
«Адыгейский государственный университет»
доцент, кандидат экономических наук, доцент кафедры экономической теории и управления персоналом ФГБОУ ВО «Адыгейский государственный университет»
BIG DATA AS A BASIC CONCEPT CREATING BI SYSTEMS
Candidate of economic Sciences, Associate Professor of the Department of Mathematics, Physics and Systems Analysis of the FGBOU VО «Maykop State Technological University»
Associate Professor, Candidate of Economic Sciences, Associate Professor of the Department of Economics
and Management FGBOU VO «Adyghe State University»
Candidate of Economic Sciences, Associate Professor of accounting and finance FGBOU VO
«Adyghe State University» Gisheva S.
associate Professor, candidate of economic Sciences, associate Professor economic theory and personnel
management FGBOU VO «Adyghe State University»
В данной статье детально проанализированы функции BI-системы в маркетинговом предприятии. Проанализирована концепция Big Data, также выявлено, что при большом количестве данных можно делать прогнозы, на основе изучения поведенческих факторов, позволяющие предложить релевантные предложения для пользователей. Abstract
This article analyzes in detail the functions of a BI system in a marketing enterprise. The concept of Big Data was analyzed, and it was also revealed that with a large amount of data, it is possible to make predictions based on the study of behavioral factors, which allow us to offer relevant offers to users.
Ключевые слова: BI-системы, рекламные кампании, яндекс директ, Big-Data, визуализация данных. call-центр, социальные сети.
Keywords: BI systems, advertising campaigns, Yandex direct, Big-Data, data visualization. call center, social networks.
Актуальность исследования состоит в том, что в настоящее время в условиях жесткой конкуренции в производстве, в продажах как розничной, так и оптовой возрастает роль маркетинга. За последнее время большая часть компаний внедряет информационные технологии, для повышения и отслеживания эффективности маркетинговой составляющей.
Несмотря на информационный прогресс общества, широкий ассортимент программных инструментов аналитики, стоит вопрос о выборе оптимального программного обеспечения маркетинга для удобного анализа данных. BI включают в себя программы планирования маркетинга, удовлетворяет аналитическим запросам всей вашей маркетинговой организации, от старших руководителей до рядовых сотрудников. С BI-системами, любой отдел маркетинга аналитики может строить комплексные профили клиентов, идентифицировать
уникальные сегменты клиентов, анализировать ключевые показатели кампании и, следовательно, проводить более эффективные маркетинговые кампании [2].
В основу создания BI-системы положена концепция Big Data. Большие Данные, на сегодняшний момент, являются одним из ключевых драйверов развития информационных технологий. Это направление, относительно новое для российского бизнеса, получило широкое распространение в западных странах. Связано это с тем, что в эпоху информационных технологий, особенно после бума социальных сетей, по каждому пользователю интернета стало накапливаться значительное количество информации, что в конечном счете дало развитие направлению Big Data.
Термин «Большие Данные» вызывает множество споров, многие полагают, что он означает лишь объем накопленной информации, но не стоит
забывать и о технической стороне, данное направление включает в себя технологии хранения, вычисления, а также сервисные услуги.
Сфера использования технологий Больших Данных обширна. Так, с помощью Больших Данных можно узнать о предпочтениях клиентов, об эффективности маркетинговых кампаний или провести анализ рисков. Ниже представлены результаты опроса IBM Institute, о направлениях использования Big Data в компаниях.
С маркетинговых позиций технологии Big Data позволяют найти скрытые взаимосвязи, новые источники информации; повысить качество и оперативность принимаемых решений по персонализа-ции клиентских предложений, удержанию клиента; разработать новые уникальные услуги.
Маркетинговые службы, используя продукты Big Data, могут разработать и реализовать различные инновационные сценарии взаимодействия с клиентами. В качестве примера рассмотрим только три из них.
Первый сценарий предусматривает применение технологий Big Data на этапе сбора и анализа сведений о поведении клиента на сайте предприятия, изучения истории его операций, данных из социальных сетей используя эту информацию, система управления маркетинговыми коммуникациями готовит персональные рекламные предложения, которые отправляются клиенту предприятия по наиболее эффективному каналу (письмом по электронной почте, sms, используя рассылку, социальные сети и т.п.) [5].
Второй сценарий предполагает оперативную маркетинговую реакцию на интерес клиента к определенному продукту/ услуге предприятия. На основе анализа данных о посещении клиентом сайта предприятия и страницы по заинтересовавшей его услуге система управления маркетинговыми коммуникациями формирует персонализированное предложение по данной услуге. Это предложение клиент получит при переходе на другой сайт, размещающий контекстную рекламу, или на свои странички в социальных сетях.
В третьем сценарии технологии Big Data используются для анализа телефонных разговоров операторов call-центра с клиентами. При этом оператору оперативно в процессе разговора предоставляется необходимая информация предыдущей истории отношений с клиентом, формируются подсказки, позволяющие уточнить запросы клиента и побуждающие его к определенным действиям.
Таким образом, применение технологий Big Data, эффективное использование всего объема информации позволяет байкам увеличить выручку и уменьшить отток клиентов за счет повышения эффективности маркетинговых кампаний и создания индивидуальных предложений.
Для розничной торговли важна скорость обработки постоянно обновляющихся огромных массивов данных. Американская сеть Guess, продающая джинсовую одежду и аксессуары, применяет технологии Big Data, чтобы отслеживать информацию о
продажах и движении товаров. Используемая семью система HP Verlica анализирует какие товары хорошо продаются; выявляет товары, не пользующиеся спросом; определяет комбинации совместно приобретаемых товаров. При этом актуальная информация о продажах предоставляется сети магазинов на утро следующего дня. Совместно с системой HP Vertica используется приложение для планшетных компьютеров, позволяющее дизайнерам и менеджерам (непрофессиональным потребителям аналитики) использовать полученные результаты на своих рабочих местах [1].
Сеть супермаркетов Wal-Mart применяет технологии Big Data для решения задач прогнозирования спроса, оптимизации цен, разработки акций и маркетинговых кампаний, собирая и анализируя 2,5 петабайт данных в час.
Крупнейшая международная сеть супермаркетов Tesco использует технологии Big Data для работы с покупателем непосредственно в торговых точках. В ее магазинах внедряется программное обеспечение, реализующее технологии распознавания лиц (face recognition). Оно позволяет при приближении покупателя на мониторе транслировать рекламу, предназначенную для соответствующей потребительской аудитории.
В России компания «Глория Джинс», занимающаяся производством и продажей одежды, начала анализировать Big Data, чтобы обеспечить своевременные поставки товаров в более чем 600 магазинов в 9 часовых поясах. Центральный офис находится в Ростове-на-Дону. Из неё происходит управление 9 региональными представительствами, 7 логистическими комплексами и 48 фабриками. «Глория Джинс» — вертикально-интегрированный ритейлер, специализируется на дизайне, производстве и продаже модной молодежной и взрослой одежды, обуви и аксессуаров под брендами Gloria Jeans и Gee Jay через собственную сеть магазинов в 319 городах России и Украины.
Для построения системы управления базами данных выбрана платформа HP Vertica.
В ходе тестирования она показала скорость обработки данных, в разы превышающую показатели конкурентных решений. Так, сложные отчеты, которые на других платформах выполнялись в течение четырех часов, HP Vertica выполняла за 20 секунд. Это позволило существенно повысить производительность труда сотрудников.
Руководство компании «Глория Джинс» считает [4], что оперативные решения являются важнейшим конкурентным преимуществом в быстро меняющемся мире моды. Анализ данных в реальном времени поможет принимать быстрые и точные бизнес-решения, основанные на актуальных данных, что в конечном счете приведет к улучшению бизнес-показателей и повышению удовлетворенности покупателей.
Анализ практики применения Big Data в розничной торговле, проведенный специалистами компании IBS [3] показывает, что внедрение современных решений Big Data по сбору, обработке, ана-
лизу и предоставлению данных позволяет розничным предприятиям и сетям оптимизировать цены и работать с ассортиментом, совершенствовать логистические процессы, эффективнее управлять запасами и транспортными потоками. Современные технологии анализа больших данных дают возможность оперативно решать аналитические задачи, используя как накопленный массив информации, так и данные о текущих продажах.
У маркетинговых служб розничных сетей появляются новые возможности анализа данных о лояльности покупателей. При этом сведения о покупках позволяют точнее сегментировать клиентскую базу для рекламной рассылки. Объединение этих сведений с данными из социальных сетей дает дополнительную информацию об интересах покупателя и помогает формировать персонифицированные рекламные предложения.
Таким образом, суть больших данных состоит в том, что нужно собирать большое количество информации, обработать ее, также вводить нужные алгоритмы. Big Data способна с помощью алгоритмов, выводить подсказки и делать прогнозы, на основе анализа большого количества данных.
1. Ашинова М.К., Чиназирова С.К. Цифровая стратегия развития экономики региона // Colloquium-journal №19(43), 2019 Cz^sc 6, PP.49-51
2. Ашинова М.К., Березинских С.А., Чиназирова С.К. Оптимизация производственного бизнес-процесса как метод управления производством на предприятии // Colloquium-journal №19(43), 2019 Cz^sc 6, PP.51-54
3. Кочаров Г. В. В проектах Big Data надо быть готовым работать за процент от достигнутого экономического эффекта. URL: http ://bigdaata. cnews.ru/reviers/index. shtmal?2013/12 /10/552982 (дата обращения 3.11.2020)
4. Бабурин В. А., М. Е. Яненко — Технологии Big Data в сервисе, новые рынки, возможности и проблемы — научная статья 2014, СПбГЭУ — 5 стр.
Лидер и лидерство
Елена Корнеева,
Главный редактор журнала «ПРАВОсоветник»
С незапамятных времен люди пытались понять концепцию лидерства, какими качествами должен обладать истинный лидер, чтобы влиять на окружающих его людей и коллективы. Одним из первых, кто поднял вопрос о природе лидерства, был Сократ. К сожалению, Сократ не оставил письменных трудов, но два человека из его круга — Ксенофонт и Платон – независимо друг от друга свидетельствуют, что по его учению лидерство приходит к тому, кто знает, что делать в данной ситуации. На сегодня существует большое число концепций и теорий, но основной вопрос остается: качества лидера являются врожденными или существует возможность обучения лидерству?
С каждым годом все больше компаний осознают, что эффективность и успешность их деятельности зависит от того, насколько силен их лидерский потен-циал. Все чаще звучат вопросы, где искать людей, которые благодаря своим знаниям и лидерским качествам смогут определять направление перемен и добиваться реализации поставленных задач.
К сожалению, четкого ответа на поставленные вопросы дать не сможет никто, но определить направление действий можно, изучив существующие концепции лидерства, и, опираясь на них, строить эффективную систему преобразований и развития компании, как с точки зрения бизнеса, так и с точки зрения роли в нем личности лидера.
Основные концепции лидерства. Теория черт личности
Суть теории черт личности сводится к попыткам выявить набор желательных или обязательных психологических черт личности лидера и говорит о лидерстве как о врожденном качестве.
Следуя своим врожденным качествам, в силу особенностей своего характера лидер естественным образом проявит себя в любой ситуации.
Приверженцы данной концепции выделили перечень качеств, которые, по их убеждению, присущи исключительно прирожденным лидерам.
Этот перечень слишком велик, но можно выделить основные характеристики лидера: рассудительность, инициатива, предвидение, энергия, целостность характера, напористость, умение общаться с людьми и влиять на них, решительность, надежность, эмоциональная устойчивость, честность, честолюбие, увлеченность, объективность и сотрудничество.
Основной проблемой данной теории является смещение фокуса с обучения лидерству на естественный отбор, т. е. отрицается как таковая возможность обучения лидерству. Но полностью отрицать влияние на проявление лидерства черт характера тоже нельзя. Обобщая вышесказанное, можно сделать важный вывод, что, обладая данными чертами характера, человек может и не стать лидером, но без их наличия лидером он не станет никогда.
Ситуативная теория
Здесь лидерские качества рассматриваются не как врожденные, а являются продуктом проявления конкретной ситуации, а именно стоящей перед группой задачей.
Лидеры, функционирующие в разных группах, могут использовать три аспекта власти:
•власть положения, определяемую должностью, званием и занимаемым постом. Простым примером может служить топ-менеджмент любой компании, высшие армейские чины и пр.;
•власть личности, которая заключается в проявлении личной харизмы. Ярким примером харизматических личностей являются Наполеон, Гитлер, Сталин;
•власть знания — профессионального или специального. Лучшим лидером, показавшим власть знания как одну из составляющих лидерства, был Иисус Христос.
Абсолютно понятно, что каждая конкретная ситуация требует лидера с определенным набором черт и качеств личности.
Поэтому по мере изменения ситуации и расширения задач, связанных с развитием общества, экономики и технологий, необходимо соединение этих трех аспектов и добавление общих навыков, таких как лидерство, коммуникации и умение принимать взвешенные решения.
При этом необходимо помнить, что качества, пригодные для решения проблем в одной ситуации, в другой могут оказаться неактуальными, а в третьей и вовсе препятствующими достижению целей.
Теория определяющей роли последователей
Каждый лидер функционирует среди определенных коллективов, где и проявляются его качества как лидера. Группа сама выбирает лидера, который удовлетворяет ее интересы. «Тайна лидера» состоит не в нем самом, а в психологии и запросах его последователей.
Прежде всего для становления лидера имеют значение ожидания группы.
Поэтому третья концепция лидерства определяется как «теория группового подхода» и опирается на рассмотрение лидерства с точки зрения функций, которые удовлетворяют потребностям группы.
Обобщая данную теорию, можно выделить три составляющих ее элемента.
1. Лидер, с присущими ему и проявляющимися качествами личности и характера.
2. Ситуация — частично постоянная либо частично изменяющаяся.
3. Группа, именуемая коллективом последователей, со своими потребностями и ценностями.
В полной мере правильность данной теории проявляется у коллектива, прошедшего стадию формирования команды и корпоративного духа. Именно на стадии формирования коллектива лидеры получают особенно благоприятные возможности влиять и возглавить не только отдельные направления, но и весь коллектив в целом.
Вышесказанному можно подвести итог. Итак, для истинного лидера необходимо:
•осознавать процессы, происходящие в коллективе;
•понимать, какая функция требуется в данный момент;
•обладать навыками эффективного выполнения данной функции.
Реляционная теория («синтетический» подход к лидерству)
В последнее время появилась и получила распространение так называемая реляционная теория, сторонники которой пытаются синтезировать указанные выше подходы и преодолеть их ограниченность.
Недостатком всех предшествовавших теорий объявляется то, что их сторонники просмотрели эффект взаимодействия индивидуальных и ситуационных факторов. Не отрицая важность ситуационного подхода и принимая во внимание, что обладание определенными чертами усиливает для определенной личности возможность стать лидером, сторонники реляционного подхода прибавляют к этим факторам черты и нужды последователей и требуют учитывать взаимодействие всех факторов.
Концепция стилей лидерства
Каждый человек имеет природные склонности или годами выработанные предпочтения в обращении с людьми и поэтому создает вокруг себя определенный «климат». «Климат» в компании определяет ее гибкость, определяет, насколько свободно чувствуют себя сотрудники, чтобы проявлять инициативу и внедрять инновации, их ответственность по отношению к организации, их ощущения, что работа справедливо оценивается и вознаграждается, ясность понимания стоящих перед компанией задач и ее ценностей, определяет преданность общей цели организации и уровень устанавливаемых стандартов.
Консалтинговая компания Hay/McBer провела исследование, какой климат создает непосредственно вокруг себя каждый руководитель, имея в виду под термином «климат» шесть основных факторов, воздействующих на окружающую среду в любой организации (впервые термин определили психологи Джордж Литвин и Ричард Стрингер, а затем уточнил Макклиланд).
Так, опросив почти четыре тысячи топ-менеджеров (их выбрали из базы данных, в которой учтено более двадцати тысяч человек по всему миру), компания Hay/McBer выявила шесть стилей управления, каждый из которых зависит от особенностей так называемого эмоционального интеллекта конкретного руководителя и оказывает воздействие на рабочий климат в компании или подразделении.
Все шесть стилей лидерства оказывают измеряемое воздействие на каждую составляющую климата, но лишь четыре из шести стилей лидерства положительно воздействуют на климат и результаты деятельности компаний.
Для понимания общей идеи концепции стилей рассмотрим более подробно все шесть стилей управления.
Диктаторский стиль
Лидеры–диктаторы требуют немедленного исполнения их указаний. Диктаторский стиль чаще всего оказывается самым неэффективным. Достаточно того, что он разрушает моральный климат организации. Если руководитель принимает максималистские решения, не учитывая мнения подчиненных, все новое погибает в зародыше. Видя неуважение к себе, люди перестают предлагать руководству новые идеи, зная, что ничего хорошего из этого все равно не получится. И точно так же у сотрудников пропадает чувство ответственности за качество своего труда: как только их лишают возможности проявлять инициативу, у них исчезает ощущение сопричастности, и поэтому работа больше не воспринимается как свое личное дело.
Разбирая проблему возникновения финансового кризиса в подразделении одной крупной компании, был сделан вывод, что кроме определенных внешних факторов на возникновение данной ситуации в значительной мере повлияло неадекватное руководство данной структурой.
На начальном этапе руководство структурой строилось на партнерских взаимоотношениях, но постепенно, осознав свои возможности и стоящие за ним силы (родственные отношения с директором), руководитель перестал развивать профессиональные и коммуникативные компетенции и перешел на административно-диктаторский стиль руководства.
Сотрудники подразделения на определенном этапе перестали ощущать себя командой, перестали проявлять инициативу и обращаться за советами к своему руководителю, зная, что их проблемы решены не будут, а исход будет один — виновные наказаны, а проблема временно устранена.
На основе личных собеседований с каждым из сотрудников и анонимного анкетирования сотрудников компании по оценке личных и профессиональных качеств был составлен и внедрен в жизнь план по устранению сложившейся кризисной ситуации.
В основу плана вошли: повышение мотивации сотрудников, перераспределение функций и обязанностей, а также обучение руководителя принципам эффективного лидерства и пересмотра стиля управления (руководитель, как и ожидалось, получил высший балл по применению диктаторского стиля управления и низшие баллы по инициативности, умению контролировать свои эмоции, готовности к изменениям, инновациям, нововведениям).
Диктаторский стиль, конечно, можно применять, но очень осторожно и лишь в чрезвычайных ситуациях. Он совершенно необходим, например, при реструктуризации предприятия или при угрозе враждебного поглощения. Если же руководитель компании полагается исключительно на диктаторский стиль, его пренебрежение моральным духом и чувствами сотрудников окажется губительным в долгосрочной перспективе.
Авторитетный стиль
«Авторитетные» лидеры мобилизуют массы на осуществление своих идей. Сотрудники особенно преданы целям и стратегии организации, когда ее возглавляет именно авторитетный руководитель. Показывая каждому работнику, какой весомый вклад он вносит в общее дело, он задает систему стандартов.
Когда он оценивает работу сотрудника — неважно, отрицательно или положительно — главным критерием становится ее соответствие или несоответствие этим стандартам.
Авторитетный стиль хорош практически в любой ситуации, но особенно — когда бизнес плывет, как говорится, по воле волн. Именно тогда авторитетный лидер может проложить новый маршрут и повести за собой людей, открывая им новые горизонты. Однако при всех своих достоинствах руководитель, придерживающийся авторитетного стиля, не всегда достигает желаемых результатов.
Так, не стоит рассчитывать на успех, если у него в команде работают люди, более искушенные в конкретном бизнесе, чем он сам.
Профессионалы не будут уважать начальника, ничего не смыслящего в деле, за которое взялся. С другой стороны, стоит чуть перегнуть палку и попытаться обуздать подчиненных, тут же разрушится атмосфера равноправия, на которой держится эффективная работа
команды.
Партнерский стиль
Лидеры-партнеры создают атмосферу мира и согласия, устанавливают дружеские отношения. Этот стиль управления полностью ориентирован на людей, и для его приверженцев любой сотрудник важнее любых задач и целей.
Лидер-партнер старается, чтобы его подчиненные были счастливы и пребывали в состоянии гармонии. Добивается он этих целей, налаживая крепкие эмоциональные узы между сотрудниками, и награда ему — страстная преданность подчиненных.
Этот стиль положительно сказывается на взаимодействии. Люди, которые нравятся друг другу, делятся своими идеями и вдохновением. Для коллектива, возглавляемого лидером-партнером, характерны доверие между коллегами-друзьями, готовность к нововведениям и рискованным действиям, гибкость.
Партнерский стиль руководства хорош во всех случаях, но особенно — когда важно поддержать мир и согласие, поднять моральный дух в коллективе, наладить общение или восстановить подорванное доверие.
Демократичный стиль
Лидеры-демократы вовлекают всех в процесс работы и добиваются единства во взглядах. Выслушивая мнения сотрудников о решениях, касающихся их работы, лидер-демократ тем самым возлагает на них ответственность и добивается большей гибкости. Узнав о том, что беспокоит его работников, он понимает, что нужно сделать для поддержания морального духа.
Наконец, поскольку люди сами участвуют в определении своих целей и стандартов для оценки успеха, они могут вполне трезво оценить, что реально осуществить, а что нет. Но у демократичного стиля есть свои недостатки. Самое неприятное его последствие — бесконечные собрания, на которых по десять раз обсуждаются одни и те же идеи.
Демократичный стиль оказывается наиболее эффективным, когда руководитель не знает, какой путь лучший, и нуждается в совете сотрудников-профессионалов. Но если у лидера-демократа есть четкое представление о конечной цели,
он может предложить неожиданные способы ее достижения. Демократичный стиль управления гораздо менее успешен, когда работники недостаточно компетентны или информированы и не могут помочь своему начальнику дельным советом.
Образцовый стиль
Лидеры, предпочитающие образцовый стиль, показывают подчиненным личный пример и ждут от них отличной работы и целеустремленности.
Применять образцовый стиль нужно очень выборочно, хотя отличительные признаки образцового стиля достойны уважения: лидер задает высочайшие стандарты работы и на собственном примере доказывает, что их реально соблюдать.
Но проблема в том, что образцовый лидер почти с маниакальным упорством стремится делать все быстрее и лучше и требует того же от подчиненных, всегда находит отстающих и, если они не исправляются, заменяет их другими сотрудниками. На первый взгляд, все это должно привести к впечатляющим результатам. Но на деле такой руководитель лишь разрушает моральный климат в компании. Часто из-за его высоких требований у работников опускаются руки. Кроме того, сотрудникам часто кажется, что начальство не доверяет им и не хочет, чтобы они проявляли инициативу.
Наставнический стиль
Лидеры-наставники готовят всех к успехам в ближайшем будущем. Исследование показало, что наставнический стиль — самый редкий.
Многие руководители признаются, что работа просто не оставляет им времени на обучение подчиненных, хотя иногда достаточно и несколь-
ких «наставнических» бесед. Руководители, игнорирующие этот стиль, отказываются от мощного инструмента положительного воздействия и на климат в компании, и на производительность.
Хотя наставнический стиль ориентирован прежде всего на развитие индивидуальных способностей работников, а не на быстрое решение задач, тем не менее, руководители-наставники добиваются хороших показателей. Главным образом потому, что поддерживают постоянный диалог с сотрудниками и тем самым положительно воздействуют на климат.
***
Выбор стиля руководства прежде всего определяется ситуацией. Чтобы стать и оставаться лидером, необходимо уметь чувствовать ситуацию и избирать тот стиль лидерства, потребность в котором испытывают его подчиненные.
Но, пожалуй, самый важный результат исследования таков: лидеры, добивающиеся лучших результатов, одинаково хорошо владеют несколькими стилями управления.
В заключение, хочется привести альтернативное мнение Джона Адаира, в котором, по моему мнению, тоже есть большая доля правды о лидерстве.
Адаир считал, что «невозможно менять «стиль», который является выражением вашей личности. Стиль не является чем-то осознанным — он формируется естественным образом, или подсознательно, по мере того, как вы овладеваете функциями или навыками лидерства…»
Выводы многих исследований гласят: чем больше стилей в арсенале руководителя, тем лучше. Самый хороший климат и самые высокие показатели производительности отмечаются в тех компаниях, руководители которых управляют с помощью четырех и более стилей, особенно если среди них есть авторитетный, демократичный, партнерский и наставнический. Самые успешные руководители умеют почти незаметно переходить от одного стиля к другому в зависимости от ситуации.
Овладение секретами эффективного лидерства — по–прежнему недосягаемая цель многих людей и организаций. Отчасти это объясняется тем, что до недавнего времени никто практически не проводил количественных исследований, которые бы точно показали, какой стиль управления приводит к положительным результатам. Советы экспертов по проблемам лидерства чаще всего основаны на гипотезах, опыте и интуиции — иногда оказываются дельными, но иногда — нет.
Раскрытие стратегий в Entity Framework: рабочий процесс создания модели
.png)
Как технология доступа к данным, спроектированная для того, чтобы удовлетворять требованиям самых разнообразных стилей разработки, Microsoft Entity Framework предоставляет массу вариантов. Некоторые из решений по выбору нужно делать на ранних этапах цикла разработки, и эти решения повлияют на доступность тех или иных вариантов при дальнейшей разработке. В следующих трех статьях в этой рубрике я изложу высокоуровневые принципы принятия некоторых из наиболее важных решений при использовании Entity Framework:
- рабочие процессы Code First, Model First или Database First для создания концептуальной модели;
- отложенная (lazy), явная (explicit) или интенсивная (eager) загрузка;
- Plain Old C# Objects (POCO) или EntityObjects;
LINQ to Entities или Entity SQL.
При разработке приложения приходится принимать гораздо больше проектировочных решений, но эти вопросы относятся к числу наиболее часто задаваемых разработчиками, приступающими к внедрению Entity Framework в существующие или новые приложения.
Здесь я поясню рабочий процесс создания концептуальной модели, а в следующих двух статьях мы рассмотрим остальные три вопроса.
Три варианта создания концептуальной модели
Entity Framework опирается на концептуальную модель сущностей вашей предметной области, называемую Entity Data Model (EDM), и выбор того, как создавать эту модель, является самым первым шагом. Вы можете выбрать один из трех рабочих процессов:
- Database First — вы начинаете с существующей базы данных и используете мастер для генерации на ее основе концептуальной модели;
- Model First — вы начинаете с нуля. С помощью визуального дизайнера (EDM Designer) проектируется EDM, а затем на ее основе генерируется схема базы данных;
- Code First — вы начинаете с классов, которые описывают вашу концептуальную модель. В этом случае визуальная модель отсутствует.
Database First: начинаем с существующей базы данных
На первой итерации Entity Framework у нас не было всех упомянутых вариантов. Единственный способ создания модели заключался в обратном проектировании существующей базы данных для преобразования в EDM, которое мы назвали моделированием Database First («сначала база данных») (рис. 1).
.png)
Рис. 1. При использовании Database First модель генерируется на основе существующей базы данных
На самом деле, вероятно, вы не раз видели такое. Вы открываете EDM Wizard, указываете ему существующую базу данных, выбираете, какие таблицы, представления, хранимые процедуры и пользовательские функции должны быть представлены в модели, потом щелкаете кнопку Finish. И тут же рождается модель. При подходе Database First модель начинает свою жизнь как виртуальное отражение базы данных (или ее подмножества, выбранного вами). Даже не прикладывая больше никаких усилий, разработчики все равно получат выигрыш от Entity Framework. Вы можете писать строго типизированные запросы к этой модели, и Entity Framework будет выполнять запросы за вас, материализуя строго типизированные объекты из набора результатов. Затем, когда вы работаете с результатами, Entity Framework отслеживает изменения и позволяет сохранять их в базе данных простым вызовом команды SaveChanges.
Для некоторых разработчиков больше ничего от Entity Framework и не понадобится, но в таком случае они упускают одно из самых больших преимуществ создания модели — возможность сделать ее более похожей на предметную область (классы и их связи, определенные в приложении), чем это позволяет база данных. Настройка модели — крайне важная особенность EDM, о которой не знают многие разработчики и никак ею не пользуются. Вы можете вводить в эту модель иерархии наследования, изменять структуру сущностей, объединять/разделять их и т. д.
При подходе Database First вы можете получить лучшее из двух миров: использовать существующую базу данных для очень быстрого создания модели, а затем изменять эту модель, чтобы она точнее отражала предметную область вашего приложения.
Model First: начинаем с визуальной модели
У вас не всегда будет в наличии база данных. Подход Model First позволяет проектировать модель в дизайнере и создать на основе этой модели схему вашей базы данных. Вы можете создавать свои сущности и их свойства, определять отношения и их ограничения, а также формировать иерархии наследовании прямо в дизайнере. Вы даже можете указать, какие свойства станут идентификационными ключами (identity keys) и должна ли база данных сама генерировать их значения (рис. 2).
.png)
Рис. 2. При использовании Model First вы проектируете модель, применяемую для генерации схемы базы данных
Функция Create Database from Model в EDM Designer на самом деле не создает базу данных — она генерирует SQL-код, при выполнении которого будет определена схема базы данных. Этот SQL-код имеет формат Data Definition Language (DDL).
Вы должны понимать несколько не вполне очевидных вещей. Поддержка Model First введена вVisual Studio 2010 и Microsoft .NET Framework 4. Вы не найдете Create Database в Visual Studio 2008. Кроме того, поскольку это новая функция, вам потребуется обновить используемый провайдер ADO.NET Data (например, System.Data.Sql) до версии, где эта функция уже поддерживается. Провайдер Microsoft SQL Server был обновлен при выпуске .NET 4; также были обновлены некоторые сторонние провайдеры.
Будьте готовы к тому, что в случае Model First инкрементальные обновления схемы вашей базы данных по умолчанию не осуществляются. При использовании соответствующей функции вы получите совершенно новый DDL-скрипт, который удалит и заново создаст все объекты базы данных. Модифицировать схему базы данных, не перезаписывая ее полностью, помогут внешние инструменты. В ином случае вы наверняка захотите либо заранее создавать резервную копию данных, либо написать скрипт, регенерирующий ваши тестовые данные при каждой модификации модели и повторном создании схемы базы данных.
Visual Studio предоставляет точку расширения в процессе генерации базы данных, которую можно использовать с помощью Entity Designer Database Generation Power Pack от Microsoft. Данный пакет можно скачать из Visual Studio 2010 Extension Manager или по ссылке visualstudiogallery.com. Это расширение позволяет не только вносить инкрементальные изменения в базу данных при использовании подхода Model First, но и изменять исходное сопоставление наследования Table Per Hierarchy или даже создавать собственные правила генерации DDL.
Code First: начинаем с кода и отказываемся от физической модели
При подходах Database First и Model First вы в конечном счете получаете физическое представление вашей EDM вместе с дополнительными метаданными. Исходный формат этой модели — XML. Он хранится в файле с расширением .edmx, и вы можете работать с ним в EDM Designer или как с чистым XML-кодом. В период выполнения Entity Framework считывает этот XML и создает представление модели в памяти, используя специализированные классы, представляющие метаданные — сущности, отношения и др. Исполняющая среда Entity Framework работает с этими объектами, а не с самим XML-файлом. Эти метаданные особенно важны, когда Entity Framework нужно преобразовывать запросы к модели в запросы к базе данных и получаемые наборы результатов в экземпляры сущностей, а также создавать команды базы данных для операций вставки, обновления и удаления. Visual Studio сгенерирует классы вашей предметной области из XML для последующего использования в приложении.
TГруппа Entity Framework предложила способ создания необходимых объектов метаданных в период выполнения без физического EDMX-файла. В этом и заключается мощь третьего рабочего процесса создания модели для Entity Framework, который назвали Code First. При Code First вместо EDM вы создаете классы своей предметной области — так, как вы делали бы это в любых других .NET-разработках. В период выполнения Entity Framework будет анализировать эти классы и, используя набор соглашений по умолчанию, формировать в памяти модель, с которой сможет работать исполняющая среда Entity Framework. Поскольку ваши классы не всегда будут естественным образом предоставлять информацию, необходимую Entity Framework для создания этой модели, вы можете создать дополнительную конфигурацию (с помощью декларативных атрибутов и/или аннотаций данных либо программно с помощью текучего [fluent] API) для более детального описания модели, переопределяя упомянутые выше соглашения. Вы можете использовать конфигурацию для широкого спектра задач, связанных с моделью, — от идентификации основных ключей, не соответствующих соглашениям Code First, до тонкой настройки отношений или даже определения того, как следует представлять иерархию наследования.
Как и в Model First, в Code First по умолчанию предполагается, что у вас нет существующей базы данных, и предоставляется возможность создать базу данных на основе логически построенной модели. Но в отличие от Model First вы можете создать как файл базы данных, так и схему. В Code First у вас по-прежнему нет способа сохранить информацию базы данных, если вы модифицируете модель и заново генерируете базу данных. Однако Code First позволяет распознавать различия между моделью и базой данных, а также инициализировать базу с помощью определенных данных, используя инициализаторы базы данных.
Вы также можете использовать Code First с существующей базой данных. Если имена ваших класса и свойств не соответствуют содержимому базы данных, можно обойти эту проблему, добавив аннотации данных или конфигурацию через текучий API. На рис. 3 показан класс с атрибутами, которые заставляют Code First обеспечивать сопоставление с корректными именами таблицы и свойств, даже если имена класса и его полей не имеют точного совпадения с ними.
Рис. 3. Класс с атрибутами Code First, обеспечивающими корректное сопоставление этого класса с существующей таблицей
[Table("SalesOrderDetail", SchemaName="SalesLT")] public partial class Detail < // Скалярные свойства [Column(Name = "SalesOrderID")] public int OrderId < get; set; >[Column(Name = "SalesOrderDetailID")] public int DetailId < get; set; >public short OrderQty < get; set; >public int ProductId < get; set; >public decimal UnitPrice < get; set; >public decimal UnitPriceDiscount < get; set; >public decimal LineTotal < get; set; >public System.DateTime ModifiedDate < get; set; >// Навигационные свойства public virtual Product Product < get; set; >public virtual Order Order < get; set; >>
Дерево решений
Благодаря эволюционному развитию Entity Framework теперь поддерживает разнообразные стили разработки, но это требует от нас понимания возможных вариантов, чтобы делать правильный выбор в той или иной ситуации. Если вы предпочитаете UI для модели, используйте EDM Designer независимо от того, приступаете вы к созданию модели на основе существующей базы данных или выбираете подход Model First. Если вы делаете все программным способом и не хотите зависимости от EDMX-файла или визуального дизайнера, ваш выбор — Code First (рис. 4).
.png)
Рис. 4. Дерево решений
| Prefer Visual Designer? | Предпочитаете визуальный дизайнер? |
| Code First | Code First |
| No | Нет |
| Yes | Да |
| Existing Database? | Существующая база данных? |
| Model First | Model First |
| Database First | Database First |
Заключение
Какую бы методику моделирования вы ни выбрали — Database First, Model First или Code First, после создания модели вы не заметите никакой разницы, когда начнете выдавать запросы, взаимодействовать с сущностями и сохранять их, используя исполняющую среду Entity Framework через классы модели. Кроме того, можно начать с одного рабочего процесса, а затем переключиться на другой. Вы можете создать классы Code First из EDMX с помощью шаблона DbContext Code Generation. И даже, хотя это не так-то просто, создать EDMX из классов Code First.
Я предоставила высокоуровневый обзор различных вариантов и того, в каких случаях один вариант предпочтительнее другого. Надеюсь, мне удалось снять покров тайны с некоторых методик моделирования.
В последующих статьях мы обсудим другие важные решения, которые вам придется принимать при разработке приложений Entity Framework: выбор стратегии генерации кода для EntityObjects или POCO, способы загрузки релевантных данных (интенсивная, отложенная или явная) и написание запросов с применением LINQ to Entities или Entity SQL.
Джули Лерман (Julie Lerman) — Microsoft MVP, преподаватель и консультант по .NET, живет в Вермонте. Часто выступает на конференциях по всему миру и в группах пользователей по тематике, связанной с доступом к данным и другими технологиями Microsoft .NET. Ведет блог thedatafarm.com/blog и является автором очень популярной книги «Programming Entity Framework» (O’Reilly Media, 2009). Вы также можете читать ее заметки в twitter.com/julielerman.
Выражаю благодарность за рецензирование статьи эксперту Тиму Лэверти (TimLaverty).