Banco De Dados Nosql
Ensaios: Banco De Dados Nosql. Pesquise 861.000+ trabalhos acadêmicosPor: alltrindade • 29/9/2014 • 919 Palavras (4 Páginas) • 553 Visualizações
NoSQL x MODELO - ER
Not Only SQL é um termo genérico para uma classe definida de banco de dados que rompe uma longa história de banco de dados baseados nos Modelos Relacionais. O NoSQL consiste em um banco de dados que utiliza a escalabilidade como seu ponto forte, aumentando assim sua capacidade de armazenamento de dados e velocidade, os atuais bancos de dados relacionais são muito restritos em relação à escalabilidade, pois utilizam escalonamento vertical nos servidores, quanto mais dados, mais espaço no servidor e com isso mais disponibilidade de memória é necessário. Uma das diferenças do NoSQL em relação aos bancos de dados relacionais, é que ele utiliza escalonamento horizontal e tem grande facilidade de distribuição dos dados, ou seja, com um aumento de dados, aumenta-se o número de servidores, que podem ser ou não de alta performance, barateando e otimizando o armazenamento. Outra vantagem da utilização do escalonamento horizontal, é que com a divisão dos dados em vários servidores, o volume dos dados por servidor é minimizado, pois conjuntos de dados menores, são mais fáceis de serem processados, armazenados ou gerenciados. A ideia principal dos projetistas do NoSQL é promover uma alternativa de alto armazenamento com velocidade e disponibilidade elevada. Algumas das grandes empresas de tecnologia atualmente, investem no desenvolvimento dos seus próprios SGBDs baseado na ideia NoSQL, como por exemplo o Google com Google Bigtable e o Amazon.com com o Amazon Dynamo. O Amazon Dynamo se destacou por causa da forma como o sistema escala. Cada nó no cluster comunica com outros nós (p2p) e faz ativamente parte da partição/replicação. Não tem um single-point-of-failure, mas essa facilidade de escalar não vem sem custo.
Todos os novos bancos tem em comum que eles são key-value stores, ou seja salvam, como o nome sugere, um conjunto de entradas formadas por uma chave associada a um valor e o valor poderia ser de qualquer tipo, um binário ou string que está sendo salvo de forma desnormalizada (schema-free). Diferentemente dos bancos SQL não existe um esquema forte. Essa abordagem facilita a distribuição dos dados entre vários servidores onde cada servidor possui apenas uma fatia dos dados (shard).
O CouchDB é um dos mais famosos no time dos key-value stores. Ele usa documentos para definir uma estrutura no banco, armazenando uma chave associada a um documento.
Por outro lado bancos de dados relacionais oferecem como seus pontos fortes, segurança das informações, controle de ocorrência, recuperação de falhas, otimização de consultas, além de alguns processos, tais como validação, verificação e garantias. Estes bancos garantem plenamente a integridade das informações, pois utilizam a questão das entidades e relacionamentos, baseados no Modelo Relacional. Como outro ponto positivo, os bancos de dados relacionais têm ao seu favor a questão de já estarem no mercado em grande utilização há anos, creditando em seus usuários mais confiança e estabilidade.
Um fator importante, para o processo de escolha em utilização do NoSQL ou de um SGBD relacional, é a questão da disponibilidade do servidor. Se por exemplo, for uma aplicação web, que necessita de disponibilidade imediata, o NoSQL leva vantagem, pois, com a divisão de vários servidores, podendo os usuários acessarem os vários servidores ou no caso de queda de um deles, o sistema não será totalmente prejudicado. Caso não seja necessária uma disponibilidade tão imediata, o indicado será algum SGBD relacional.
Características NoSQL
Escalabilidade Horizontal (scale out) - significa adicionar mais nós ao
...