Skip to main content

dba-database-administrator

Fornece padrões de engenharia de software e administração de bancos de dados (DBA) para sistemas SQL e NoSQL. Cobre modelagem de dados, estratégias de indexação, otimização de consultas (EXPLAIN), controle de concorrência (ACID/BASE), replicação, alta disponibilidade, backups (PITR), conexões TLS seguras por padrão e segurança em PostgreSQL, MariaDB, SQLite e MongoDB.

Zur Installation springen

Quellinformationen

Repository
dandgabr/skills
Letzte Quellaktivität
11. September 2026 um 19:45
Erkannte Sprache von SKILL.md
Portugiesisch
Sterne
10
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
5 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
dba-database-administrator
description
Fornece padrões de engenharia de software e administração de bancos de dados (DBA) para sistemas SQL e NoSQL. Cobre modelagem de dados, estratégias de indexação, otimização de consultas (EXPLAIN), controle de concorrência (ACID/BASE), replicação, alta disponibilidade, backups (PITR), conexões TLS seguras por padrão e segurança em PostgreSQL, MariaDB, SQLite e MongoDB.
# Habilidade de IA: Administrador de Banco de Dados (DBA Specialist) Esta skill orienta a inteligência artificial a atuar como **Administrador de Banco de Dados (DBA - Database Administrator)**, especializada no planejamento, provisionamento, otimização, segurança e manutenção contínua de bancos de dados **relacionais (SQL)** e **não-relacionais (NoSQL / Document-oriented)**. A skill adota as melhores práticas de engenharia de dados, cobrindo o ciclo de vida completo da informação em ambientes de produção. --- ## 🧭 Princípios Fundamentais e Arquitetura de Dados ### 1. Relacional (SQL) vs. Não-Relacional (NoSQL) - **Sistemas Relacionais (RDBMS)**: - **Garantias ACID**: Atomicidade, Consistência, Isolamento e Durabilidade. - **Modelagem Normalizada (3NF)** para OLTP (redução de redundância e garantia de integridade referencial) e **Modelagem Dimensional (Star/Snowflake Schema)** para OLAP/Data Warehouse. - **Sistemas Não-Relacionais (NoSQL)**: - **Teorema CAP & Modelo BASE**: *Basically Available, Soft-state, Eventual consistency*. Escolha pragmática entre Consistência (CP) e Disponibilidade (AP) sob partição de rede. - **Modelagem Orientada a Documentos / Chave-Valor**: Desnormalização consciente baseada nos padrões de acesso de leitura e escrita da aplicação. ### 2. Estratégias Globais de Indexação - **B-Tree**: Índice padrão para pesquisas de igualdade e intervalos em dados ordenáveis. - **Índices Compostos**: Ordem estrita de colunas baseada na seletividade (colunas de igualdade primeiro, seguidas por colunas de intervalo). - **Índices Especiais**: GIN/GiST para busca textual e dados semiestruturados (JSON/JSONB), TTL para expiração automática de dados e parciais para filtrar subconjuntos frequentes. ### 3. Análise e Otimização de Consultas (Performance Tuning) - Inspeção de planos de execução (`EXPLAIN` / `EXPLAIN ANALYZE`). - Eliminação de varreduras completas (*Full Table Scans* / *Collection Scans*) em tabelas de grande porte. - Dimensionamento adequado de memória para buffers de leitura, ordenação e cache de páginas. ### 4. Alta Disponibilidade, Replicação e Backup - **Replicação**: Primário-Réplica (síncrona/assíncrona) para separação de leitura e failover. - **Backup & Disaster Recovery**: - **Backup Lógico**: Exportação em scripts SQL/BSON (ex: `pg_dump`, `mariadb-dump`, `mongodump`). - **Backup Físico / PITR**: Captura de arquivos de dados com arquivamento contínuo de logs de transação (WAL/Binlog) para *Point-In-Time Recovery*. - **Connection Pooling**: Mitigação do custo de criação de conexões usando proxies dedicados (ex: PgBouncer, MaxScale, Mongos). --- ## 🛠️ Subskills Especializadas por Banco de Dados Para diretrizes de implementação técnica profunda, sintaxes e comandos de cada SGBD, consulte as subskills dedicadas: | Banco de Dados | Tipo | Documentação Oficial de Referência | Skill Relacionada | | :--- | :--- | :--- | :--- | | **PostgreSQL** | Relacional (SQL) | [postgresql.org/docs](https://www.postgresql.org/docs/) | [db-postgresql](../../databases/db-postgresql/SKILL.md) | | **MariaDB** | Relacional (SQL) | [mariadb.com/docs](https://mariadb.com/docs) | [db-mariadb](../../databases/db-mariadb/SKILL.md) | | **SQLite** | Relacional Embedded | [sqlite.org/docs.html](https://sqlite.org/docs.html) | [db-sqlite](../../databases/db-sqlite/SKILL.md) | | **MongoDB** | NoSQL (Documentos) | [mongodb.com/pt-br/docs](https://www.mongodb.com/pt-br/docs/) | [db-mongodb](../../databases/db-mongodb/SKILL.md) | --- ## 🧰 Checklist de Práticas de Segurança e Hardening (DBA) 1. **Princípio do Menor Privilégio (RBAC)**: Contas de aplicação devem possuir apenas os privilégios mínimos necessários (`SELECT`, `INSERT`, `UPDATE`, `DELETE`), proibindo o uso de superusuários (`postgres`, `root`). 2. **Criptografia em trânsito (Conexões seguras por padrão)**: - **Postura padrão**: toda conexão remota DEVE ser cifrada via TLS/SSL, com verificação de certificado do servidor. Em produção, recuse `disable`, `allow`, `prefer` e `require` "nu" (sem verificar o servidor). - **PostgreSQL (server)** — em `postgresql.conf`: - `ssl = on` - `ssl_min_protocol_version = 'TLSv1.2'` (mínimo; para política estrita usar somente `TLSv1.3` fixando min+max = `'TLSv1.3'`) - `ssl_tls13_ciphers = 'TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256'` (AEAD-only em TLS 1.3) - `ssl_key_file` com `chmod 0600`; `ssl_cert_file`; `ssl_ca_file` para verificação de client-cert - **PostgreSQL (hba)** — em `pg_hba.conf`, forçar TLS e rejeitar não-TLS: ``` hostssl all all 0.0.0.0/0 scram-sha-256 clientcert=verify-ca hostnossl all all 0.0.0.0/0 reject ``` - **PostgreSQL (client / connection string)** — usar **`sslmode=verify-full`** + `sslrootcert=<CA>` (verifica cadeia + hostname). `require` apenas cifra, mas é vulnerável a MITM. Em aplicações Node.js (pg/Drizzle) e PgBouncer, force `verify-full`. - **Verificação de que a conexão está cifrada (Postgres)**: ```sql SELECT ssl, version, cipher FROM pg_stat_ssl WHERE pid = pg_backend_pid(); -- ssl=t => cifrada ``` - **MariaDB/MySQL**: `tls_version = TLSv1.2,TLSv1.3`, conta com `REQUIRE SSL` via `GRANT ... REQUIRE SSL`, client com `--ssl-verify-server-cert` on. - **MongoDB**: servidor `--tlsMode requireSSL`; client `tls=true` + `tlsCAFile`; manter `tlsAllowInvalidCertificates=false` e `tlsAllowInvalidHostnames=false`. - **SQLite**: embarcado, sem listener de rede e **sem TLS próprio** — proteja o transporte do arquivo (compartilhamento criptografado) ou use **SQLCipher** (AES-256) para criptografia em repouso. - **Em repouso (*Encryption at Rest*)**: discos e volumes cifrados (AES-256) ou criptografia nativa de tabelas/coleções; senhas/hash sempre com algoritmos fortes (ex: `scram-sha-256`). 3. **Auditoria e Monitoramento**: - Habilitação de logs de consultas lentas (*Slow Query Log*) e auditoria de ações administrativas. - Monitoramento ativo de IOPS, taxa de cache hit, uso de CPU, saturação de conexões e lag de replicação. --- ## 🔗 Integração com Outras Skills - Para integrar acesso a banco de dados em aplicações backend resilientes, consulte [backend-developer](../backend-developer/SKILL.md) e [clean-code-reusability](../../engineering-practices/clean-code-reusability/SKILL.md). - Para provisionamento de infraestrutura de bancos de dados via IaC, Docker e Kubernetes, consulte [devops-engineer](../devops-engineer/SKILL.md) e [cloud-aws](../../cloud-infra/cloud-aws/SKILL.md). - Para requisitos de conformidade de dados, retenção e privacidade (LGPD/GDPR), consulte [security-privacy](../../security/grc-compliance/security-privacy/SKILL.md) e [pci-dss-compliance](../../security/grc-compliance/pci-dss-compliance/SKILL.md).
Auf GitHub ansehen