Uma maneira eficiente de rastrear datas de login do usuário e histórico de IPs

Eu estou tentando controlar o histórico de login do usuário para fins de estatísticas, mas não é claro para mim qual seria a melhor maneira de fazê-lo. Eu poderia ter uma tabela separada que registrasse os usuários e suas estatísticas de login com uma data, mas essa tabela poderia ficar realmente grande. Eu poderia rastrear alguns campos históricos no próprio modelo de usuário / objeto em um campo analisável e apenas atualizá-lo (eles) com algum formato de string delimitado. por exemplo. dividir em:, obter o último, se um código de data incluído não é hoje, adicione um item (data + contagem) caso contrário, incremente, em seguida, salve-o de volta. Pelo menos com essa segunda abordagem, seria fácil remover itens antigos (por exemplo, manter apenas 30 dias de logins diários ou IPs), pois uma tabela separada exigiria uma tarefa para excluir registros antigos.

Eu sou um grande fã de mudanças instantâneas. As tarefas são úteis, mas podem complicar as coisas por motivos de manutenção.

Alguém tem alguma sugestão? Eu não tenho uma solução de armazenamento de dados externo em cache ou nada ainda. Quaisquer ponteiros também são bem vindos! (Eu tenho procurado por perguntas e respostas semelhantes)

Obrigado!

questionAnswers(7)

yourAnswerToTheQuestion