Lar Finanças Pessoais De um modelo RDBMS para HBase - dummies

De um modelo RDBMS para HBase - dummies

Vídeo: What is BRENNER DEBATE? What does BRENNER DEBATE mean? BRENNER DEBATE meaning & explanation 2024

Vídeo: What is BRENNER DEBATE? What does BRENNER DEBATE mean? BRENNER DEBATE meaning & explanation 2024
Anonim

Se você está enfrentando a fase de design para sua aplicação e você acredita que o HBase seria um bom ajuste, então, projetar suas chaves e esquema de linha para se ajustarem ao modelo e arquitetura de dados do HBase é o abordagem direta. No entanto, às vezes faz sentido mover um banco de dados originalmente projetado para um RDBMS para o HBase.

Um cenário comum em que essa abordagem faz sentido é uma instância de banco de dados MySQL que atingiu seus limites de escalabilidade. Existem técnicas para dimensionar horizontalmente uma instância do MySQL ( sharding, em outras palavras), mas esse processo geralmente é complicado e problemático porque o MySQL simplesmente não foi projetado originalmente para cortar.

A transição do modelo relacional para o modelo HBase é uma disciplina relativamente nova. No entanto, certos padrões estabelecidos de pensamento estão emergindo e se juntaram em três princípios fundamentais a serem seguidos quando se aproxima de uma transição. Esses princípios são desmoralização, duplicação, e chaves inteligentes (DDI) .

  • Denormalização: O modelo de banco de dados relacional depende de um esquema de banco de dados normalizado e b) juntas entre tabelas para responder a operações SQL. A normalização de banco de dados é uma técnica que protege contra perda de dados, redundância e outras anomalias à medida que os dados são atualizados e recuperados.

    Há uma série de regras que os especialistas seguem para chegar a um esquema de banco de dados normalizado (e a normalização do banco de dados é um estudo inteiro), mas o processo geralmente envolve dividir tabelas maiores em tabelas menores e definir relacionamentos entre eles. A desnormalização do banco de dados é o oposto da normalização, onde tabelas menores e mais específicas são unidas em tabelas maiores e mais gerais.

    Este é um padrão comum quando se faz a transição para o HBase porque as junções não são fornecidas em tabelas, e as associações podem ser lentas uma vez que envolvem operações de disco dispendiosas. Proteger contra as anomalias de atualização e recuperação é agora o trabalho do seu aplicativo cliente HBase, uma vez que as proteções que você obteve pela normalização são nulas e sem efeito.

  • Duplicação: À medida que você desmoraliza seu esquema de banco de dados, você provavelmente acabará duplicando os dados porque pode ajudá-lo a evitar operações de leitura dispendiosas em várias tabelas. Não se preocupe com o armazenamento extra (por motivos de curso); Você pode usar a escalabilidade automática do HBase para sua vantagem.

    Esteja ciente, no entanto, de que o aplicativo cliente exigirá trabalho adicional para duplicar os dados e lembre-se de que nativamente o HBase fornece apenas operações atômicas de nível de linha não cruzadas (com a exceção descrita no JIRA HBASE-5229) ou cruzada mesa.

  • Teclas inteligentes: Como os dados armazenados no HBase são ordenados pela chave de linha e a chave de linha é o único índice nativo fornecido pelo sistema, o design inteligente e cuidadoso da chave de linha pode fazer uma grande diferença. Por exemplo, sua chave de linha pode ser uma combinação de um número de pedido de serviço e do número de identificação do cliente que colocou a ordem de serviço.

    Este design de chave de linha permitiria pesquisar dados relacionados à ordem de serviço ou procurar dados relacionados ao cliente usando a mesma linha de linha na mesma tabela. Essa técnica será mais rápida para algumas consultas e evitar juntas de tabela dispendiosas.

Para esclarecer esses padrões particulares de pensamento, leve uma tabela de informações de contato do cliente e coloque-o no contexto de um banco de dados típico de pedidos de serviço. A figura mostra o que um esquema de banco de dados de pedidos de serviço normalizado pode parecer.

Seguindo as regras de normalização de RDBMS, configure a tabela de informações de contato do cliente da amostra para que seja separada da tabela de pedidos de serviço para evitar a perda de dados do cliente quando as ordens do serviço estiverem fechadas e possivelmente excluídas. Tome a mesma abordagem para a tabela Produtos, o que significa que novos produtos podem ser adicionados ao banco de dados da empresa ficcional, independentemente das ordens de serviço.

Ao confiar nas operações de junção RDBMS, este esquema suporta consultas que revelam o número de ordens de serviço que são abertas contra um produto específico, juntamente com a localização do cliente onde o produto está em uso.

Isso é tudo bem e dandy, mas é um esquema que você usaria com o RDBM. Como você transiciona este esquema para um esquema HBase? A figura seguinte ilustra um possível esquema HBase - um que segue o padrão de design DDI.

A tabela de informações de contato do cliente foi desmoronada, incluindo o nome do cliente e informações de contato no lugar das chaves estrangeiras utilizadas anteriormente. Além disso, os dados são duplicados mantendo a tabela de informações de contato do cliente como está. Agora, junta-se na tabela de Pedidos de Serviço e na tabela Informações de Contato do Cliente não são necessárias.

Além disso, foi empregado um design de chave de linha inteligente que combina o número do produto com o número do cliente para formar o número da ordem do serviço (A100 | 00001, por exemplo). Usando essa chave inteligente, a tabela de pedidos de serviço pode fornecer relatórios vitais sobre deficiências de produtos e clientes que atualmente estão enfrentando problemas de produtos.

