Выбор технологии Azure для проекта

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

Я разрабатываю небольшой проект, чтобы лучше познакомиться с технологией Azure, в частности с служебной шиной/концентраторами событий и платформами хранения данных. Система, которую я хочу создать, довольно проста: принять умеренную нагрузку событий (не в масштабе IoT), сохранить их и сделать доступными агрегированные данные, такие как «У пользователя А было N событий типа X за последний день/неделю/месяц/ и т.д.' как отчеты.

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

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

Любые предложения/помощь будут очень признательны.

Джон


person John    schedule 12.11.2015    source источник


Ответы (2)


Джон,

Подходящим выбором будет Azure SQL или, если это окажется слишком дорого, обычный SQL, размещенный на виртуальной машине. Вы можете создать служебную шину Azure для хранения входящих запросов, а затем создать конкурирующих потребителей с одной или несколькими рабочими ролями для отслеживания и обработки сообщений. Каждый потребитель может запустить SQL и сохранить данные в новой таблице, которая создается и "предварительно агрегируется" для вызывающей стороны, или вы можете сохранить информацию в хранилище больших двоичных объектов Azure в структурированном формате, который соответствует вашему инструменту отчетности (например, JSON). . BLOB-хранилище агрегированной информации будет наиболее экономичным и снизит нагрузку на SQL.

Альтернативой может быть HDInsight, который также может собирать информацию в режиме пакетной обработки. Я предполагаю, что выбор между SQL/HDInsight зависит от собственного формата базовой (неагрегированной) информации.

person DanielG    schedule 12.11.2015

Я согласен с Даниэлем. SQL Azure может подойти для ваших потребностей в реляционных данных. Еще один вариант изучения больших рабочих нагрузок для потоковой передачи и аналитики — Azure Data Lake (https://azure.microsoft.com/en-us/solutions/data-lake/)

person Dinesh Murthy - MSFT    schedule 12.11.2015