Gerenciando informações do usuário com nosql

Não há dados de missão crítica, e não há dados de apoio. Está tudo bem se os seus dados de missão crítica parece um pouco devagar porque você quer ter certeza de que é seguro e devidamente gerida. Mas você não quer que os dados de apoio de sua aplicação para impedir transações globais e experiências de usuário.

Embora os dados de apoio pode ser menor em valor, a sua necessidade de escalar é grande - normalmente, fornecendo entrega de respostas a consultas em menos de dez milissegundos. Muitos desses dados apoio ajuda os usuários acessar um sistema, adaptar um serviço às suas necessidades, ou encontrar outros serviços ou produtos disponíveis.

Entregar anúncios na web

Embora anúncios são fundamentais para empresas que comercializam os seus produtos ou serviços na web, eles não são essenciais para experiências de navegação na Internet muitos usuários. No entanto, o tempo de carregamento de páginas da web é importante para eles, e assim que um anúncio lentamente entregues começa acrescentando tempo de carregamento de uma página, os usuários começam a mover-se para alternativas, mais rápido, sites.

anúncios que servem rápido é, portanto, uma preocupação central. Fazer isso não é um negócio simples, no entanto. Qual anúncio é mostrado para o usuário que depende de um número muito grande de fatores, muitas vezes determinada por fatores como atividade rastreado do usuário on-line, idioma e localização.

As empresas que têm como alvo os seus anúncios para os clientes certos receber mais click-through, e, portanto, mais lucro. No entanto, o negócio de publicidade segmentada é cada vez mais científica.

lojas de valor-chave são usados ​​principalmente por empresas de web publicidade. (Você pode encontrar estudos de caso sobre tal uso em sites de chave-valor NoSQL dos vendedores.) Utilizando o seu software proprietário, essas empresas usam uma combinação de fatores para determinar o que o usuário quer ou está interessado em para que possam direcionar os anúncios para que o usuário eficazmente.

Você pode pensar desta combinação de fatores como sendo um chave, e é essa chave composta que aponta para o anúncio mais atraente. Tudo o que é necessário para servir a propaganda é mantido como o valor dentro de uma loja de valor-chave.

Video: Curso de MySQL – Gerenciamento de Usuários do sistema – Criar, Consultar, Renomear e Excluir

Se você precisa servir rápida de dados com base em um conjunto de fatores conhecidos, em seguida, uma loja de valor-chave é um excelente jogo. Tudo que você precisa fazer é configurar a chave de forma eficaz.

Para configurar a chave, realizar alguma análise offline dos quais anúncios serão relevantes para cada perfil combinado de pessoas. Se a informação que você tem sobre o usuário visitar é o país, idioma e categoria favorita de compras na Amazon, então talvez uma chave apropriada seria UK-Inglês-guitarras.

Isso evita ter que fazer qualquer consultas complexas em tempo de veiculação de anúncios - apenas em vez concatenar estes campos para formar uma chave e pedir o valor dessa chave.

Manipulação de sessões de usuário

Você pode gastar todo o dinheiro que você quer em um datacenter state-of-the-art para seus dados transacionais, mas se o site é lento, as pessoas vão dizer que seu serviço todo é lento. Na verdade, quando empresas e governos lançar novos serviços on-line que não pode lidar com a carga colocada sobre eles, a imprensa os come no café da manhã.



Normalmente, o problema não é que um sistema de processamento primário vai para baixo- vez, é porque identidades ou sessões dos usuários são tratados mal. Talvez o nome de usuário não é armazenada em cache, ou a cada solicitação requer a abertura de uma nova sessão do servidor de aplicativos em vez de de cache esta informação entre os pedidos.

A sessão do usuário pode controlar como um utilizador caminha através de um aplicativo, adicionar dados em cada página. Os dados podem então ser salvos no final desta jornada em um único hit ao banco de dados, em vez de uma seqüência de pequenos pedidos por vários pedidos de página. Os usuários muitas vezes não se importa de esperar alguns segundos depois de clicar em um botão salvar. Fornecendo uma sessão de usuário efetivo em um site que tem baixa latência tem um par de benefícios:

  • O usuário (em breve cliente!) Recebe um bom serviço.

  • Parcialmente dados completos não são salvas para o seu principal banco de dados transacional back-end.

Sites usam um cookie para rastrear a interação do usuário com um site. Um cookie é um pequeno arquivo ligada a uma identificação única, assim como um registro em uma loja de key-value. O servidor utiliza estes cookies para identificar que ele já sabe um usuário em segunda ou subsequente pedidos, de modo que o servidor precisa buscar uma sessão usando esses dados rapidamente. Desta forma, quando os usuários fazem login, os sites reconhecem quem eles são, quais as páginas que eles visitam, e as informações que eles estão procurando.

Video: Curso (Video Aula) de Banco de Dados - SQL e NoSQL - YANAGA - PARTE 1

Esta identificação única é tipicamente um número aleatório, talvez o nosso velho amigo, o identificador único universal (UUID). O site pode precisar de armazenar vários tipos de dados. Normalmente, esses dados é de curta duração - a duração da sessão de um usuário, talvez apenas alguns minutos.

lojas de valor-chave são, portanto, ideal para armazenar e recuperar dados de sessão em altas velocidades. A habilidade de lápide (Que é excluir) dados uma vez por timestamp for excedido também é útil. Desta forma, a aplicação não precisa verificar o timestamp da sessão em cada pedido - se a sessão não está no banco de dados, tem sido desactivados. Assim, a sessão não é mais válido, que remove alguns dos encargos administrativos do programador da aplicação.

apoiar personalização

Semelhante à exigência user-sessão, mas de maior duração, é o conceito de personalização serviço do usuário. Isto é onde a aplicação front-end é configurado pelos utilizadores para as suas necessidades específicas.

Novamente, isto é um tipo secundário front-end de dados, e não os dados transaccionais primárias dentro de um sistema. Por exemplo, imagine que você tem um banco de dados principal mostrando os níveis de trabalho para toda a sua equipe, o caso atual arquivos que estão trabalhando, e todos os dados relacionados. Estes são os dados principais da aplicação. Talvez ele é armazenado em um banco de dados relacional Oracle ou um banco de dados documento MarkLogic NoSQL.

A utilização dos dados pode variar. Por exemplo, um usuário pode querer exibir um resumo de apenas carga de trabalho de sua equipe, enquanto um gerente pode querer acompanhar todos os funcionários em uma equipe.

Esses usuários estão recebendo diferentes visões personalizadas dos mesmos dados. Estas preferências de visualização precisa ser salvo em algum lugar. Você provavelmente não quer sobrecarregar seu banco de dados caso com esta personalização data- que é específico para a aplicação front-end, não o núcleo do sistema de gestão de processos.

Usando uma loja de valor-chave com uma chave composta contendo identificação de usuário (não sessão id) e o nome do serviço permite armazenar as configurações de personalização como um valor, que faz pesquisas muito rápido e impede o desempenho de seus sistemas primários de ser afetado negativamente .


Publicações relacionadas