Мы пытаемся реализовать поток посещений нашей электронной коммерции на AWS. Поток кликов будет отслеживать все действия, совершаемые «анонимными» пользователями. Анонимные пользователи отслеживаются с помощью UUID, сгенерированного во время их первого посещения и сохраненного в файле cookie. Мы использовали пример AWS здесь, чтобы предложить архитектуру решения, как на схеме ниже:
Теперь 2 вопроса:
Различные страницы в электронной коммерции имеют разные данные о посещениях. Например, на странице просмотра элемента мы также хотели бы отправить информацию, связанную с элементом, такую как itemId. Или на странице оформления заказа мы хотели бы, чтобы информация о заказе была привязана к данным о кликах. Должны ли мы иметь отдельные потоки доставки Firehose для разных страниц, чтобы поддерживать пользовательские данные о посещениях? Или мы должны отправить общую запись потока кликов (с возможными нулевыми значениями для некоторых атрибутов) в поток доставки FH?
В какой-то момент наши анонимные пользователи становятся идентифицированными (например, они входят в систему, чтобы мы знали их User_ID). Поэтому мы хотели бы связать {UUID и User_ID}, чтобы иметь возможность иметь представление клиента 360. Должны ли мы рассматривать отдельный поток потока + отдельную корзину S3 для отслеживания сопоставлений UUID + User_ID? Должны ли мы использовать Athena для отображения агрегированных отчетов для клиента 360? Должны ли мы агрегировать данные и создать измерение клиентов в Redshift? Что было бы хорошим решением для этого?
С уважением, Лина
[Обновление]: Является ли следующая диаграмма приемлемым решением вопроса?