Архитектура? Бизнес логика отдельно от больших данных - PullRequest
0 голосов
/ 09 января 2019

У меня есть приложение, которое опирается на бизнес-логику для группировки датчиков IOT. Бизнес-логика - это база данных PostgreSQL, которая отслеживает учетные записи, развернутые устройства, конфигурации и т. Д.

Все мы знаем, что эти устройства IOT способны генерировать миллионы точек данных в день. Я не думаю, что я должен хранить «большие данные» внутри PostgreSQL. Даже если бы я это сделал, я бы хотел отделить результаты от бизнес-логики.

У меня также есть необходимость запускать визуализации в «Больших данных». Прямо сейчас я храню «Большие данные» в AWS S3 в виде больших двоичных объектов JSON и визуализирую их с помощью Athena и Quicksite.

Итак, два вопроса.

Во-первых, я на правильном пути, насколько архитектура? Отделение бизнес-логики от «больших данных».

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

1 Ответ

0 голосов
/ 09 января 2019

Нет ничего архитектурно неправильного в том, чтобы иметь два отдельных хранилища данных для двух разных типов данных. Я бы прекратил называть это «бизнес-логикой», так как это не логика, это метаданные.

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

...