SQL
Sql (Structured Query Langague) é uma linguagem estruturada para trabalhar com um banco de dados relacionais através dos SGBDs (Sistema de Gerenciamento de Banco de Dados Relacionais).
Para ficar mais fácil entender, os dados de um banco de dados SQL são organizados e representados como se estivessem armazenadas em tabelas, onde cada tabela pode ter dados diferentes mais que podem ser relacionadas uma com a outra, Exemplo: Uma tabela A possui o nome dos funcionários de uma empresa e uma outra tabela B possui o endereço desses funcionários, então mesmo estando separadas podemos vincular essas tabelas uma com a outra pois esses dados possuem relação um com o outro.
Para operar esse banco você deve utilizar as instruções:
1 – Insert: Insere dados.
2 – Update: Atualiza os dados.
3 – Delete: Deleta os dados
4 – Select: Utilizado para fazer consultas
5 – Create: Cria os objetos do banco, como por exemplo uma tabela.
6 – Alter: Alterar a estrutura do objeto, como por exemplo uma tabela.
7 – Drop: Deleta o objeto, como por exemplo uma tabela.
8 – Grant: Autoriza os usuários a fazerem as operações no banco de dados.
9 – Revoke: Desautoriza ou restringe os usuários, não deixando eles terem liberdade para fazerem operações.
NoSQL
O NoSQL (Not Only SQL – Não Apenas SQL), ou seja (não SQL – não relacional), é um banco de dados onde a sua estrutura é diferente do banco de dados SQL, não obedecendo a forma como os dados são armazenados nas tabelas e nem obedecendo a relação entre ela.
Então qualquer banco de dados que é diferente do banco de dados SQL recebe o nome de NoSQL. Existem hoje 4 tipos de bancos de dados NoSQL, que fornecem as formas de como você deve armazenar os dados.
1 – Chave e Valor: Cada valor inserido no banco de dados possui um identificador único e que não pode se repetir.
2 – Grafos: Cada valor é armazenado em forma de Grafos do tipo vértices ou arestas.
3 – Colunas: Cada valor inserido é armazenado em uma linha ao invés de serem armazenados em coluna. Exemplo: Os nomes dos funcionários não ficam um do lado do outro ficam um abaixo do outro. Isso faz com que as consultas sejam muito mais rápidas.
4- Document: Os dados são armazenados como documentos, onde esses documentos podem ser agrupados em formato chave-valor. Exemplo: Dados de um arquivo JSON.Hoje tanto Facebook como Google trabalham com NoSQL.
Algumas Diferenças SQL x NoSQL
Modelo de dados
- O SQL normaliza os dados em tabela, compostas por linhas e colunas. Possui integridade na ralação entre as tabelas. Possui um esquema que define algumas coisas como: tabelas, colunas, índice, relação entre as tabelas e outros dados.
- NoSQL como vimos anteriormente pode fornecer modelos de dados através de Chave-Valor, Grafos, Colunas e Document.
Propriedades ACID
- O SQL fornece propriedades de atomicidade, consistência, isolamento e durabilidade (ACID):
- A atomicidade exige uma transação para executar completamente ou não é executada de forma alguma.
- A consistência exige que, quando uma transação é confirmada, os dados devem estar em conformidade com o esquema do banco de dados.
- O isolamento exige que as transações simultâneas sejam executadas separadamente umas das outras.
- A resiliência exige a capacidade de se recuperar de uma falha do sistema ou falta de energia inesperada para o último estado conhecido.
- O NoSQL geralmente faze compensações relaxando algumas das propriedades ACID dos bancos de dados relacionais para um modelo de dados mais flexível. Isso torna os bancos de dados NoSQL uma excelente opção para casos de uso de baixa latência e alta taxa de transferência que precisam ser escalados horizontalmente.
Escala
- SQL geralmente escalam verticalmente de tamanho ao aumentar os recursos de computação do hardware. Se houver muitos muitos dados a escalabilidade vai se tornar lenta.
- A escalabilidade é uma das grandes vantagens do NoSQL. Sistemas NoSQL são projetados para permitirem a distribuição de dados em múltiplos servidores — clustering — sem prejuízo à performance e à integridade dos dados. NoSQL normalmente são particionáveis porque os padrões de acesso à chave-valor podem escalar horizontalmente o tamanho usando arquitetura distribuída para aumentar a taxa de transferência que fornece performance consistente em escala quase ilimitada.
Apis
- Na SQL as solicitações para armazenar e recuperar dados são comunicadas usando consultas compatíveis com uma SQL.
- NOSQL baseia-se em objetos que permitem que desenvolvedores de aplicações armazenem e restaurem facilmente estruturas de dados na memória.
Tenha em mente que o NoSQL não foi criado para eliminar a linguagem SQL, mas sim, trouxe uma outra forma para alcançar os melhores resultados que antes não era possível.
Artigos Relacionados
Sobre o Autor
0 Comentários