Banco de dados Engenharia de software Flashcards
(24 cards)
Frente
Verso
O que sao Bancos de Dados Relacionais?
Sistemas que armazenam dados em tabelas com linhas e colunas, utilizando a linguagem SQL para manipulacao dos dados.
O que e ACID?
Conjunto de propriedades que garantem que as transacoes sejam processadas de forma confiavel: Atomicidade, Consistencia, Isolamento e Durabilidade.
O que sao Bancos de Dados NoSQL?
Sistemas criados para lidar com grandes volumes de dados nao estruturados ou semi-estruturados, oferecendo maior escalabilidade e flexibilidade.
Quais sao os tipos de Bancos NoSQL?
Documentos, chave-valor, grafos e colunas.
O que e Escalabilidade Vertical (Scale-Up)?
Adicionar mais recursos (como CPU, memoria) a um unico servidor para aumentar sua capacidade.
O que e Escalabilidade Horizontal (Scale-Out)?
Adicionar mais servidores ao sistema para distribuir a carga de trabalho e aumentar a capacidade.
O que e ORM (Object-Relational Mapper)?
Ferramenta que permite a interacao entre objetos de programacao orientada a objetos e bancos de dados relacionais.
O que e Normalizacao de Dados?
Processo de organizacao dos dados para reduzir redundancias e dependencias.
O que e o Problema N+1?
Problema de desempenho que ocorre quando uma consulta inicial retorna um conjunto de resultados, e para cada item retornado, uma nova consulta e feita ao banco de dados.
O que e o Teorema CAP?
Teorema que afirma que e impossivel para um sistema distribuido garantir simultaneamente Consistencia, Disponibilidade e Tolerancia a Particoes.
O que e Escala Vertical?
Consiste em aumentar os recursos da maquina onde o banco de dados esta rodando (CPU, RAM, SSD, etc.).
Quais sao as vantagens da Escala Vertical?
Simples de implementar (basta aumentar os recursos do servidor). Nao exige mudancas significativas na arquitetura do banco.
Quais sao as desvantagens da Escala Vertical?
Custo elevado (maquinas mais potentes sao caras). Limite fisico. Ponto unico de falha.
Quando usar Escala Vertical?
Quando o sistema ainda nao atingiu o limite do hardware atual. Quando a aplicacao requer consistencia forte e baixa latencia.
O que e Escala Horizontal?
Consiste em distribuir a carga entre varios servidores, em vez de depender de apenas um.
Quais sao as tecnicas principais de Escala Horizontal?
Replicacao, Sharding, Particionamento, Caching.
O que e Replicacao?
Copia os dados de um banco primario para um ou mais bancos secundarios.
O que e Sharding?
Divide os dados em diferentes bancos, cada um armazenando apenas uma parte do conjunto de dados.
O que e Particionamento?
Semelhante ao sharding, mas pode ser feito em um unico banco de dados.
O que e Caching?
Utiliza bancos em memoria para armazenar consultas frequentes. Ex: Redis, Memcached.
O que e Banco de Dados Distribuido?
Solucoes como CockroachDB ou YugabyteDB que escalam horizontalmente.
O que e CDN e Edge Computing?
Tecnologias para reduzir latencia em aplicacoes globais.
O que e Otimizacao de Indices e Queries?
Melhorar a eficiencia de acesso antes de escalar o banco.