Workspace Digital Awards 2025 — успейте номинировать кейсы по льготной цене до 1 декабря. Принять участие!
Красивое Решение
Приложение для хранения большого объема данных об обучении
Красивое Решение
#Поддержка и развитие сайта#Проектирование сайта#Программирование сайта

Приложение для хранения большого объема данных об обучении

328 
Поделиться:
Приложение для хранения большого объема данных об обучении
Клиент

Под NDA

Бюджет

2 200 000

Сфера

Обучение

Регион

Россия, Уфа

Сдано

Декабрь 2017

Задача

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

Решение

Нужно было определить единый формат данных, учитывая, что каждый учащийся совершает множество действий (посещает уроки, получает оценки), и по разным действиям структура информации будет разной. К тому же объем информации очень большой: совокупная численность учащихся – более 1 000 000 человек. Эти данные нужно хранить, и их количество будет постоянно увеличиваться. Для составления отчетов по разным срезам придется считать данные в режиме реального времени.

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

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

Мы также разделили разные задачи приложения по разным серверам. Первый – принимает данные и обрабатывает, второй – сохраняет все входящие данные в БД MongoDB, а третий – готовит данные для отчетов, сохраняет их в базу tarantool и выдает по запросам.

Результат

Отчеты формируются быстрее 0,1 секунды. Заказчик получил нужную систему, а коллеги смогли сдать проект в целом.


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

Хотите заказать похожий проект?

Красивое Решение с удовольствием обсудит вашу задачу

Оставить заявку