Você está na página 1de 13

INSTITUTO FEDERAL DO RIO GRANDE DO SUL

CAMPUS FELIZ CURSO TÉCNICO EM INFORMÁTICA

BANCO DE DADOS
NOSQL

EZEQUIEL DANNUS E VICTOR EMANUEL MELLO

FELIZ
2023

Introdução:........................................................................................................................................................
Objetivos Específicos:.....................................................................................................................................
Tipos de Bancos de Dados NoSQL:...............................................................................................................
Bancos de Dados de Documentos:................................................................................................................
Casos de uso:...............................................................................................................................................
Gerenciamento de conteúdo..................................................................................................................
Catálogos...............................................................................................................................................
Bancos de Dados de Colunas:........................................................................................................................
Casos de uso:...............................................................................................................................................
Análise de dados:...................................................................................................................................
Big Data:.................................................................................................................................................
Internet das Coisas:................................................................................................................................
Bancos de Dados de Chave-Valor:.................................................................................................................
Características..............................................................................................................................................
Casos de uso:
Cache:..........................................................................................................................................................
Métricas:.................................................................................................................................................
Análise de logs:......................................................................................................................................
Bancos de Dados de Grafo..............................................................................................................................
Caracteristicas..............................................................................................................................................
Vantagens do NoSQL.......................................................................................................................................
Escalabilidade:.............................................................................................................................................
Flexibilidade:.................................................................................................................................................
Eficiência:.....................................................................................................................................................
Redução de custos:......................................................................................................................................
Desafios do NoSQL..........................................................................................................................................
Complexidade:..............................................................................................................................................
Consistência de dados:................................................................................................................................
Desempenho:...............................................................................................................................................
Considerações..................................................................................................................................................
Tipo de dados:..............................................................................................................................................
Aplicação:.....................................................................................................................................................
Custos:.........................................................................................................................................................
Comparação NoSQL e SQL.............................................................................................................................
Casos de Uso do NoSQL...................................................................................................................................
Facebook:.....................................................................................................................................................
Twitter:..........................................................................................................................................................
Netflix:...........................................................................................................................................................
Amazon:.......................................................................................................................................................
LinkedIn:.......................................................................................................................................................
Conclusão:........................................................................................................................................................

Tema:
Bancos de Dados NoSQL
Banco De Dados Victor | Ezequiel

Introdução:
Bancos de dados NoSQL foram criados para atender requisitos de modelos com
dados específicos, e possuem esquemas flexíveis para a criação de aplicativos
modernos. Os bancos de dados NoSQL são amplamente reconhecidos por sua
facilidade de desenvolvimento, funcionalidade e performance em escala. Através
desse trabalho, iremos demonstrar essas funcionalidades, mostrando a relevância
desses bancos para os sistemas de internet atuais no mundo inteiro.
Objetivos Específicos:
1. Compreender os diferentes tipos de bancos de dados NoSQL e suas
características.
2. Analisar as vantagens e desafios associados aos bancos de dados NoSQL.
3. Comparar os bancos de dados NoSQL com os bancos de dados relacionais.
4. Explorar casos de uso reais de bancos de dados NoSQL em empresas.
5. Oferecer insights para a escolha adequada de bancos de dados NoSQL em
projetos futuros.
Tipos de Bancos de Dados NoSQL:

Bancos de Dados de Documentos:


Um banco de dados de documentos é um tipo de banco de dados não relacional
projetado para armazenar e consultar dados como documentos do tipo JSON.
Esses bancos de dados facilitam o trabalho de armazenar e consultar dados usando
o mesmo formato de modelo de documento que usam no código do aplicativo. A
natureza flexível, semiestruturada e hierárquica dos documentos, e dos bancos de
dados de documentos, permite que eles evoluam conforme as necessidades dos
aplicativos. O modelo de documentos funciona bem com casos de uso como
catálogos, perfis de usuários e sistemas de gerenciamento de conteúdo, onde cada
documento é único e evolui com o passar do tempo. Os bancos de dados de
documentos possibilitam uma indexação flexível, consultas ad hoc eficientes e
análises de dados em grupos de documentos.

