Introdução
Cargas de dados referem-se aos diferentes tipos de operações e transações que um banco de dados deve processar. Essas cargas variam conforme o tipo de aplicação e o uso do banco de dados, influenciando a forma como os dados são armazenados, acessados e manipulados. Compreender os diferentes tipos de cargas de dados ajuda a otimizar o desempenho e a eficiência do sistema, já que através disso surge a possibilidade de tomar as melhores escolhas em relação a hardware e parâmetros de otimização do seu banco, tornando-o mais rápido e eficiente. Então, neste artigo veremos:
- Tipos de cargas
- OLTP
- DW
- WEB
- Mixed
- Desktop
Tipos de cargas
OLTP (Online Transaction Processing ou Processamento de Transação Online)
Características
- Alta concorrência (muitas conexões simultâneas) e baixa latência: precisa ser rápido e acontece muitas vezes e ao mesmo tempo;
- Alto volume de pequenas transações: inserção, atualização ou exclusão de pequenas quantidades de dados;
- Necessita de alta disponibilidade e consistência: deve estar sempre disponível para transações a qualquer momento, garantindo que os dados estejam sempre corretos e íntegros, mesmo em caso de falhas;
- Também pode incluir rotinas de transações longas e complexas.
Recursos de hardware importantes
- CPU: processadores de alta performance com muitos núcleos para lidar com múltiplas transações simultâneas;
- Memória: quantidade suficiente de RAM para manter os dados frequentemente acessados em memória;
- Disco: armazenamento SSD veloz para garantir acesso rápido aos dados e alta IOPS (Input/Output Operations Per Second);
- Rede: conectividade de rede rápida e confiável para suportar múltiplos acessos simultâneos.
Exemplos de sistema OLTP
- Sistemas bancários: processamento de transações financeiras, como depósitos, retiradas, transferências de fundos, pagamentos de contas e consultas de saldo;
- E-commerce (lojas virtuais): transação de compra, como adição ao carrinho, finalização de compra, atualização de estoque, processamento de entradas de pedidos;
- Sistema de reservas: reservas de passagens aéreas, hotéis, aluguel de carros e ingressos para eventos, garantindo disponibilidade em tempo real e atualizações instantâneas.
Data Warehouse (DW)
Características
- Focado em consultas complexas e análise de dados: o principal aqui é leitura, pois guarda dados históricos que são consultados com certa frequência;
- Integração de dados: consolida dados de diferentes fontes em um formato consistente;
- Não volatilidade dos dados: diferente do OLTP, aqui os dados inseridos não são alterados ou apagados, proporcionando uma visão estável (e histórica) da informação;
- Prioriza leituras e agregações: justamente para consulta de dados históricos, conforme citamos, permitindo análises de tendências ao longo do tempo;
- Tolerância à latência maior em comparação ao OLTP.
Quando falamos sobre DW, existem outros termos que se relacionam e são frequentemente vistos:
- Data lake: armazena dados brutos e não processados, incluindo dados estruturados, semiestruturados e não estruturados. A diferença para o DW é que lá temos dados processados e estrutura fixa. Os propósitos também se diferem: o datalake armazena grandes volumes de dados variados para análise futura, sendo adequado para big data, machine learning e análises avançadas, enquanto o DW atende mais a análises de negócios, geração de relatórios e suporte à tomada de decisões estratégicas;
- Data frame: uma estrutura de dados em memória e tabular, semelhante a uma tabela em uma base de dados ou a uma planilha em Excel, com linhas e colunas. É comumente utilizado em linguagens de programação como Python (com pandas) e R para manipulação, análise e visualização de dados; é fácil de usar para operações de filtragem, agregação e transformação de dados.
- Data mart: subconjunto de um DW, focado em um departamento específico ou área de negócio, como vendas, marketing ou finanças. Então, diferente de um DW que abrangeria toda a organização que guarda os dados, o datamart é focado e limitado a um departamento.
Recursos de hardware importantes
- CPU: processadores poderosos para lidar com consultas complexas e operações de agregação;
- Memória: grande quantidade de RAM para suportar grandes conjuntos de dados em operações analíticas;
- Disco: armazenamento de grande capacidade e alta performance, preferencialmente SSDs;
- Rede: conectividade robusta para transferência eficiente de grandes volumes de dados.
Exemplos de uso de um DW
Um Data Warehouse pode atender empresas de diversos setores que necessitam consultar e analisar seus dados históricos. Confira algumas das áreas em que essa estrutura é frequentemente utilizada:
- Finanças: bancos e instituições financeiras utilizam DWs para consolidar dados de transações, analisar riscos, detectar fraudes e gerar relatórios de conformidade regulatória;
- Varejo: empresas de varejo empregam DWs para analisar padrões de compras, gerenciar inventários, personalizar campanhas de marketing e monitorar o desempenho das vendas;
- Saúde: organizações de saúde usam DWs para consolidar registros de pacientes, analisar tratamentos e resultados clínicos e gerar relatórios para pesquisa e conformidade regulatória.
Web
Características
- Muita leitura: é destinado a aplicações web que envolvem transações rápidas (como consultas) durante a navegação do usuário;
- Alta concorrência (muitas conexões simultâneas): por atender a usuários online, lida com transações de vários usuários ao mesmo tempo;
- Necessidade de escalabilidade: é crucial que a infraestrutura seja escalável para lidar com picos de acesso sem comprometer a performance ou a disponibilidade do sistema.
Recursos de hardware importantes
- CPU: processadores com bom desempenho multi-core para lidar com múltiplas requisições simultâneas;
- Memória: quantidade moderada a alta de RAM para suportar cache de sessões e dados frequentemente acessados;
- Disco: armazenamento SSD para melhorar o tempo de resposta;
- Rede: alta largura de banda e baixa latência para garantir tempo de resposta rápido.
Exemplos de sistemas web
- Redes sociais: onde usuários interagem simultaneamente com postagens, atualizações de status, fotos e vídeos, gerando um grande volume de transações e consultas;
- Streaming: onde usuários acessam conteúdo (vídeos, música) sob demanda, resultando em alta demanda de acesso durante horários de pico;
- Portais de notícias: sites que experimentam picos de acesso durante eventos de grande importância ou notícias de última hora.
Mixed (misturado)
Características
- Combina características de diferentes tipos de carga: OLTP e DW, por exemplo;
- Envolve tanto transações rápidas quanto consultas complexas: rápidas como inserções, atualizações e exclusões de dados e complexas como análise e recuperação de dados históricos;
- Otimiza recursos e custo: o objetivo aqui é usar de forma eficiente os recursos computacionais e de armazenamento, adaptando-se dinamicamente às necessidades da carga de trabalho mista para reduzir custos operacionais.
Recursos de hardware importantes
- CPU: processadores com muitos núcleos e alta frequência para suportar diversidade de operações;
- Memória: grande quantidade de RAM para suportar tanto operações transacionais quanto analíticas;
- Disco: armazenamento SSD de alta capacidade para suportar tanto leitura quanto escrita intensivas;
- Rede: alta capacidade de rede para lidar com diferentes tipos de carga de dados.
Exemplos de sistemas mixed
- Sistemas ERP (Enterprise Resource Planning ou Gestão empresarial): sistemas que suportam processos empresariais como finanças, recursos humanos, cadeia de suprimentos e vendas. Eles lidam com transações diárias (como pedidos de compra, faturamento) e consultas analíticas (relatórios financeiros, análise de vendas);
- Aplicações CRM (Customer Relation Management ou Gerenciamento de relação com o cliente): ferramentas que gerenciam interações com clientes, incluindo vendas, marketing e suporte ao cliente. Elas processam transações de atualização de dados do cliente e também consultas para análise de comportamento e tendências de vendas.
Desktop
Características:
- Uso doméstico e individual: voltado para um único usuário ou um pequeno grupo de usuários em um ambiente residencial;
- Gerenciamento de dados: inclui armazenamento e gerenciamento de dados localmente ou na nuvem para suportar atividades pessoais, como processamento de texto, planilhas, gerenciamento de fotos e vídeos, entre outros;
- Pode ser utilizado para ambiente de testes e desenvolvimento.
Recursos de hardware importantes:
- Processador: múltiplos núcleos e alta frequência para multitarefas, processamento complexo e jogos;
- Memória: no mínimo 8 GB de RAM para executar diversos programas sem lentidão;
- Disco: armazenamento SSD para melhorar o tempo de resposta.
Exemplos de uso de desktop
- Usuários comuns: qualquer um que queira usar um computador para as mais diversificadas tarefas, como trabalho, jogos etc.
- Programadores: profissionais que trabalham com um desktop individual e tanto desenvolvem programas quanto rodam testes nele.
Conclusão
Vimos que existem diversos tipos de cargas de dados que podem ser utilizadas com diversas finalidades. Na hora de montar um servidor de banco de dados, é importante conhecer sobre seu negócio, para saber como seu banco será utilizado e, assim, escolher a carga mais adequada, impactando positivamente no funcionamento e na performance do seu sistema/aplicação.
Além disso, recomendamos o site TPC, que traz diversos testes de benchmarking, das mais variadas situações de cargas de dados, o que pode ser útil para pesquisas de recursos antes de fazer algum investimento.