Ir para o conteúdo principal

O que é Processamento de transações online (OLTP)?

OLTP, ou Processamento de transações online, é um tipo de processamento de dados que pode gerenciar eficientemente grandes quantidades de transações curtas e rápidas com baixa latência. Em sua essência, o OLTP foi projetado para armazenar e recuperar dados rapidamente. Ela foca em cargas de trabalho operacionais essenciais do dia a dia, que normalmente envolvem transações como inserir, atualizar ou excluir pequenas quantidades de dados. Exemplos incluem registrar um depósito bancário, reservar uma passagem aérea ou processar uma compra online.

Continue explorando

Características chave dos sistemas OLTP

O OLTP é otimizado para velocidade, confiabilidade e concorrência, garantindo que muitos usuários possam realizar transações simultaneamente sem erros ou conflitos de dados, e que as organizações possam acessar as informações a qualquer momento.

Esses sistemas devem manter os dados precisos e consistentes em grandes volumes de transações comerciais em tempo real. Sistemas OLTP normalmente dependem de bancos de dados relacionais que aplicam propriedades ACID (atomicidade, consistência, isolamento e durabilidade) para garantir que apenas transações válidas e completas sejam armazenadas, mantendo a integridade de dados. Os sistemas OLTP também usam restrições, triggers, verificações de validação e regras de integridade referencial para proteger a integridade de dados e fornecer uma base sólida para a tomada de decisões organizacionais. Os mecanismos OLTP modernos também podem usar armazenamentos distribuídos de chave-valor ou de documentos, dependendo dos requisitos.

O controle de concorrência — garantir que vários usuários possam acessar e modificar dados ao mesmo tempo, na ordem correta, sem conflitos ou anomalias nos dados — também é importante para o OLTP. Os sistemas utilizam algoritmos de bloqueio para garantir que dois usuários não possam alterar os mesmos dados simultaneamente e que todas as transações sejam realizadas na ordem correta. O controle eficaz de concorrência permite que os sistemas OLTP ofereçam alta disponibilidade, capacidade de resposta e confiabilidade, mesmo sob cargas de transações elevadas.

Os sistemas OLTP devem operar com uma taxa de transferência alta, o que significa que precisam ser capazes de lidar com um grande volume de transações de forma rápida e eficiente. Ao mesmo tempo, também devem apresentar baixa latência, ou seja, atraso mínimo no processamento, para evitar lentidão quando o sistema processa um grande volume de operações comerciais concorrentes em tempo real.

Componentes centrais

O OLTP depende de vários componentes que trabalham em conjunto para facilitar o processamento de transações rápido, preciso e escalável para aplicações de negócios de missão crítica. Isso inclui:

  • Banco de dados: o OLTP normalmente depende de bancos de dados relacionais projetados para oferecer alto desempenho. Eles garantem a simultaneidade e a compliance com ACID para que os dados sejam precisos, sempre disponíveis e facilmente acessíveis. Os bancos de dados relacionais organizam os dados em tabelas inter-relacionadas, com cada informação armazenada apenas uma vez. Isso evita a redundância e ajuda a processar pequenas atualizações frequentes com eficiência. Os dados podem ser usados por qualquer aplicação, garantindo uma única fonte de verdade.
  • Mecanismo de query: este mecanismo fica acima do banco de dados, gerenciando a execução de operações em compliance com os princípios ACID. Ele coordena tarefas como registro de transações, controle de concorrência e operações de commit ou rollback.
  • Infraestrutura de suporte: isso inclui servidores de aplicações, middleware, interfaces de rede e sistemas de armazenamento que facilitam a comunicação, o acesso a dados e a otimização de desempenho.

Fluxo típico de transação

O OLTP executa transações usando vários passos projetados para processar milhares de transações por segundo, preservando a integridade e a confiança do usuário.

  1. Entrada/processamento de dados: um usuário inicia uma ação, como uma compra, um pagamento ou uma atualização, por meio de uma aplicação cliente, gerando uma solicitação de transação.
  2. Transmissão da solicitação de transação: a solicitação é enviada ao servidor de aplicações, que aplica a lógica de negócios para determinar as operações no banco de dados.
  3. Processamento de transações: o servidor executa operações — inserir, atualizar, excluir ou selecionar — no banco de dados OLTP.
  4. Commit ou rollback: se todas as operações forem bem-sucedidas, o sistema realiza o commit da transação, salvando as alterações permanentemente. Caso uma falha em alguma passo, o sistema reverte todas as ações para restaurar o estado anterior do banco de dados. Uma vez consolidado, as alterações são duradouras.
  5. Saída e registro: o sistema retorna uma confirmação ao usuário (na forma de um recibo ou mensagem, por exemplo) e registra a transação em logs.
  6. Processamento de dados downstream: os logs de transações e as tabelas servem como fonte para pipelines de dados downstream, como processos de extrair, transformar e carregar (ETL). Esses dados transferem dados do sistema OLTP para plataformas analíticas ou de processamento, como data warehouses, data lakes e sistemas de transmissão em tempo real para relatórios, analítica ou aplicações de machine learning.