Casos de uso:
Gerenciamento de conteúdo
Um banco de dados de documentos é uma ótima opção para aplicativos de
gerenciamento de conteúdo, como blogs e plataformas de vídeo. Com um banco de
dados de documentos, cada entidade que o aplicativo rastrear pode ser
armazenado como um documento único. Um desenvolvedor consegue atualizar um
aplicativo de maneira mais intuitiva no banco de dados de documentos, à medida
que as exigências evoluem. Além disso, se o modelo de dados precisar mudar,
somente os documentos afetados precisarão ser atualizados. Nenhuma atualização
de esquema é exigida e nenhum tempo de inatividade de banco de dados é
necessário para fazer as alterações.

Catálogos
Bancos de dados de documentos são eficientes e eficazes para o armazenamento
de informações de catálogo. Por exemplo, em um aplicativo de comércio eletrônico,
diferentes produtos costumam ter números de atributos diferentes. Gerenciar
milhares de atributos em bancos de dados relacionais é ineficiente e afeta a
performance de leitura. Ao usar um banco de dados de documentos, os atributos de
cada produto podem ser descritos em um único documento para gerenciamento fácil
e maior velocidade de leitura. Alterar os atributos de um produto não afetará os
outros.

Exemplo: MongoDB.
Bancos de Dados de Colunas:
Um banco de dados em colunas é um tipo de banco de dados não relacional
projetado para otimizar a recuperação rápida de colunas de dados, normalmente em
aplicativos analíticos. O armazenamento orientado a colunas para tabelas do banco
de dados é um fator importante para a performance de consulta analítica, pois ele
reduz expressivamente os requisitos gerais de E/S de disco e diminui a quantidade
que você precisa carregar do mesmo. E assim como outros bancos não relacionais,
os bancos de dados em colunas foram criados para aumentar a escala horizontal
usando clusters distribuídos de hardware de baixo custo para aumentar o
throughput , o que os torna ideais para data warehousing e processamento de big
data. throughput: “quantidade de dados transferidos de um lugar a outro, ou a
quantidade de dados processados em um determinado espaço de tempo.”
Warehousing: “é um repositório central de informações que podem ser analisadas
para tomar decisões mais adequadas.”

Casos de uso:

Análise de dados:
Bancos de dados de coluna são frequentemente usados para análise de dados, pois
permitem que os usuários consultem colunas específicas de dados de forma rápida
e eficiente.

Big Data:
Bancos de dados de coluna são bem adequados para aplicativos de big data, pois
podem armazenar grandes volumes de dados de forma eficiente.

Internet das Coisas:


Bancos de dados de coluna são frequentemente usados em aplicativos de IoT, pois
podem armazenar dados de sensores de forma eficiente.

Exemplos: Apache Cassandra e HBase.


Bancos de Dados de Chave-Valor:
Um banco de dados de chave-valor é um tipo de banco de dados não relacional que
armazena dados em pares de chave-valor. A chave é um identificador exclusivo
para um valor, e o valor pode ser de qualquer tipo, como um número, uma string,
um objeto ou uma matriz.
Os bancos de dados de chave-valor são projetados para serem rápidos e eficientes
em consultas que envolvem a recuperação de um valor com base em uma chave.
Eles são frequentemente usados para aplicações que precisam armazenar e
acessar grandes quantidades de dados, como cache, métricas e análise de logs.

Características
Simples: Os bancos de dados de chave-valor são relativamente simples de entender e usar.
Eles não requerem uma compreensão profunda de conceitos de banco de dados relacional.
Escalabilidade: Os bancos de dados de chave-valor são altamente escaláveis. Eles
podem ser facilmente distribuídos em vários servidores para lidar com grandes
volumes de dados.
Eficiência: Os bancos de dados de chave-valor são eficientes em consultas de
leitura. Eles podem recuperar um valor com base em uma chave muito rapidamente.

Casos de uso:
Cache:

Os bancos de dados de chave-valor são frequentemente usados para cachear dados


frequentemente acessados. Isso pode melhorar o desempenho de aplicações web e
móveis.

Métricas:

Os bancos de dados de chave-valor são frequentemente usados para armazenar e


acessar métricas de desempenho. Isso pode ajudar a identificar problemas e
melhorar a eficiência de aplicações.

Análise de logs:

Os bancos de dados de chave-valor são frequentemente usados para armazenar e


analisar logs. Isso pode ajudar a identificar tendências e padrões.
Bancos de Dados de Grafo
Um banco de dados de grafo é um tipo de banco de dados não relacional que
representa dados como um grafo. Um grafo é uma estrutura de dados que consiste
em nós, que representam entidades, e arestas, que representam relacionamentos
entre as entidades.
Os bancos de dados de grafo são projetados para serem eficientes em consultas
que envolvem a recuperação de dados relacionados. Eles são frequentemente
usados para aplicações que precisam analisar relacionamentos entre dados, como
redes sociais, análise de negócios e detecção de fraudes.