Todas essas consultas podem ser suportadas pelo HBase em uma forma atômica de nível de linha para a aplicação. Porque você sabe que o HBase ordena chaves de linha e classifica-as de forma lexicográfica, sua aplicação pode fazer certas suposições educadas sobre localidade de dados ao emitir varreduras para relatórios. (Todos os números de produtos da série A * serão armazenados em conjunto, por exemplo.)

O banco de dados de serviço representado pelo esquema HBase é um exemplo relativamente simples, mas ilustra como o HBase pode, em certos casos, se cruzar com o mundo RDBMS e fornecer um valor significativo. Se a empresa de ficção tem terabytes ou mesmo petabytes de dados de chamadas de serviço para armazenar, a HBase faria uma enorme diferença em termos de custo, confiabilidade, desempenho e escala.

Você, claro, pode projetar seu esquema HBase de ordem de serviço de várias maneiras diferentes. É certo que o design tudo depende das consultas que devem ser suportadas, mas você tem a capacidade de transição de bancos de dados relacionais para aplicativos HBase muito poderosos para uso em produção, desde que você trabalhe com uma compreensão sólida da arquitetura HBase e do padrão de design DDI.

Este exemplo assumiu que as consultas foram realizadas por um aplicativo Java aproveitando as APIs do cliente HBase, ou talvez por meio de outro idioma usando o Apache Thrift. Este modelo de aplicação pode caber os requisitos apenas bem e fornecer opções úteis e de desempenho para a empresa de serviços de ficção.

De um modelo RDBMS para HBase - dummies

Escolha dos editores

ASVAB Paragraph Comprehension Practice - dummies

ASVAB Paragraph Comprehension Practice - dummies

Um dos subtestes que você verá no ASVAB é o teste de compreensão de parágrafos. Esta parte do ASVAB está voltada para ver se você entende o que você lê. Exemplo de perguntas Parágrafo Tempo de compreensão: 13 minutos para 15 perguntas Instruções: A compreensão de parágrafo é o quarto subtesto no ASVAB. As perguntas são projetadas para ...

ASVAB Preparação: Números positivos e negativos - manequins

ASVAB Preparação: Números positivos e negativos - manequins

Certifique-se de que esteja familiarizado com o trabalho positivo e negativo números para o ASVAB. Os números podem ser positivos ou negativos. Um número positivo é qualquer número maior que zero. Então, 4; 3. 2; 793; 3/4; 1/2; e 430, 932, 843, 784 são todos números positivos. Números inferiores a zero são números negativos. Cada número positivo tem um negativo ...

ASVAB Dicas de compreensão de leitura - manequins

ASVAB Dicas de compreensão de leitura - manequins

As abordagens de compreensão de parágrafo no ASVAB geralmente são bastante curtas. Essas dicas podem ajudá-lo a compreender melhor as passagens de leitura ASVAB e as perguntas que as seguem: Compreenda o que a questão quer de você. Solicita o ponto principal, informações específicas ou uma conclusão baseada na informação apresentada? Releia o parágrafo ...

Escolha dos editores

A diferença entre análises analógicas e digitais - manequins

A diferença entre análises analógicas e digitais - manequins

Toda a eletrônica pode ser dividida em duas grandes categorias: analógico e digital. Um dos exemplos mais comuns da diferença entre dispositivos analógicos e digitais é um relógio. No relógio analógico, o tempo é representado por mãos que giram ao redor de um disco e apontam para uma localização no mostrador que representa ...

O papel dos átomos na eletrônica - dummies

O papel dos átomos na eletrônica - dummies

Os átomos são os blocos de construção básicos de tudo no universo, seja natural ou manmade. Eles são tão pequenos que você encontraria milhões deles em uma única partícula de poeira. A corrente elétrica, às vezes conhecida como eletricidade, é o movimento na mesma direção de partículas microscópicamente pequenas e eletricamente carregadas, chamadas elétrons. Cada átomo contém o ...

Roles de prótons e elétrons - dummies

Roles de prótons e elétrons - dummies

É Uma propriedade de certas partículas, como elétrons, prótons , e quarks (sim, quarks) que descreve como eles interagem uns com os outros. Existem dois tipos diferentes de carga elétrica, um pouco arbitrariamente chamada positiva e negativa (bem como as quatro direções cardinais são chamadas norte, sul, leste e oeste). Em geral, partículas que carregam ...

Escolha dos editores

Acesso 2007 All-In-One For Dummies Cheat Sheet - dummies

Acesso 2007 All-In-One For Dummies Cheat Sheet - dummies

Trabalhando no Access 2007 é mais fácil uma vez que você entenda executar a janela do Access 2007 e usar ferramentas para ajudar a gerenciar seus dados e responder suas perguntas.

Arrumando suas mensagens com o Lotus Notes 6 - manequins

Arrumando suas mensagens com o Lotus Notes 6 - manequins

Antes de enviar uma mensagem de e-mail no Lotus Notes 6, você pode definir Opções de entrega, Opções de segurança e Selos de humor. Use essas dicas de notas para informar o destinatário sobre o quão quente é sua mensagem ou qual é o seu humor; ou solicitar confirmação de entrega, definir o tempo de entrega e muito mais. Depois de terminar de compor o corpo ...

10 Ofícios de teclado do Office 2016 - dummies

10 Ofícios de teclado do Office 2016 - dummies

Um tema comum do Office 2016 é que todos os programas se parecem e funcionam. Depois de aprender a usar o Word, você achará que não é muito mais difícil aprender o Excel ou o PowerPoint porque as guias do Ribbon funcionam de maneiras semelhantes. Ainda melhor, os mesmos comandos de teclas funcionam de forma semelhante em todos os programas do Office 2016. Por ...