Buscar

Definição NOsql-revised

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

· Definição NOsql
Bancos de dados NoSQL são criados para modelos de dados específicos e têm esquemas flexíveis para a criação de aplicativos modernos. Dessa forma, são amplamente reconhecidos por sua facilidade de desenvolvimento, funcionalidade e performance em escala. 
· Características
O NoSql apresentam determinadas características, e são elas que diferem do banco de dados relacionais, tendo como principais funcionalidades :
· Escalabilidade Horizontal: na medida em que o volume de dados cresce, aumenta-se a necessidade de escalabilidade e melhoria do desempenho. Dentre todas as possibilidades para esta solução, a escalabilidade horizontal se torna a mais viável, porém requer diversas threads ou que processos de um tarefa sejam criadas e distribuídas. Dessa forma, o uso de um banco de dados relacional poderia ser muito complexo. Isto por que no momento em que diversos processos se conectam simultaneamente em um mesmo conjunto de dados há uma geração de uma alta concorrência aumentando assim o tempo de acesso às tabelas. Neste contexto, uma grande vantagem dos bancos NoSQL é justamente a ausência de bloqueios, o que permite uma maior facilidade e eficiência (não é afetado pelo aumento da concorrência). 
Uma alternativa muito utilizada para alcançar a escalabilidade horizontal é o Sharding, que divide os dados em múltiplas tabelas a serem armazenadas ao longo de diversos nós na rede. O que esta técnica faz, na realidade, é romper a cadeia de relacionamentos, que é uma forte característica nos bancos relacionais. É possível realizar o Sharding em banco de dados relacionais de forma manual. Entretanto, esta não é uma tarefa simples e demonstra complexidade de implementação para a equipe que está desenvolvendo.
· Ausência de esquema (Schema-free) ou esquema flexível: Outra característica no bancos de dados NoSQL é a ausência parcial ou total de esquema que define a estrutura de dados. Essa ausência de esquema que facilita uma alta escalabilidade e alta disponibilidade, mas em contrapartida não há a garantia de integridade dos dados, fato este que não ocorre no Modelo Relacional.
· Suporte nativo a replicação: Outra forma de prover a escalabilidade, pois, no momento em que permite-se a replicação de forma nativa ,o tempo gasto para recuperar informações é reduzido.
· API simples para acessar o banco de dados: Em banco de dados NoSQL, o foco não está no armazenamento dos dados, e sim, como recuperá-los de forma eficiente. Dessa forma, é fundamental APIs desenvolvidas para facilitar o acesso às informações para que se possa usar o banco de dados de forma rápida e eficiente.
· Consistência eventual: Outra característica particular de bancos NoSQL é que nem sempre a consistência dos dados é mantida. Esta característica tem embasamento no teorema CAP (Consistency, Availability e Partition tolerance) que afirma que em um dado momento só é possível garantir duas destas três propriedades, que seriam Consistência, Disponibilidade e tolerância à partição . Em aplicações reais, normalmente as duas últimas citadas anteriormente, são privilegiadas. Como consequência disto, as propriedades do ACID não são respeitadas simultaneamente, Em contrapartida, tem-se outro conjunto de projetos denominado BASE (Basicamente disponível, Estado leve e consistente em momento indeterminado) . Ou seja, é necessário haver um planejamento para que o sistema possa tolerar inconsistências temporárias com o objetivo de priorizar a disponibilidade.
Vantagens :
Algumas vantagens dos bancos noSQL em relação aos SGBDR’s:
· Flexibilidade: os bancos de dados NoSQL geralmente fornecem esquemas flexíveis que permitem um desenvolvimento mais rápido e interativo. O modelo de dados flexível torna os bancos de dados NoSQL ideais para dados semiestruturados e não estruturados.
· Escalabilidade: os bancos de dados NoSQL geralmente são projetados para serem escalados horizontalmente usando clusters distribuídos de hardware, em vez de escalá-los verticalmente adicionando servidores caros e robustos. Tem-se como exemplo ,alguns provedores de nuvem que lidam com essas operações nos bastidores, com um serviço totalmente gerenciado.
· Alta performance: o banco de dados NoSQL é otimizado para modelos de dados específicos e padrões de acesso que permitem maior performance do que quando se tenta realizar uma funcionalidade semelhante com bancos de dados relacionais.
· Altamente funcional: os bancos de dados NoSQL fornecem APIs e tipos de dados altamente funcionais criados especificamente para cada um de seus respectivos modelos de dados.
Desvantagem
· tecnologia nova, atualização rápida da tecnologia, comunidade nova, suporte falho, falta de documentação.
· não possui a quantidade de ferramentas de relatórios, análises de desempenho, testes que os bancos de dados relacionais possuem.
· não possui padrões de linguagens de definição e manipulação ao contrário dos bancos de dados relacionais com o SQL que é padrão.
· falta de uma transação mais geral como nos SGBDR’s, as transações em bancos NoSQL são, geralmente, restritas a alterações em um único nó ou documento.
Conclusão
Com o grande crescimento do volume de dados em determinadas organizações, os bancos de dados NoSQL tem se tornado uma grande alternativa quando refere-se a escalabilidade e disponibilidade, fatores estes, que se tornam imprescindíveis em algumas aplicações Web. Tomando como base as definições do NoSQL, pode-se optar pela utilização de não relacional, NoSQL, tendo uma grande variedades bancos de dados com diferentes funcionalidades
Bibliografia
https://dicasdeprogramacao.com.br/6-motivos-para-usar-bancos-de-dados-nosql/
https://dadosedecisoes.com.br/bancos-relacionais-vs-nosql-qual-escolher/
https://aws.amazon.com/pt/nosql/
https://www.devmedia.com.br/conceito-nosql-cassandra-em-java/22863

Continue navegando