Gerir Informações de Utilizador com NoSQL

Há missão # dados 8208-críticos, e não há dados de apoio. Tudo bem se sua missão # dados 8208-crítica parece um pouco devagar, porque você quer ter certeza de que é seguro e bem 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 milésimos de segundo. Muitos desses dados de apoio ajuda os usuários a acessar um sistema, alfaiate um serviço para as suas necessidades, ou encontrar outros serviços ou produtos disponíveis.

Entregar anúncios na web

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

anúncios que servem rápido é, portanto, uma preocupação central. Fazer isso não é um negócio simples, porém. Que 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 recebem mais cliques # 8208-throughs, e, portanto, mais lucro. No entanto, o negócio de publicidade segmentada é cada vez mais científica.

Key # 8208 de valor lojas são usados ​​principalmente por empresas de web publicidade. (Você pode encontrar estudos de caso sobre tal uso em sites tecla # 8208 de valor NoSQL dos fornecedores.) 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 de modo que eles podem direcionar anúncios para esse usuário de forma eficaz.

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 tecla # loja 8208 de valor.

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

Para configurar a chave, executar alguma análise off-line 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 Reino Unido # 8208-Inglês # 8208-guitarras.

Isso evita ter que fazer qualquer consultas complexas em tempo de veiculação de anúncios - apenas em vez concatenar esses campos em conjunto 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 estado # 8208-de # 8208-the # datacenter 8208-art para os seus dados transacionais, mas se o site é lento, as pessoas vão dizer que o serviço inteiro é lento. Na verdade, quando as empresas e os 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 jusante 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 pedido requer a abertura de uma nova sessão do servidor de aplicativos, em vez de que o cache esta informação entre as solicitações.

Uma sessão de usuário pode controlar como um usuário anda 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 em uma sequência de pequenos pedidos por vários pedidos de página. Os usuários muitas vezes não se importa espera um par de 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 salvos no seu principal volta # banco de dados transacional 8208-end.

Sites usam um cookie para rastrear a interação do usuário com um site. Um cookie é um pequeno arquivo ligado a uma identificação única, assim como um registro em uma chave # loja 8208 de valor. O servidor utiliza estes cookies para identificar que já conhece 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 reconhecer quem são, quais as páginas que eles visitam, e as informações que eles estão procurando.

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

Key # 8208 de valor lojas são, portanto, ideal para armazenar e recuperar dados da 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, que tem sido desactivados. Assim, a sessão não é mais válido, que remove alguns dos encargos administrativos do programador da aplicação.

apoiando personalização

Semelhante ao usuário # requisito 8208-sessão, mas já # 8208 duração, é o conceito de personalização de serviço do usuário. Isto é onde a frente # aplicativo 8208-end é configurado por usuários para suas necessidades específicas.

Mais uma vez, esta é uma frente # 8208-end tipo secundária de dados, e não os dados transacionais primários dentro de um sistema. Por exemplo, imagine que você tem um banco de dados principal que mostra 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 de documentos MarkLogic NoSQL.

A utilização dos dados pode variar. Por exemplo, um usuário pode querer ver um resumo de apenas carga de trabalho de sua equipe, enquanto um gerente pode querer controlar 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 de dados que é específica para a frente # aplicativo 8208-end, não o núcleo caso # sistema de 8208-gestão.

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

menu