Быстрое онлайн-приложение для хранения данных

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

онлайн-приложение для хранения данных

Бизнес-задача

У заказчика имелось большое хранилище самых точных экономических данных, включающих ключевые экономические показатели и отраслевые тенденции в разных странах, которые обновлялись практически мгновенно и обеспечивались квалифицированными специалистами на местах в разных странах. Главной задачей было создание быстродействующей системы, которая могла бы обрабатывать около 15 миллионов записей, поступающих в разное время из различных стран. Система должна была давать доступ к данным 500 000 пользователей одновременно.

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

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

Решение

Команда XB Software создала хранилище данных c высокой производительностью, в котором огромное количество данных обновляется мгновенно при повышенной пользовательской нагрузке. Нашим разработчикам удалось создать масштабируемое веб-приложение, используя самые современные технологии. Логика приложения реализована при помощи Node.js и JavaScript. Система состоит из нескольких Node.js серверов для равномерного распределения нагрузки.

Приложение использует поисковые платформы Apache Solr, которые позволяют полностью проиндексировать записи и сделать их доступными для поиска, а также способствуют быстрому поиску данных в проиндексированных документах по любым ключевым значениям. Первый поисковый движок Solr напрямую связан с MongoDB и используется для поиска по кэшу записей. Второй поисковый движок Solr заполняется актуальными данными из mySQL посредством Java. Эти данные индексируются с помощью SolrJ.

Благодаря использованию Java, возможно проведение сложных математических вычислений. Для создания высоко структурированных баз данных, наши программисты использовали mySQL, MongoDB и Redis. Java сервер обрабатывает данные из базы данных mySQL.

Для генерации предпросмотра каждого созданного проекта был использован PhantomJS.

Для структурирования и визуализации большого количества данных мы использовали разнообразные библиотеки, такие как Backbone Framework, Bootstrap, препроцессор SCSS, Webix, JQuery, Underscores и Highcharts. Если говорить более конкретно, то для создания таблиц использовались Webix Pivot Table и JQuery Datatable, чарты были сделаны с помощью инструмента Highcharts, а карты — при помощи Highmaps.

Для упорядочения программного кода всего приложения на клиентской стороне мы использовали Backbone Framework.

Для создания привлекательной структуры приложения и других компонентов пользовательского интерфейса использовался Bootstrap. Он также применялся для создания popup-окон и тултипов.

С помощью веб-сокетов (WebSockets) было организовано обновление данных в реальном времени. Что касается серверной стороны, она была реализована с помощью ifnode.

Результат

Команда разработчиков XB Software создала высокопроизводительную систему хранения данных, которая соответствует требованиям заказчика. Она была реализована в качестве облачного решения, расположенного в веб-сервисе Amazon EC2.

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

Созданное приложение имеет простой и удобный интерфейс, а также поддерживает работу на тач-устройствах. Оно отлично работает на планшетах с операционными системами iOS и Android.

Заказчик

Заказчиком является британская компания, основанная командой опытных экономистов и аналитиков. Данная компания является одним из крупнейших поставщиков статистических данных больших объемов в различных сферах. Она предлагает удобный сервис, который помогает экономистам, инвесторам, аналитикам, университетам и компаниям по всему миру в проведении экономических и инвестиционных исследований.