Características
Representação de relacionamentos: Os bancos de dados de grafo são muito
eficazes na representação de relacionamentos entre dados. Eles podem representar
relacionamentos de qualquer tipo, incluindo relacionamentos um-para-um, um-para-
muitos e muitos-para-muitos.

Consultas eficientes: Os bancos de dados de grafo são projetados para serem


eficientes em consultas que envolvem a recuperação de dados relacionados. Eles
podem usar técnicas de busca em grafos para recuperar rapidamente dados
relacionados.

Escalabilidade: Os bancos de dados de grafo são altamente escaláveis. Eles podem


ser facilmente distribuídos em vários servidores para lidar com grandes volumes de
dados.

Caso de usos

Redes sociais: Os bancos de dados de grafo são frequentemente usados para


armazenar e analisar dados de redes sociais. Eles podem ser usados para
identificar relacionamentos entre usuários, grupos e conteúdo.

Análise de negócios: Os bancos de dados de grafo são frequentemente usados para


analisar dados de negócios. Eles podem ser usados para identificar padrões e
tendências nos dados, e para prever comportamentos.

Detecção de fraudes: Os bancos de dados de grafo são frequentemente usados


para detectar fraudes. Eles podem ser usados para identificar padrões de
comportamento fraudulento.
Vantagens do NoSQL
Os bancos de dados NoSQL oferecem uma série de vantagens em relação aos
bancos de dados relacionais tradicionais. Algumas das principais vantagens
incluem:

Escalabilidade:
Os bancos de dados NoSQL são altamente escaláveis. Eles podem ser facilmente
distribuídos em vários servidores para lidar com grandes volumes de dados.

Flexibilidade:
Os bancos de dados NoSQL são mais flexíveis do que os bancos de dados
relacionais. Eles não exigem que os dados sejam armazenados em um formato fixo,
o que os torna ideais para aplicações que precisam armazenar dados não
estruturados ou semiestruturados.

Eficiência:
Os bancos de dados NoSQL podem ser mais eficientes do que os bancos de dados
relacionais em certas operações, como consultas de leitura.

Redução de custos:
Os bancos de dados NoSQL podem reduzir os custos de infraestrutura, pois eles
são projetados para rodar em cluster e na nuvem.

Desafios do NoSQL
Complexidade:
Os bancos de dados NoSQL podem ser mais complexos de usar e gerenciar do que
os bancos de dados relacionais tradicionais. Isso ocorre porque eles não seguem
um modelo de dados fixo, o que pode dificultar o aprendizado e a compreensão.

Consistência de dados:
Os bancos de dados NoSQL geralmente não oferecem o mesmo nível de
consistência de dados que os bancos de dados relacionais tradicionais. Isso pode
ser um problema para aplicações que precisam de dados consistentes em todos os
momentos.

Desempenho:
Os bancos de dados NoSQL podem não ser tão eficientes em certas operações,
como consultas complexas.
Considerações

Tipo de dados:
Os bancos de dados NoSQL são projetados para armazenar tipos específicos de
dados. É importante escolher o tipo de banco de dados NoSQL certo para o tipo de
dados que você precisa armazenar.

Aplicação:
Os bancos de dados NoSQL são adequados para um conjunto específico de
aplicações. É importante avaliar suas necessidades específicas para determinar se
um banco de dados NoSQL é a solução certa para você.

Custos:
Os bancos de dados NoSQL podem ser mais caros do que os bancos de dados
relacionais tradicionais. Isso ocorre porque eles geralmente requerem mais recursos
para serem executados.

Comparação NoSQL e SQL


Característica NoSQL SQL

Modelo de Não relacional Relacional


dados

Dados Não estruturados, Estruturados


semiestruturados
ou estruturados

Consistência Normalmente não ACID


de dados ACID

Escalabilidade Horizontal Vertical

Flexibilidade Alta Baixa


Complexidade Baixa Alta

Desempenho Geralmente Geralmente melhor para consultas


melhor para complexas
consultas simples

Custos Podem ser mais Podem ser mais baratos


caros

Casos de Uso do NoSQL

Facebook:
O Facebook precisava de um banco de dados que pudesse escalar para lidar com um
grande número de usuários e dados. O MongoDB foi escolhido porque é um banco de
dados NoSQL de documentos que é flexível e escalável.

