Лучшая практика для управления данными анонимных пользователей
Я ищу любые подсказки о рекомендуемых или просто опробованных и протестированных способах связывания данных с анонимным пользователем в веб-приложении. Я хочу, чтобы данные были доступны пользователям в течение нескольких сеансов, поэтому сохраните их в базе данных.
Очевидно, что для идентификации этого пользователя мне понадобятся какие-то cookie-файлы, особенно меня интересует, как управлять связью между этим анонимным идентификатором и фактическими данными. Пока что я изучаю два варианта:
- Создание постоянного анонимного пользователя с каждым уникальным посетителем. Таким образом, мои данные не должны заботиться о том, принадлежит ли они анонимному пользователю или зарегистрированному, они просто принадлежат пользователю.
- Иметь какую-то оболочку / менеджер для данных, которые используют свое уникальное значение cookie для связи с данными.
Главная проблема с #1 - количество создаваемых пользователей. Запускать сценарий каждые 24 часа для очистки таблицы было бы легко, но я все еще мог бы создавать тысячи (надеюсь!) Строк в день, сохраняя их, скажем, 14 дней, что приведет к большому. С помощью #2 мне нужно создать анонимную / основанную на cookie инфаструктуру, специфичную для данных, но что происходит, когда у меня есть другие наборы данных, которые нуждаются в той же функциональности.
Есть ли у кого-нибудь лучшие рекомендации о том, как это можно сделать? Я работаю в ASP.NET MVC с NHibernate, но были бы полезны концепции и идеи для любой платформы.
2 ответа
Сохранять анонимного пользователя не имеет смысла по двум причинам:
- Здесь сегодня прошло завтра. Вы останетесь с множеством осиротевших рядов, которые вам придется время от времени разгребать
- Сохранение в БД подразумевает, что вы можете сделать много настроек для этих пользователей, что является плохой идеей, потому что все это зависает от cookie
Я бы предложил использовать куки не только для их отслеживания, но и в качестве хранилища данных. Или второй вариант, где вы обрабатываете их отдельно от зарегистрированных пользователей.
Я бы, наверное, пошел к случаю 1. Несколько тысяч строк в день - это небольшой объем данных, а не то, о чем вам следует беспокоиться. Это звучит как один из тех случаев, когда вы просто работаете и беспокоитесь о производительности позже (вероятно, никогда).
Вы, вероятно, никогда не сможете это выяснить и все равно никогда не столкнетесь с проблемами