Принципы организации хранилищ данных и их агрегации

Дата публикации:

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

Когда речь заходит о хранилищах данных, важно понимать говорим ли мы о центральном хранилище организации или о хранилище, поддерживающем функциональность определенной промышленной либо заказной управленческой системы. Третий вариант – попытка совмещения двух вариантов в одном, исходя из текущих потребностей бизнеса и возможностей организации.

Два варианта архитектуры

В высшей школе молодых IT-специалистов учат, что существуют две основные концепции проектирования хранилищ данных. Их авторы — Билл Инмон и Ральф Кимбел.

etl

Архитектура “по Инмону” разделяет две области анализа и детальных данных. Такое хранилище декомпозируется на четкие предметные области, которые описывают конкретный объект учёта. С точки зрения моделирования это помогает хранить нормализованные данные в уникальной для каждой области структуре, необходимой для каждой конкретной бизнес-модели. При этом аналитическая отчетность — витрина данных — строится дополнительно: рядом в хранилище или же отдельно (в разных базах данных).

Архитектура “по Кимбелу”, в первую очередь, направлена на обработанные данные для аналитической отчетности (подготовлена платформа для построения витрин данных; схемы называют: “звезда”, “снежинка” или “созвездие”). Такое хранилище содержит несколько уровней агрегированных данных, но при этом область анализа и область детальных данных явным образом не разделяются. Хотя верхние уровни агрегации для оптимизации, как и в предыдущем варианте, могут выделяться. Таким образом, мы получаем комплекс витрин, связанных в единой системе.

Вариант “по Инмону” обеспечивает лучшую масштабируемость и большую гибкость в плане внедрения новых бизнес-задач. Вариант “по Кимбелу” дает возможность быстрее получить результат для анализа, адаптированный под конкретные текущие бизнес-требования.

Практика применения двух архитектур

Возвращаемся к практическому использованию архитектуры при создании решений для финансовых организаций. Построение «по Инмону» оказывается характерным для центрального хранилища. Построение «по Кимбелу» – для функционально-ориентированного.

В JetRuby Agency применяется, как архитектура “по Инмону”, так и “по Кимбелу”. Что называется — в зависимости от целесообразности. Обычно на этапе планирования архитектуры всего интернет-сервиса, происходит и планирование его хранилища данных под конкретные задачи, поставленные заказчиком. Исходя из задач и бизнес-логики, а также с учетом дальнейшей перспективы, создается хранилище с необходимой архитектурой.

business plan

Сегодня, благодаря использованию ElasticSearch, принципиальная разница между выбором той или иной архитектуры отсутствует. Однако если ваши базы данных станут очень тяжелыми, процесс их оптимизации окажется довольно сложным (в наибольшей степени это касается центральных хранилищ). В этой связи, следует рассмотреть функционально-ориентированное хранилище, которое в первую очередь ориентируется на бизнес.

Суть одного из выполненных нами проектов заключалась в раскрытии партнерских сетей и медиа-компаний, проводимых по всему миру. В результате мы успешно реализовали архитектуру “по Кимбелу” и типичное функционально-ориентированное хранилище.

Весь сервис состоял из нескольких логических частей:

  1. Сложная серверная архитектура — больше сотни серверов по всему миру, на которых жили боты, собирающие полезную информацию о целевых ресурсах.
  2. Две БД — с сырыми данными из баз ботов и организованным  функционально-ориентированным хранилищем.
  3. Веб-интерфейс для отображения витрин данных.

Для реализации архитектуры “по Кимбелу” были подготовлены фоновые обработчики, которые агрегировали данные по временному признаку, а уже над ними производились вычисления с последующим выводом на витрину веб-интерфейса.

Кроме того, был создан базовый класс Item для агрегированных данных за час работы ботов и группа классов: Daily, Weekly и Monthly, которые наследовали от базового класса все его методы (являлись точными копиями в плане структур таблиц БД). А уже в зависимости от задачи они дополнялись кастомными методами (если это не требовалось, то весь класс мог состоять всего из одной строчки кода, в которой указывалось имя таблицы БД). Один день работы ботов выливался примерно в 10 ГБ данных в БД, что уже ставило под сомнение  агрегацию “на лету” даже со средствами ElasticSearch.

Правильный выбор архитектуры сэкономил заказчику деньги, а разработчику и потребителю конечных результатов — время.

The relationship between time and money.Conceptual image.

Будьте внимательны и терпеливы, тогда у вас все получится. В противном случае всегда можно обратиться к нам за помощью.

Мы Крым Диджитал

С 2015 года мы предоставляем полный цикл услуг мобильной и веб-разработки клиентам из различных отраслей и разных стран.

Подпишись
на наши новости

Контакты пресс-службы

+ 7 (926) 118-80-32

WhatsApp, Viber, Telegram

Давайте обсудим Ваш проект

или свяжитесь с нами по почте projects@crimeadigital.ru

Нажимая кнопку «Отправить», вы даете согласие на обработку персональных данных

Прошел день карьеры в СевГУ

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая. Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы. Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов — как начать свою карьеру в ИТ? Есть ли возможность совмещать учебу с работой? Кем я смогу стать? Как понять, кем я хочу работать? И многие другие.

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая.

Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы.

Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов - как начать свою карьеру в ИТ?

Есть ли возможность совмещать учебу с работой?

Кем я смогу стать?

Как понять, кем я хочу работать?

И многие другие.

Завершен набор студентов на летнюю практику

Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться — front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.
Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться - front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.

Крым Диджитал приняла участие в стратегической сессии

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня. Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства. Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня.

Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.
Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства.

Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Выпуск курса Software Testing

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing! Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании. Следующий курс намечен на август. Не пропусти анонс записи!

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing!

Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании.

Следующий курс намечен на август. Не пропусти анонс записи!