Tecnologias3 minmoc
MOC Tecnologias
Tecnologias
Base de consulta com definições, funcionamento, exemplos e limitações de linguagens, bancos de dados, tecnologias de mensageria e armazenamento de objetos. Cada categoria tem um índice para localizar a explicação do assunto diretamente.
Como aprofundar
Comece por Roteiro de Aprofundamento de Tecnologias. As notas temáticas incluem Aprofundamento aplicado, com mecanismos, cenários de falha, decisões de projeto e exercícios com resultado esperado. As referências oficiais ficam junto das explicações correspondentes.
Categorias
| Categoria | Conteúdo |
|---|---|
| 01 - Linguagens | Go e TypeScript: tipos, execução, concorrência e uso em aplicações |
| 02 - Bancos de Dados | Relacionais, Não Relacionais, NewSQL e Colunares |
| 03 - Filas | Kafka, RabbitMQ e Amazon SQS: roteamento, consumo, retenção e garantias de entrega |
| 04 - Armazenamento de Objetos | Amazon S3, Cloudflare R2, Apache Parquet e consultas de arquivos |
| 05 - Comparações | Diferenças de comportamento e arquitetura entre tecnologias |
Linguagens
- Go — linguagem, goroutines, channels, erros, memória, runtime e produção.
- TypeScript — JavaScript, tipos estáticos, interfaces, generics, assincronismo, módulos e validação.
Bancos de Dados
- Relacionais: PostgreSQL, MySQL e Oracle.
- Não Relacionais (NoSQL): MongoDB, DynamoDB e definições dos modelos de dados.
- NewSQL: SQL distribuído, partições, consenso, transações e exemplos de produtos.
- Colunares: ClickHouse e DuckDB, armazenamento colunar e agregações SQL.
As subdivisões organizam a consulta e podem se sobrepor: um banco pode ser relacional, colunar e voltado a consultas analíticas; NewSQL descreve outra dimensão da arquitetura.
Filas
- Kafka — log de eventos, partições, offsets, grupos de consumidores e operação.
- RabbitMQ — exchanges, bindings, filas, confirmações, retry e dead-letter.
- Amazon SQS — filas gerenciadas, Standard/FIFO, visibility timeout, retry e DLQ.
- 5. Kafka vs Fila Tradicional — diferenças entre consumir uma fila e ler um log com retenção.
Armazenamento de Objetos
- Amazon S3 — buckets, objetos, chaves, consistência e versionamento.
- Cloudflare R2 — objetos, API S3, URLs assinadas, cache e custos.
- Apache Parquet no S3 — estrutura colunar dos arquivos e consultas com ClickHouse.
- Apache Iceberg — snapshots, schema, partições, manutenção e integração com catálogos e motores.
Consulta por assunto
| Assunto | Explicações |
|---|---|
| Tipos e contratos | 3. Tipos, Interfaces e Objetos em TypeScript · 3. Erros, Interfaces e o Estilo Go |
| Concorrência | 2. Goroutines e Channels · 9. Mutex vs Channel · 6. Promises, Async-Await e Erros |
| Acesso a objetos no R2 | 2. Acesso Público, URLs Assinadas e CORS no R2 · 3. API S3, Custos e Limitações do R2 |
| Dados externos | 8. Validação de Dados em TypeScript |
| Transações | 3. MVCC e Isolamento na Prática · 4. Transações e Isolamento em NewSQL |
| Distribuição de dados | 2. Particionamento e Escala em NewSQL · 6. Sharding por Dentro |
| Análise de dados | 3. Parquet e S3 com DuckDB · 2. MergeTree e Consultas no ClickHouse · 2. Apache Parquet e Consultas no S3 |
| NoSQL por chave | 2. Chaves, Query e Índices no DynamoDB |
| Entregas e falhas no RabbitMQ | 3. Confirmações, Retry e DLQ no RabbitMQ |
| Entregas e falhas no SQS | 3. Visibility Timeout e Exclusão no SQS · 4. Retry, DLQ e Lambda com SQS |
| Mensageria | 1. Mensageria e Desacoplamento · 4. Garantias de Entrega e Idempotência |
Outras bases de consulta
- Fundamentos de Programação — conceitos de programação.
- System Design — arquitetura e padrões.
- AWS — serviços gerenciados e suas características.