ДжазТим — надежный технологический партнер

Agile разработка ПО на Java

BIG DATA-система формирования отчетности

Описание проекта

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

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

Техническое описание

Заказчик использует базу данных Oracle, которая содержит большое количество записей. Сложная структура базы и большое количество данных приводили к тому, что формирование отчетов на основе этих данных происходило достаточно медленно. Задача команды ДжазТим состояла в сокращении времени формирования отчетов, при этом не изменяя существующую структуру данных.

На этапе технического анализа было принято решение использовать OLAP подход и внедрить хранилище аналитических данных, не изменяя при этом существующую базу данных Oracle. Отобрали трех кандидатов:

  • Mongo DB
  • Cassandra
  • Druid

Каждую систему нагружали реальными данными и замеряли тестами показатели производительности. Наилучший результат показала система Apache Druid. Ее архитектура хорошо подходит для быстрого формирования отчетов из большой базы данных.

На следующем этапе мы разработали прототип на основе связки:

Oracle + Java + Spring + Spring Batch + JUnit + Apache Droid 

Прототип выполнял следующие операции:

  1. Выгрузка данных из Oracle Database.
  2. Загрузка данных в Apache Druid.
  3. Формирование отчетов.
  4. Дополнение и корректировка существующих отчетов.

Заказчик был удовлетворен успешным тестированием и демонстрацией результатов на прототипе.

Технологии

Язык программирования: Java
Фреймворки: Spring, Spring Batch, JUnit
Базы данных: Oracle Database, Cassandra, MongoDB, Apache Druid.
Облачный сервис: Amazon Web Services.

Скриншоты

Особенности проекта

  • Работа с production данными, соблюдение норм GDPR.
  • Создание юнит-тестов в ограниченное время по различным NoSQL базам данных (Cassandra, MongoDB, Apache Druid).
  • Генерация отчетов в режиме реального времени.
  • Возможность обновления старых отчетов новой информацией.
  • Сжатые сроки разработки.
  • Работа над проектом велась с соблюдением Scrum-процессов.

Результат проекта

  • Выполнен сравнительный анализ производительности нескольких Big Data систем для конкретного практического применения.
  • Создана быстрая интерактивная система по формированию необходимых отчетов.
  • Функционал реализованной системы полностью соответствует требованиям заказчика.
  • Реализована возможность просмотра и обновления ранее сгенерированных отчетов.
  • Заказчик признал успешными все итерации проекта.

Достижения компании на проекте

Специалистами ДжазТим были изучены существующие результаты исследований по тематике проекта, а также проведен собственный сравнительный анализ нескольких способов трансформации и хранения данных. При этом была обеспечена целостность и безопасность данных заказчика.

Свяжитесь с нами, чтобы обсудить Ваш IT-проект

    Имя *

    Название компании

    Email *

    Телефон

    Чем мы можем Вам помочь? *

    * – Обязательные поля для заполнения