Я хотел бы написать собственное решение для веб-аналитики и отслеживания действий и использовать его в качестве механизма обратной связи, например. для поиска или предложения контента.
Если бы это было только для короткоживущих данных, я бы использовал какой-нибудь движок NOSQL с ограниченным хранением данных. Но в идеале я хотел бы сохранить долгую историю.
Один хороший подход, который я видел в прошлом, состоял в том, чтобы использовать mysql для хранения, одну таблицу в месяц, при этом старые таблицы конвертировались в формат MySQL ARCHIVE. Для просмотра архивов и сводных данных были реализованы представления MySQL.
Мой вопрос:
Как что-то вроде Google Analytics хранит свои данные? В структурированной базе данных или что-то еще. Каким способом вы бы порекомендовали избежать долговременной потери памяти при сохранении гибкости возможностей запросов?
(меня не беспокоит скорость записи в БД, это будет происходить в асинхронных пакетах, а не в реальном времени)