Banco de Dados Descomplicado: NoSQL.
Introdução
Vamos retomar os tópicos de Banco de Dados, uma das disciplinas mais cobradas na área de Tecnologia da Informação (TI). Hoje trouxemos um tema que vem caindo nas provas recentes e desperta dúvidas entre os alunos: Not Only SQL (NoSQL).
Embora a sigla esteja presente no nome, você verá, ao longo do artigo, que NoSQL não tem nada a ver com Structured Query Language (SQL). Concurseiro, está ansioso para saber o porquê? Então fique conosco e venha descobrir. Veja o que vamos abordar:
- O Universo NoSQL
- Banco de Dados Chave-Valor
- Banco de Dados Orientado a Documentos
- Banco de Dados Orientado a Grafos
- Banco de Dados Colunar
- Mapa Mental de NoSQL
Para entender os conceitos deste artigo, será necessário que já tenha noções básicas de bancos de dados relacionais e SQL. Destacamos que o artigo é recomendado para quem estuda para concursos específicos de TI ou concursos gerais que cobrem a disciplina de Banco de Dados.
Preparamos um artigo objetivo, a fim de que você consiga ter acesso ao conteúdo necessário em poucos minutos. Bom, para quem vai ficar conosco, vamos começar agora.
Tempo de leitura aproximada: 5 a 10 minutos
O Universo NoSQL
Conceitos e Características do NoSQL
Os bancos de dados NoSQL representam alternativas aos tradicionais bancos de dados relacionais. Ao contrário do SQL, eles não simbolizam nenhuma linguagem propriamente dita, mas sim novos paradigmas de conceber o armazenamento dos conjuntos de dados.
São utilizados em soluções que trabalham com grandes conjuntos de dados, oferecendo escalabilidade horizontal para acompanhar seu crescimento e flexibilidade para comportar as mudanças (incluindo eliminação nos tradicionais esquemas dos bancos relacionais, por exemplo).
Assim, existe um ganho de performance, quando comparado aos bancos de dados relacionais. Um melhor desempenho favorece também a atuação com formatos diferenciados, tais como dados semiestruturados e não estruturados.
Você Sabia? Se você tem dúvidas sobre as classificações dos dados, leia o nosso artigo: https://www.estrategiaconcursos.com.br/blog/ciencia-de-dados-classificacoes-estruturas/.
Tipos de Bancos de Dados NoSQL
Os bancos de dados NoSQL são classificados em quatro principais grupos: banco de dados chave-valor, banco de dados orientado a documentos, banco de dados orientado a grafos e banco de dados colunar.
Existem pequenas variações nas nomenclaturas acima, mas a essência é a mesma. Essa tipologia é bem clássica na literatura sobre o tema. Vamos aprofundar cada um dos tipos apresentados nas próximas seções.
Banco de Dados Chave-Valor
Nesta categoria, os dados são armazenados em pares chave e valor. De forma bem simples, a chave é uma espécie de indexador, utilizada para a localização do valor. Se você é veterano na área de TI, pense em um mapeamento por meio de hash, pois é bem semelhante.
Por outro lado, se você está entrando no mundo de TI agora e não está tão familiarizado com os conceitos, pense em um livro didático. Os conteúdos estão organizados em páginas. Ou seja, para acessar um conteúdo, você precisa saber em qual página ele está localizado.
Analogamente, a chave equivale à página e o valor equivale ao conteúdo. Ou seja, para acessar um determinado valor, você precisa identificar sua chave.
ATENÇÃO: Os bancos de dados chave-valor são vantajosos por oferecer alta escalabilidade, mas são limitados para consultas com grau de complexidade maior, com muitas chaves e valores envolvidos. Isso foi alvo de cobrança recente em prova.
Algumas empresas oferecem o conceito de bancos de dados chave-valor. As principais são Redis, Memcached, Voldemort e DynamoDB (Amazon). Só para ilustrar, veja um exemplo de tabela criada no DynamoDB:
Pausa para Refletir: Não se preocupe porque as bancas não vão cobrar que você construa um modelo do zero nos bancos de dados NoSQL. A cobrança forte ainda é nos conceitos, porque NoSQL é um assunto relativamente novo.
Banco de Dados Orientado a Documentos
Como o próprio nome diz, esta categoria é específica para trabalhar com grandes conjuntos de dados em documentos, que podem ser semiestruturados ou não estruturados.
ATENÇÃO: Uma pegadinha é que os bancos de dados orientados a documentos também trabalham com o conceito de chave e valor. Nesse contexto, as chaves são cadeias de caracteres. Por outro lado, os valores podem ser objetos ou parte deles (parte de um texto, por exemplo).
Além disso, os bancos de dados orientados a documentos trabalham com uma representação hierárquica (se não lembra, volte na figura 2 deste artigo).
Os principais bancos de dados orientados a documentos são CouchDB e MongoDB (disparado o mais conhecido). Só para ilustrar, veja um exemplo de busca na interface do MongoDB:
Banco de Dados Orientado a Grafos
Como o próprio nome diz, esta categoria é específica para trabalhar com grandes conjuntos de dados representados em um grafo (volte novamente na figura 2, pois vai ajudar). Ou seja, nesse contexto vamos lidar com nós, arestas, caminhos etc.
Diferentemente dos bancos de dados NoSQL orientados a documentos e chave-valor, veja que os bancos de dados orientados a grafos não precisam de raiz, associação única de chave e valor etc. Isso oferece ainda mais flexibilidade e outras possibilidades de associações entre os nós.
Em razão disso, os bancos de dados orientados a grafos são muito utilizados em sistemas de recomendações (aprendizado não supervisionado), redes sociais e jogos, onde há um grau de complexidade maior nos relacionamentos.
ATENÇÃO: Os bancos de dados orientados a grafos também podem trabalhar com índices, de forma a garantir um acesso mais rápido aos nós e arestas. Isso foi alvo de cobrança recente em prova.
Os bancos de dados orientados a grafos são tão específicos que as empresas que oferecem esse armazenamento também abrangem as outras categorias que mencionamos anteriormente, tais como CosmosDB (Microsoft Azure), OrientDB, ArangoDB etc.
Porém, o banco de dados orientado a grafo que se destaca no mercado é o Neo4j. Só para ilustrar, veja um exemplo de busca de relacionamento na sua interface:
Banco de Dados Colunar
Esta categoria caracteriza-se por organizar os dados em colunas, ao invés de linhas. Isso mesmo, ela inverte a visualização que conhecemos nos bancos de dados relacionais.
Ou seja, ao invés de ter uma linha para representar as colunas, seguida de N linhas para representar os dados, temos uma linha para representar todos os dados, com N colunas. Cada coluna vai representar um dado. Confuso? Veja se agora fica mais claro:
Repare que existe um agrupamento dos dados de cada coluna. Isso facilita as operações sobre os dados (principalmente as de agregação), pois não será necessário varrer todas as linhas da tabela para isso.
Em razão desse tipo de estrutura, os bancos de dados colunares são muito utilizados em soluções de análises de negócio, que lidam com grandes volumes de dados.
Muitas empresas oferecem bancos de dados colunares. Destacamos BigQuery (Google), Redshift (Amazon), MariaDB e Cassandra, o mais conhecido da categoria. Só para ilustrar, veja um exemplo de interface para o Cassandra:
Mapa Mental de NoSQL
Não se preocupe caso não tenha memorizado tudo o que falamos na leitura do artigo. É praticamente impossível guardar as informações “de primeira”. Cientes disso, preparamos um super mapa mental que vai ajudá-lo nessa tarefa árdua.
Conclusão
Em suma, você teve oportunidade de aprender ou revisar neste artigo NoSQL. Ainda que a publicação seja um ótimo resumo, é importante também aprofundar seus conceitos, pois NoSQL possui muitos detalhes e algumas bancas mais tradicionais gostam de cobrá-los (FGV, por exemplo).
Para o aprofundamento, recomendamos que você busque o material do Estratégia Concursos. O Estratégia oferece diversos cursos em pdf, videoaulas e áudios para você ouvir onde quiser. Descubra tudo no link: http://www.estrategiaconcursos.com.br/cursos/.
Por fim, não deixe também de praticar o aprendizado por meio de questões. Alunos aprovados realizam centenas ou até milhares de exercícios para atingir seu objetivo. O acesso ao Sistema de Questões do Estratégia é feito pelo link: https://concursos.estrategia.com/.
Bons estudos e até a próxima!
Cristiane Selem Ferreira Neves é Bacharel em Ciência da Computação e Mestre em Sistemas de Informação pela Universidade Federal do Rio de Janeiro (UFRJ), além de possuir a certificação Project Management Professional pelo Project Management Institute (PMI). Já foi aprovada nos seguintes concursos: ITERJ (2012), DATAPREV (2012), VALEC (2012), Rioprevidência (2012/2013), TJ-RJ (2022), TCE-RJ (2022) e CGE-SC (2022/2023). Atualmente exerce o cargo efetivo de Auditora de Controle Externo – Tecnologia da Informação e integra o corpo docente da Escola de Contas de Gestão do TCE-RJ, além de ser produtora de conteúdo dos Blogs do Estratégia Concursos, OAB e Carreiras Jurídicas.