Banco de Dados

28 dez, 2012

Melhores de 2012 – Aplicativos web eficazes de analytics com Redis

Publicidade

O que tivemos de mais interesse em 2012? Quais foram melhores artigos, as opiniões que geraram maiores discussões? Isso é o que você vai encontrar nessa seleção de artigos que fizemos especialmente para você: os melhores conteúdos de 2012. Já que final e início de ano é sempre um tempo propício para fazer um balanço do que passou e o planejamento para o que ainda virá, esperamos que os artigos publicados aqui te ajudem nisso!

Boas festas e feliz 2013! Um abraço da equipe de Redação do iMasters!

 

Lembro-me de ler sobre uma empresa que se recusou a enviar um recurso para a produção, a menos que ele estivesse ligado às suas estatísticas de back end e registrado em seus padrões de uso e outros indicadores de desempenho importantes de negócios e de tecnologia. Na época, eu pensei que era uma ideia muito legal. O problema: como podemos implementar isso com o mínimo de esforço?

O problema

Precisávamos de uma maneira de armazenar o contador de dados históricos para o nosso serviço Filer Progstr com valores diários e mensais. A estatística diária iria manter os valores do contador (digamos, downloads) dos últimos 30 dias. Uma estatística mensal faria o mesmo, porém para os últimos 12 meses. E nós também queremos uma solução genérica que funcione para todos os tipos de dados: logins de usuários, uso do aplicativo demo, largura de banda.

Por que Redis

Já fiz as implementações mencionadas acima usando bancos de dados SQL (MySQL) e não foi nem um pouco divertido. O mecanismo de armazenamento é estranho – ponha todos os valores em uma única tabela e alinhe-os de acordo com estatísticas de nome e de período. Isso torna a consulta para os dados estranha também. Entretanto, isso não é um empecilho – eu poderia fazer. O verdadeiro problema é atingir seu banco de dados principal algumas vezes em um pedido web, e que é definitivamente um não-não. Depois de ir por esse caminho, a sua solução começa manifestando estatísticas de background writes/increments. Feio, feio, feio.

Continue lendo este artigo e entenda porque Redis é sua melhor escolha (dica: ele mantém todos os seus dados na memória e é ridicularmente rápido)