Twitter:
O Twitter precisava de um banco de dados que pudesse lidar com grandes volumes de
dados de streaming. O Cassandra foi escolhido porque é um banco de dados NoSQL de
colunas que é altamente escalável.

Netflix:
A Netflix precisava de um banco de dados que pudesse realizar pesquisas rápidas e
eficientes em seus dados de streaming. O Elasticsearch foi escolhido porque é um banco de
dados NoSQL de pesquisa que é rápido e eficiente em consultas.

Amazon:
A Amazon precisava de bancos de dados que pudessem atender às necessidades de suas
diversas aplicações. A empresa usa vários bancos de dados NoSQL para armazenar dados
de produtos, clientes e vendas.

LinkedIn:
O LinkedIn precisava de um banco de dados que pudesse armazenar e analisar
relacionamentos entre dados. O Neo4j foi escolhido porque é um banco de dados NoSQL
de grafos que é ideal para aplicações que precisam armazenar e analisar relacionamentos
entre dados.
Conclusão:
Os bancos de dados NoSQL são uma boa opção para aplicações que precisam
armazenar grandes volumes de dados não estruturados ou semiestruturados. Eles
oferecem uma série de vantagens em relação aos bancos de dados relacionais
tradicionais, como escalabilidade, flexibilidade e desempenho. No entanto, é
importante notar que os bancos de dados NoSQL também apresentam algumas
desvantagens, como complexidade, consistência de dados e desempenho em
consultas complexas.

A escolha do paradigma de banco de dados certo depende das necessidades


específicas de cada empresa. Se você precisa de um banco de dados que possa
escalar para grandes volumes de dados e armazenar dados não estruturados ou
semiestruturados, um banco de dados NoSQL pode ser uma boa opção. Se você
precisa de um banco de dados que ofereça um alto nível de consistência de dados e
seja eficiente em consultas complexas, um banco de dados relacional pode ser uma
boa opção.

Bibliografia

Banco de Dados NoSQL – O que é NoSQL? ([s.d.]). Microsoft.com.

Recuperado 18 de outubro de 2023, de https://azure.microsoft.com/pt-

br/resources/cloud-computing-dictionary/what-is-nosql-database

Finley, K. (2011, janeiro 2). How twitter uses NoSQL. ReadWrite.

https://readwrite.com/how-twitter-uses-nosql/
Ianni, V. (2012, outubro 11). NoSQL Tutorial: Introdução aos bancos de

dados NoSQL. DevMedia. https://www.devmedia.com.br/introducao-

aos-bancos-de-dados-nosql/26044

LinkedIn NoSQL assessment. ([s.d.]). Gyfted.Me. Recuperado 18 de outubro

de 2023, de https://www.gyfted.me/quiz-landing/no-sql-assessment

MongoDB documentation. ([s.d.]). Mongodb.com; MongoDB. Recuperado 18

de outubro de 2023, de https://www.mongodb.com/docs/

O que é um banco de dados de grafos? ([s.d.]). Oracle.com. Recuperado 18 de

outubro de 2023, de https://www.oracle.com/br/autonomous-

database/what-is-graph-database/

Por Que os Desenvolvedores Preferem Bancos de Dados NoSQL? ([s.d.]).

Oracle.com. Recuperado 18 de outubro de 2023, de

https://www.oracle.com/br/database/nosql/what-is-nosql/

Wikipedia contributors. ([s.d.]). NoSQL. Wikipedia, The Free Encyclopedia.

https://pt.wikipedia.org/w/index.php?title=NoSQL&oldid=64328422

([S.d.]-a). Amazon.com. Recuperado 18 de outubro de 2023, de

https://aws.amazon.com/pt/nosql/

([S.d.]-b). Amazon.com. Recuperado 18 de outubro de 2023, de

https://aws.amazon.com/pt/solutions/partners/mongodb-atlas/

([S.d.]-c). Amazon.com. Recuperado 18 de outubro de 2023, de

https://aws.amazon.com/pt/nosql/graph/
([S.d.]-d). Amazon.com. Recuperado 18 de outubro de 2023, de

https://aws.amazon.com/pt/nosql/key-value/

([S.d.]-e). Amazon.com. Recuperado 18 de outubro de 2023, de

https://aws.amazon.com/pt/nosql/columnar/

([S.d.]-f). Amazon.com. Recuperado 18 de outubro de 2023, de

https://aws.amazon.com/pt/nosql/document/

Você também pode gostar