Índice:
Vídeo: [CURSO NOVO] Curso Online de Banco de Dados | Atualize-se com a Next U 2024
Há dados de missão crítica, e há dados de suporte. Está tudo bem se os seus dados de missão crítica aparecer um pouco devagar porque você quer ter certeza de que ele é seguro e gerenciado corretamente. Mas você não quer que os dados de suporte da sua aplicação prejudiquem as transações gerais e as experiências dos usuários.
Embora os dados de suporte possam ter menor valor, sua necessidade de aumentar a escala é excelente - geralmente fornecendo respostas de consulta em menos de dez milissegundos. Grande parte deste suporte de dados ajuda os usuários a acessar um sistema, adaptar um serviço às suas necessidades ou encontrar outros serviços ou produtos disponíveis.
Entregando a web s
Embora s sejam críticos para as empresas que comercializam seus produtos ou serviços na web, eles não são essenciais para as experiências de navegação na Web de muitos usuários. No entanto, o tempo de carregamento das páginas da web é importante para eles e, assim que um anúncio lentamente avançado começa a adicionar ao tempo de carregamento de uma página, os usuários começam a se mudar para sites alternativos e mais rápidos.
Servir rápido é, portanto, uma preocupação fundamental. Não obstante, não é um negócio simples. O que é mostrado a que usuário depende de um número muito grande de fatores, muitas vezes determinados por fatores como a atividade rastreada do usuário on-line, idioma e local.
As empresas que visam seus clientes s para os clientes certos recebem mais click-throughs e, portanto, mais lucro. No entanto, o negócio de publicidade direcionada é cada vez mais científico.
As lojas de valor-chave são usadas principalmente por empresas da web. (Você pode encontrar estudos de caso sobre esse uso em sites de fornecedores de valores-chave do NoSQL.) Usando seu software proprietário, essas empresas usam uma combinação de fatores para determinar o que um usuário quer ou está interessado para que eles possam segmentar s para esse usuário efetivamente.
Você pode pensar nesta combinação de fatores como sendo uma chave , e é essa chave composta que aponta para o mais atraente. Tudo o que é necessário para servir é mantido como o valor dentro de uma loja de valor-chave.
Se você precisa enviar dados rapidamente com base em um conjunto de fatores conhecidos, então uma loja de valor-chave é uma excelente combinação. Tudo o que você precisa fazer é configurar a chave efetivamente.
Para configurar a chave, execute algumas análises off-line sobre quais s serão relevantes para cada perfil combinado de pessoas. Se a informação que você tem no usuário visitante é país, idioma e categoria favorita de compras na Amazon, então talvez uma chave apropriada seja a guitarra inglesa do Reino Unido.
Isso evita ter que fazer consultas complexas no tempo de exibição de anúncios - basta concatenar esses campos juntos para formar uma chave e pedir o valor dessa chave.
Manipulação de sessões de usuários
Você pode gastar todo o dinheiro que deseja em um datacenter de última geração para seus dados transacionais, mas se seu site estiver lento, as pessoas dirão que seu serviço inteiro é lento. Na verdade, quando as empresas e os governos lançam novos serviços on-line que não conseguem 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 desça; Em vez disso, é porque as identidades ou sessões dos usuários são tratadas mal. Talvez o nome de usuário não seja armazenado em cache, ou todas as solicitações exigem a abertura de uma nova sessão do servidor do aplicativo em vez de armazenar em cache essas informações entre os pedidos.
Uma sessão de usuário pode acompanhar como um usuário caminha através de um aplicativo, adicionando dados em cada página. Os dados podem então ser salvos no final desta jornada em um único hit para o banco de dados, em vez de em uma seqüência de pequenos pedidos em vários pedidos de página. Os usuários muitas vezes não se importam em esperar alguns segundos depois de clicar em um botão de salvar. Fornecer uma sessão de usuário efetiva em um site com baixa latência tem alguns benefícios:
-
O usuário (que será o cliente!) Recebe um bom serviço.
-
Os dados parcialmente completos não são salvos em seu banco de dados transacional back-end principal.
Os sites usam um cookie para rastrear a interação do usuário com um site. Um cookie é um pequeno arquivo vinculado a uma ID exclusiva, como um registro em uma loja de valor-chave. O servidor usa esses cookies para identificar que já conhece um usuário em suas solicitações segundo ou subseqüentes, então o servidor precisa buscar uma sessão usando esses dados rapidamente. Desta forma, quando os usuários efetuam login, os sites reconhecem quem são, quais páginas visitam e quais informações estão procurando.
Esta identificação única é tipicamente um número aleatório, talvez nosso antigo amigo, o identificador universalmente único (UUID). O site pode precisar armazenar vários tipos de dados. Normalmente, esses dados são de curta duração - o comprimento da sessão de um usuário, talvez apenas alguns minutos.
As lojas de valores-chave são, portanto, ideais para armazenar e recuperar dados de sessão em altas velocidades. A capacidade de tombstone (que é excluir) dados uma vez que um timestamp é excedido também é útil. Desta forma, o aplicativo não precisa verificar o carimbo de data / hora da sessão em cada solicitação - se a sessão não estiver no banco de dados, ela foi tombstoned. Portanto, a sessão não é mais válida, o que remove alguns dos encargos administrativos do programador de aplicativos.
Suportando personalização
Semelhante ao requisito da sessão do usuário, mas com duração mais longa, é o conceito de personalização do serviço do usuário . Este é o lugar onde o aplicativo front-end é configurado pelos usuários para suas necessidades específicas.
Mais uma vez, este é um tipo de dados secundário de frente e não os principais dados de transação dentro de um sistema. Por exemplo, imagine que você tenha um banco de dados primário que mostre os níveis de trabalho para toda sua equipe, os arquivos atuais sobre os quais eles estão trabalhando e todos os dados relacionados.Este é o principal dado da aplicação. Talvez seja armazenado em um banco de dados relacional Oracle ou em um banco de dados de documentos MarkLogic NoSQL.
O uso dos dados pode variar. Por exemplo, um usuário pode querer visualizar um resumo da carga de trabalho da equipe, enquanto um gerente pode querer acompanhar todos os funcionários em uma equipe.
Esses usuários estão recebendo diferentes visualizações personalizadas dos mesmos dados. Essas preferências de exibição precisam ser salvas em algum lugar. Você provavelmente não quer sobrecarregar seu banco de dados de casos com esses dados de personalização; É específico para o aplicativo front-end, e não o sistema central de gerenciamento de casos.
Usando uma loja de valores-chave com uma chave composta contendo id de usuário (não ID de sessão) e o nome do serviço permite que você armazene as configurações de personalização como um valor, o que torna as pesquisas muito rápidas e impede o desempenho de seus sistemas primários sendo afetado negativamente.