Какую аналитическую платформу выбрать?

Как оптимизировать хранение и обновление атрибутов пользователей в базе данных и одновременно добавить отслеживание поведения пользователей на фронтенде, с возможностью анализа данных и построения графиков без проблем с санкциями и другими ограничениями?
  • 10 июля 2024 г. 19:12
Ответы на вопрос 2
Для таких задач рекомендуется выбрать аналитическую платформу, которая предоставляет возможность хранить и обновлять данные в реальном времени, а также имеет интуитивно понятный интерфейс для анализа данных и построения графиков.

Одним из вариантов может быть платформа Google Analytics, которая предоставляет широкие возможности для сбора и анализа данных, включая отслеживание поведения пользователей на фобрентде. Google Analytics также имеет интеграцию с другими инструментами для анализа данных, такими как Google Data Studio.

Еще одним вариантом может быть использование платформы Mixpanel, которая специализируется на отслеживании поведения пользователей и предоставляет возможности для анализа данных и построения графиков.

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

Теперь по способ хранения, когда ты в базе начинаешь изобретать универсальное хранилище key-entity-value, ты лишаешься значительной доли производительности и контроля за целостностью.

Правильно - заводить по полю в таблице user (лучше создать отдельную 1к1 связью, обслуживать ее будет проще). Если вы привыкли заводить атрибуты из интерфейса, то нет никакой особой разницы, делать это ddl alter table или dml insert (на самом деле есть, если записей миллионы или миллиарды, бд при удалении колонки пересоздает таблицу копированием, и это будет долго), а вот возможность создать индивидуальный индекс на каждый атрибут многого стоит.

Есть ещё варианты, например атрибуты boolean, если нет необходимости в null, можно хранить в отдельной таблице, фактом наличия записи (представь таблицу с единственным полем user_id), очень эффективно, если установленных значений много меньше всех записей.
И помни, если из-за аналитики поднимается нагрузка на основную базу, можно настроить репликации на другую году, и работать по аналитике именно с ней...
Похожие вопросы