Существует две основные архитектуры, которые вы можете выбрать для истинного масштаба:
1.Архитектура «BI»
2.Архитектура «NoSQL»
- (Необязательно) Журнал событий или постоянное хранилище событий каналы
- База данных NoSQL (например, Cassandra ,Riak, HBase) фиды
- Пользовательский интерфейс аналитики (например, с использованием D3.js )
Неизменяемое хранилище событий или журналпотому что в большинстве случаев вы хотите выполнять пакетные аналитические события и выполнять массовые обновления базы данных (даже с чем-то вроде HDFS), а не делать атомарную запись для каждого просмотра одной страницы и т. д.
Для SnowPlow , наша аналитическая платформа с открытым исходным кодом, построенная на Hadoop и Hive, все журналы событий сначала собираются на S3, а затем пакетно загружаются в Hive.
Обратите внимание, что "архитектура NoSQL" будет включатьизрядно больше работы по развитию.Помните, что с любой архитектурой вы всегда можете осколковать клиента, если объемы вырастают по-настоящему эпичными (миллиарды строк на клиента) - потому что нет необходимости (я предполагаю) для аналитики между клиентами.