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.

インストールへ移動

ソース情報

リポジトリ
dandgabr/skills
ソースの最終更新活動
2026年9月11日 19:45
検出された SKILL.md の言語
ポルトガル語
スター
10
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
5 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
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).
GitHubで見る