Junior
Que tipos de bases de dados existem?
sobes.tech IA
Resposta da IA
As bases de dados são classificadas por vários critérios, principais tipos:
-
Relacionais (orientadas a SQL):
- Os dados são armazenados em tabelas com linhas e colunas.
- As relações entre tabelas são definidas por chaves primárias e externas.
- Utiliza-se a linguagem SQL para consultas.
- Exemplos: PostgreSQL, MySQL, Oracle, SQL Server.
-
Não relacionais (NoSQL):
- Diferenciam-se das relacionais por esquemas flexíveis e escalabilidade horizontal.
- Existem diferentes modelos de dados:
- Chave-valor: Redis, Memcached.
- Documentais: MongoDB, Couchbase.
- Colunas largas: Cassandra, HBase.
- Grafos: Neo4j, ArangoDB.
-
Em memória (RAM):
- Os dados são armazenados diretamente na RAM para acesso rápido.
- Podem ser relacionais ou NoSQL.
- Exemplos: Redis, Memcached, SAP HANA.
-
Séries temporais:
- Otimizadas para armazenar e analisar dados em ordem cronológica.
- Exemplos: InfluxDB, TimescaleDB.
-
Multimodelo:
- Suportam vários modelos de dados simultaneamente (por exemplo, documental e gráfico).
- Exemplos: ArangoDB, OrientDB.
-
Espaciais:
- Otimizadas para armazenar e consultar dados com coordenadas geográficas.
- Frequentemente extensões de bases de dados relacionais ou NoSQL (por exemplo, PostGIS para PostgreSQL).
-
Mestre-escravo:
- Padrão arquitetónico para replicação de dados. Um nó (mestre) gere as escritas, outros (escravos) apenas leem e sincronizam-se com o mestre. Usado para escalar leituras e garantir alta disponibilidade.
-
Sharding:
- Os dados são distribuídos por vários nós independentes (shards). Usado para escalabilidade horizontal e gestão de grandes volumes de dados.
Tabela comparativa entre bases de dados relacionais e não relacionais (principais diferenças):
| Característica | Relacionais (SQL) | Não relacionais (NoSQL) |
|---|---|---|
| Esquema | Rígido, predefinido | Flexível, dinâmico |
| Escalabilidade | Vertical (mais difícil horizontal) | Horizontal (mais simples) |
| Integridade de dados | ACID (geralmente) | BASE (mais frequente) |
| Modelo de dados | Tabelas | Chave-valor, documental, gráfico, etc. |
| Linguagem de consultas | SQL | Diversificada (API, específica) |