Considerações de desempenho

O alto desempenho é crucial para que o OLTP ofereça a velocidade e a estabilidade que os usuários esperam para transações essenciais. Diversas técnicas são utilizadas para otimizar o desempenho de sistemas OLTP. Essas estratégias incluem:

  • Indexação: permite que o sistema encontre registros rapidamente, agilizando a recuperação de dados.
  • Particionamento: o particionamento divide tabelas grandes em partes menores para melhorar o desempenho, a escalabilidade e a capacidade de gerenciamento.
  • Pooling de conexões: aumenta a eficiência ao reutilizar as conexões de banco de dados existentes em vez de criar novas.
  • Cache: nesta técnica, os dados acessados com frequência são armazenados temporariamente na memória para acelerar as operações.
  • Escalabilidade: estratégias como a escalabilidade vertical (adicionando mais recursos físicos, como CPU, RAM ou armazenamento mais rápido) ou a escalabilidade horizontal (distribuindo a carga de trabalho por várias máquinas) são usadas para gerenciar o aumento do volume de transações.

Essas métodos são utilizados para garantir que os bancos de dados OLTP ofereçam confiabilidade e tempos de resposta de baixas milissegundos, mesmo quando os volumes de transações são altos. Isso garante aos usuários um desempenho rápido e fluido, e permite que as organizações escalem conforme a demanda conforme necessário, mantendo os custos baixos.

Exemplos reais de OLTP

O OLTP é essencial para uma série de funções-chave comerciais em todas as indústrias. Alguns exemplos incluem:

  • Processamento de pedidos de comércio eletrônico
  • Transações bancárias como saques em caixas eletrônicos e transferências de fundos
  • Processamento de pagamentos eletrônicos
  • Serviços financeiros, como trading de mercado
  • Reservas online de ingressos
  • Interações de atendimento ao cliente
  • Armazenamento de sessão/estado para agentes de IA conversacionais ou chatbots
  • Registro de informações de histórico de saúde
  • Manutenção na produção industrial
  • Acompanhamento do estado de dispositivos ou IoT

OLTP no Ecossistema de Dados

Os sistemas OLTP são a camada de linha de frente do ecossistema de dados para gerenciar e capturar operações comerciais diárias em tempo real. Os bancos de dados OLTP armazenam dados atuais e granulares gerados por essas transações. Posteriormente, esses dados são extraídos, transformados e carregados em sistemas downstream, como data lakes, data warehouses ou plataformas analíticas, onde são agregados e analisados para apoiar a tomada de decisões.

OLTP vs. OLAP

Muitas empresas usam OLTP junto com o processamento analítico online (OLAP). Ambos os sistemas são essenciais para gerenciar e analisar grandes volumes de dados, mas foram projetados para diferentes tipos de tarefas e possuem funções distintas. Enquanto o OLTP foca em armazenar e atualizar dados transacionais de forma eficiente e confiável em tempo real para operações ao vivo, o OLAP combina e agrupa dados para que possam ser analisados sob diferentes perspectivas para obter percepções de dados.

Como OLTP e OLAP se complementam

As organizações costumam usar tanto o processamento de dados OLAP quanto o OLTP para obter uma Business Intelligence abrangente. O OLTP foi projetado para transações ao vivo e atualizações em tempo real para cargas de trabalho, como processamento de pedidos, atualização de estoque ou gerenciamento de contas de clientes. O OLAP oferece suporte a percepções de dados históricos ou agregados, incluindo tarefas como geração de relatórios, identificação de tendências e análise complexa de dados. Os sistemas OLAP podem usar dados de origem de múltiplos sistemas OLTP para análises mais complexas.

Padrões de cargas de trabalho

O OLTP foi projetado para cargas de trabalho pesadas em escrita, focando em gerenciar um alto volume de pequenas transações concorrentes, mantendo a velocidade e a integridade de dados. Em contraste, os sistemas OLAP são projetados para operações pesadas em leitura, como agregação e análise. Elas são otimizadas para permitir que os usuários executem queries complexas em grandes volumes de dados de forma rápida e eficiente, em vez de modificar os dados.

