Vídeo: SQL - A Quick Overview |¦| SQL Tutorial |¦| SQL for Beginners 2024
As lojas de coluna no NoSQL são semelhantes na primeira aparência ao SGBD relacional tradicional. Os conceitos de linhas e colunas ainda estão lá. Você também define as famílias de colunas antes de carregar dados no banco de dados, o que significa que a estrutura dos dados deve ser conhecida antecipadamente.
No entanto, as lojas de colunas organizam dados de forma diferente do que os bancos de dados relacionais. Em vez de armazenar dados em uma linha para acesso rápido, os dados são organizados para operações rápidas de colunas. Essa visão centrada em coluna torna as lojas de colunas ideais para executar funções agregadas ou para procurar registros que combinam várias colunas.
As funções agregadas são combinações de dados ou funções de análise. Eles podem ser tão simples como contar o número de resultados, somá-los ou calcular sua média média. Eles poderiam ser mais complexos, porém - por exemplo, retornando um valor complexo descrevendo um intervalo de tempo abrangente.
As lojas de colunas também são às vezes referidas como Big Tables ou Big Table clones, refletindo o antepassado comum, o Bigtable do Google.
Talvez a principal diferença entre as lojas de colunas e um RDBMS tradicional seja que, em uma loja de colunas, cada registro (pense linha em um RDBMS) não requer um valor único por coluna. Em vez disso, é possível modelar famílias de colunas. Um único registro pode consistir em um campo de ID, uma família de colunas para informações de "clientes" e outra família de colunas para informações de "item de pedido".
Cada uma dessas famílias de colunas consiste de vários campos. Uma dessas famílias de colunas pode ter várias "linhas" por direito próprio. As informações do item da ordem, por exemplo, têm várias linhas - uma para cada item de linha. Essas linhas conterão dados como ID do item, quantidade e preço unitário.
Um benefício chave de uma loja de colunas em um RDBMS é que as lojas de colunas não exigem que os campos estejam sempre presentes e não exigem um valor nulo de preenchimento em branco, como faz um RDBMS. Esse recurso evita o problema de dados esparsos, preservando o espaço no disco. Um exemplo de um conjunto de dados variável e esparso é mostrado aqui.
A grande coisa sobre as lojas de colunas é que você pode recuperar todas as informações relacionadas usando uma identificação de registro única, em vez de usar a junção estruturada de linguagem de consulta estruturada (SQL) como em um RDBMS. No entanto, isso exige um pouco de modelagem e análise de dados antecipados.
No exemplo mostrado, você pode recuperar todas as informações da ordem selecionando uma única linha de armazenamento de colunas, o que significa que o desenvolvedor não precisa estar ciente da sintaxe de junção complexa exata de uma consulta em uma loja de colunas, ao contrário tem que usar juntas SQL complexas em um RDBMS.
Assim, para estruturas de dados relacionais complexas e variáveis, uma loja de colunas pode ser mais eficiente em armazenamento e menos propenso a erros em desenvolvimento do que seus antepassados RDBMS.
Observe que, na categoria item , a identificação de cada item é representada dentro da chave e o valor é a quantidade encomendada. Esta configuração permite uma pesquisa rápida de todas as ordens que contém essa ID do item.
Se você conhece os campos de dados envolvidos na frente e precisa recuperar rapidamente dados relacionados juntos como um registro único, considere uma loja de colunas.