Skip to content

Commit

Permalink
add nosql
Browse files Browse the repository at this point in the history
  • Loading branch information
edulonde committed Apr 6, 2023
1 parent 390dfde commit 2f09d3e
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 68 deletions.
18 changes: 0 additions & 18 deletions docs/algoritmos_e_programação/teste.md

This file was deleted.

2 changes: 0 additions & 2 deletions docs/banco_de_dados/django_mysql.md

This file was deleted.

69 changes: 32 additions & 37 deletions docs/banco_de_dados/nosql.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,50 @@
# NOSQL - Not Only SQL [em construção]
# NOSQL - Not Only SQL

## Conceitos
Por muito tempo banco de dados Relacionais tem sido o principal meio de armazenamento de dados cuja ideia principal era representar
**entidade** e **relacionamento** de maneira **uniforme**.

Porém, o esquema rígida que o Modelo Relacional propõe não atende à algumas complexidades contemporâneas, principamente quando falamos de escalabilidade .


NoSQL fornece um modelo de dados que se adapta
melhor às necessidades da aplicação (modelagem mais
rápida e menos código).
Hoje há novos desafios e o modelo NoSQL foi criado com o
objetivo de manipular volumes maiores de dados. Esse modelo não é orientado à tabelas, embora possa ter relacionamentos.

Grande quantidade de dados: Necessita de
processamento em cluster (armazenamento dividido
entre vários servidores).

Favorece replicação de dados e escalabilidade.
As vantages do uso de NoSQL são sua **flexibilidade** e a sua **modelagem** que é mais rápida e exige menos código, além de lidar facilmente com grande volume de dados.

## Replicação
## Escalonamento
Quando falamos de escalonamento devemos considerar dois tipos:

Master-Slave
- **Escalonamento horizontal** (Scaling out) é a capacidade de
aumentar a quantidade de computadores. (mais complexo)
- **Escalonamento vertical** (Scaling up) é a capacidade de alocar
mais recursos ao computador (memória e processamento).

O slave terá a cópia dos dados do master.
Escrita ocorre apenas no master e leitura em ambos.

é importante avaliar a questão sobre
consistência e performance quando não há falhas na
comunicação.

Masterless

muitos bancos NoSQL são baseados na ideia de que
qualquer servidor pode receber requisições de leitura e escrita.

Assim, mesmo com falha em um dos servidores do cluster, o
serviço se mantem disponível.

Teorema CAP (CAP Theorem):
* Consistência (C - Consistency);
* Alta disponibilidade (A - Availability);
* Tolerância a particionamento dos dados na rede (P - Partition-tolerance)

## Tipos de Banco de Dados NOSQL

**Banco de dados chave-valor:** os registros
- **Banco de dados chave-valor:** os registros
pertencem a mesma coleção de elementos, e
todos possuem uma chave única. (Redis)
todos possuem uma chave única. (Ex.: Redis).

**Família de colunas (colunares):** todos os
- **Família de colunas (colunares):** todos os
registros fazem parte da mesma tabela, mas
podem conter diferentes colunas. (cassandra)
podem conter diferentes colunas. (Ex.:Cassandra).

**Documento:** registros em coleções
- **Documento:** registros em coleções
específicas, mas não há esquema fixo de
registros (MongoDB)
registros. Pense num arquivo JSON. (Ex.: MongoDB).

- **Grafo:** registros são nós de um grafo e são
interligados por relacionamentos.(Ex.: Neo4j).


## Explorando o MongoDB

**Grafo:** registros são nós de um grafo e são
interligados por relacionamentos.(Neo4j)
Em um documento podem existir um valor simples, como um número,
uma palavra ou uma data, e também uma lista de valores.
Os documentos são agrupados em collections.
Um conjunto de collections forma um database (banco de dados).
Se for necessário, esse database pode ser duplicado em outros servidores,
e cada cópia é chamada de replica set (conjunto de réplica).
3 changes: 0 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@ entre eles: classes, objetos, interfaces, herança e polimorfismo; Introduzir t
exceções; noções de padrões de projeto (explorando alguns exemplos como Observer, Adapter, Null Object); Apresentar
noções de aspectos, funções anônimas, closures e técnicas funcionais (Map,Filter, Fold, etc).

### :zap: Redes



<p align="center"> <img src="logo.png" alt="logo" width="75" height="75"/> </p>

8 changes: 0 additions & 8 deletions docs/sobre.md

This file was deleted.

0 comments on commit 2f09d3e

Please sign in to comment.