Selecionando e otimizando soluções OLTP

Ao selecionar uma solução OLTP, as organizações devem analisar o quão bem o sistema atende às suas necessidades operacionais únicas, incluindo aspectos como tipo e volume de transação, estrutura de dados, requisitos de desempenho, escalabilidade e necessidades de resposta em tempo real. A solução certa se alinhará à estratégia de dados de longo prazo, aos casos de uso e aos recursos da organização.

Critérios de Avaliação

Um fator-chave na seleção de uma solução OLTP é escolher entre bancos de dados SQL e NoSQL. Os bancos de dados SQL, como Postgres (o principal padrão de código aberto para bancos de dados), MySQL ou Oracle, são excelentes em compliance estrita com ACID, que oferece suporte à integridade de dados. Eles também oferecem confiabilidade transacional e consultas complexas para dados estruturados. Os bancos de dados NoSQL fornecem maior escalabilidade, velocidade e flexibilidade para dados não estruturados.

Outros critérios-chave de avaliação de soluções OLTP incluem:

  • Escalabilidade: o sistema deve ter a capacidade de aumentar ou diminuir instantaneamente para gerenciar volumes de transações variáveis em cargas de trabalho concorrentes.
  • Consistência: a solução deve ser capaz de manter a consistência sem sacrificar o desempenho.
  • Adequado para cargas de trabalho de missão crítica: a solução deve aceitar funções essenciais. Por exemplo, em áreas como comércio eletrônico, saúde ou sistemas financeiros, a precisão das transações e o tempo de atividade são cruciais para as operações.
  • Segurança: uma segurança robusta é essencial para proteger os dados confidenciais das transações dos clientes.
  • Custo: as organizações precisam levar em consideração o custo total de propriedade, incluindo licenciamento, infraestrutura e gerenciamento.
  • Integração: nas arquiteturas tradicionais, os bancos de dados operacionais e os sistemas analíticos são completamente isolados. A arquitetura Lakebase integra nativamente bancos de dados OLTP ao lakehouse para simplificar os fluxos de trabalho operacionais de dados.

Dicas de otimização

Para otimizar os sistemas OLTP, as equipes devem focar em maximizar a eficiência, a capacidade de resposta e a integridade de dados. Existem diversas estratégias que podem ser usadas para tal, incluindo:

  • Transações pequenas: manter as transações pequenas e rápidas minimiza a quantidade de dados bloqueados em um determinado momento e reduz o conflito entre usuários concorrentes.
  • Otimização de índices: índices bem projetados podem acelerar significativamente o desempenho da query.
  • Cache: armazenar dados acessados frequentemente na memória pode reduzir o tempo de resposta das queries.
  • Réplicas de leitura: elas distribuem ainda mais a carga de queries sem diminuir a taxa de transferência transacional.
  • Balanceamento de carga: distribuir a carga de trabalho entre vários servidores evita gargalos, permitindo que as queries sejam processadas rapidamente.

Conclusão

O OLTP é a base do processamento de dados operacionais, facilitando transações de missão crítica e capturando os dados dessas transações para estimular análises e percepções adicionais. Compreender o papel dos sistemas OLTP e seus principais recursos é essencial para organizações que buscam otimizar sistemas para suas cargas de trabalho exclusivas e aproveitar ao máximo seus dados.

Integrando OLTP à Databricks

Lakebase é um mecanismo de banco de dados OLTP Postgres totalmente gerenciado, integrado diretamente à Databricks Data Intelligence Platform. A Lakebase incorpora OLTP no lakehouse com recursos como autoscale serverless, escala até zero, ramificação de banco de dados e restauração instantânea, tudo isso mantendo compatibilidade com as ferramentas padrão da Postgres e suporte para extensões da Postgres. Casos de uso típicos incluem:

  • Desenvolvimento de aplicações independentes que exigem armazenamento operacional rápido e confiável.
  • Fornecer dados analíticos diretamente do lakehouse para uma aplicação, sem a necessidade de pipelines adicionais.
  • Recursos e servindo modelo em uma aplicação para usos como recomendações de produtos ou segmentação de clientes.
  • Manutenção do estado da sessão e da aplicação para chatbots conversacionais e aplicações agênticas.

Usar um banco de dados OLTP integrado nativamente à Databricks Platform reduz a complexidade das aplicações, simplifica a gestão e amplia as capacidades de IA ao unificar dados operacionais, análise de dados, IA, aplicativos e governança em uma única plataforma.

    Voltar ao glossário