O que é OLTP?

Definição do OLTP

O OLTP ou Processamento de Transações Online é um tipo de processamento de dados que consiste na execução de várias transações que ocorrem simultaneamente (transações bancárias online, compras, entrada de pedidos ou envio de mensagens de texto, por exemplo). Essas transações são tradicionalmente chamadas de transações econômicas ou financeiras, registradas e protegidas para que uma empresa possa acessar as informações a qualquer momento para fins contábeis ou de relatórios.

No passado, o OLTP era limitado a interações do mundo real em que algo era trocado, como por dinheiro, produtos, informações, solicitação de serviços e assim por diante. Mas a definição de transação nesse contexto se expandiu ao longo dos anos, principalmente desde o advento da internet, abrangendo qualquer tipo de interação digital ou engajamento com uma empresa que possa ser acionado de qualquer lugar do mundo e por meio de qualquer sensor conectado à web Isso também inclui qualquer tipo de interação ou ação, como fazer download de pdfs em uma página da web, visualizar um vídeo específico ou acionadores de manutenção automática ou comentários em canais sociais que podem ser críticos para uma empresa registrar a fim de atender melhor seus clientes.


A definição primária para transações, sejam elas econômicas ou financeiras, continua sendo a base para a maioria dos sistemas OLTP, portanto, o processamento de transações online normalmente envolve inserir, atualizar e/ou excluir pequenas quantidades de dados em um armazenamento de dados para coletar, gerenciar e proteger essas transações. Normalmente, uma aplicação da Web, móvel ou corporativa, rastreia todas essas interações ou transações com clientes, fornecedores ou parceiros e as atualiza no banco de dados OLTP. Esses dados de transação armazenados no banco de dados são essenciais para as empresas e são usados em relatórios ou analisados visando a tomada de decisões orientada por dados.

Leia sobre como outras empresas, como Retraced, Parque Arqueológico de Pompeia, Jasci ou Siemens, conseguiram criar cargas de trabalho de processamento de transações na nuvem.

As empresas geralmente têm dois tipos de recursos de processamento de dados: OLTP e OLAP.

OLTP versus OLAP

Embora pareçam semelhantes e sejam sistemas de processamento de dados online, há uma grande diferença entre os dois.

O OLTP permite a execução em tempo real de um grande número de transações por um grande número de pessoas, enquanto o processamento analítico online (OLAP) geralmente envolve a consulta dessas transações (também chamadas de registros) em um banco de dados para fins analíticos. O OLAP ajuda as empresas a extrair insights de dados de transações para que possam usá-los em tomadas de decisões mais informadas.

A tabela abaixo mostra a comparação entre os sistemas OLTP e OLAP.

Sistemas OLTP

Sistemas OLAP

Habilita a execução em tempo real de um grande número de transações de banco de dados por um grande número de pessoas

Geralmente envolve a consulta de muitos registros (mesmo todos os registros) em um banco de dados para fins analíticos

Requer tempos de resposta extremamente rápidos

Requer tempos de resposta que são ordens de magnitude mais lentos do que os exigidos pelo OLTP

Modifica pequenas quantidades de dados com frequência e geralmente envolve um equilíbrio de leituras e gravações

Não modifica os dados de forma alguma; cargas de trabalho são geralmente de leitura intensiva

Usa dados indexados para melhorar os tempos de resposta

Armazena dados em formato colunar para permitir acesso fácil a um grande número de registros

Exige backups de banco de dados frequentes ou simultâneos

Exige backups de banco de dados muito menos frequente

Exige relativamente pouco espaço de armazenamento

Normalmente tem requisitos de espaço de armazenamento significativos, porque armazenam grandes quantidades de dados históricos

Geralmente executa consultas simples envolvendo apenas um ou alguns registros

Executa consultas complexas envolvendo um grande número de registros

Portanto, o OLTP é um sistema de modificação de dados online, enquanto o OLAP é um sistema de armazenamento de dados multidimensional histórico online usado para recuperar grandes quantidades de dados para fins analíticos. O OLAP geralmente fornece análises sobre dados que foram capturados por um ou mais sistemas OLTP.

Requisitos para um sistema OLTP

A arquitetura mais comum de um sistema OLTP que usa dados transacionais é uma arquitetura de três camadas que normalmente consiste em uma camada de apresentação, uma camada de lógica de negócios e uma camada de armazenamento de dados. A camada de apresentação é o front-end, onde a transação se origina por meio de uma interação humana ou é gerada pelo sistema. A camada lógica consiste em regras que verificam a transação e garantem que todos os dados necessários para concluir a transação estejam disponíveis. A camada de armazenamento de dados armazena a transação e todos os dados relacionados a ela.

As principais características de um sistema de processamento de transações online são as seguintes:

  • Conformidade com ACID: os sistemas OLTP devem garantir que toda a transação seja registrada corretamente. Uma transação geralmente é uma execução de um programa que pode exigir a execução de várias etapas ou operações. Pode ser concluído quando todas as partes envolvidas reconhecem a transação, ou quando o produto/serviço é entregue, ou quando um determinado número de atualizações são feitas nas tabelas específicas do banco de dados. Uma transação é registrada corretamente somente se todas as etapas envolvidas forem executadas e registradas. Se houver algum erro em qualquer uma das etapas, toda a transação deve ser abortada e todas as etapas devem ser excluídas do sistema. Assim, os sistemas OLTP devem estar em conformidade com as propriedades atômicas, consistentes, isoladas e duráveis (ACID) para garantir a precisão dos dados no sistema.
    • Atômica: os controles de atomicidade garantem que todas as etapas de uma transação sejam concluídas com sucesso como um grupo. Ou seja, se alguma etapa entre as transações falhar, todas as outras etapas também deverão falhar ou ser revertidas. A conclusão bem-sucedida de uma transação é chamada de "confirmar". A falha de uma transação é chamada de "abortar".
    • Consistente: A transação preserva a consistência interna do banco de dados. Se você executar a transação sozinha em um banco de dados inicialmente consistente, quando a transação terminar de ser executada, o banco de dados estará novamente consistente.
    • Isolado: A transação é executada como se estivesse sendo executada isoladamente, sem outras transações. Ou seja, o efeito de executar um conjunto de transações é o mesmo que executá-las individualmente. Esse comportamento é chamado de serialização e geralmente é implementado bloqueando as linhas específicas na tabela.
    • Durável: os resultados da transação não serão perdidos em caso de falha.
  • Simultaneidade: os sistemas OLTP podem ter populações de usuários muito grandes, com muitos usuários tentando acessar os mesmos dados ao mesmo tempo. O sistema deve garantir que todos esses usuários tentando ler ou escrever no sistema possam fazê-lo simultaneamente. Os controles de simultaneidade garantem que dois usuários que estão acessando os mesmos dados no sistema de banco de dados ao mesmo tempo não possam alterá-los, ou que um usuário precise esperar até que o outro usuário termine o processamento antes de alterá-los.
  • Escalonamento: Os sistemas OLTP devem ser capazes de aumentar e diminuir instantaneamente para gerenciar o volume de transações em tempo real e executar transações simultaneamente, independentemente do número de usuários tentando acessar o sistema.
  • Disponibilidade: um sistema OLTP deve estar sempre disponível e pronto para aceitar transações. A perda de uma transação pode levar à perda de receita ou pode ter implicações legais. Como as transações podem ser executadas de qualquer lugar do mundo e a qualquer momento, o sistema deve estar disponível 24 horas por dia, 7 dias por semana.
  • Alta taxa de transferência e tempo de resposta curto: os sistemas OLTP exigem tempos de resposta de nanossegundos ou até mais curtos para manter a produtividade dos usuários corporativos e atender às crescentes expectativas dos clientes.
  • Confiabilidade: os sistemas OLTP normalmente leem e manipulam pequenas quantidades de dados altamente seletivas. É fundamental que, a qualquer momento, os dados no banco de dados sejam confiáveis para os usuários e aplicações que acessam esses dados.
  • Segurança: como esses sistemas armazenam dados de transações de clientes altamente confidenciais, a segurança dos dados é fundamental. Qualquer violação pode custar muito caro para a empresa.
  • Recuperação: os sistemas OLTP devem ter a capacidade de recuperação em caso de falha de hardware ou software.

Bancos de dados para cargas de trabalho OLTP

Os bancos de dados relacionais foram construídos especificamente para aplicações de transação. Eles incorporam todos os elementos essenciais necessários para armazenar e processar grandes volumes de transações, ao mesmo tempo em que são continuamente atualizados com novos recursos e funcionalidades para extrair mais valor desses ricos dados de transações. Os bancos de dados relacionais são projetados desde o início para fornecer a maior disponibilidade possível e o desempenho mais rápido. Eles fornecem simultaneidade e conformidade com ACID para que os dados sejam precisos, estejam sempre disponíveis e sejam facilmente acessíveis. Eles armazenam os dados em tabelas após extrair os relacionamentos entre os dados para que estes possam ser usados por qualquer aplicação, garantindo uma única fonte confiável.

A evolução dos bancos de dados de processamento de transações

À medida que as transações se tornaram mais complexas, originadas de qualquer fonte ou dispositivo, em qualquer lugar do mundo, os bancos de dados relacionais tradicionais não eram avançados o suficiente para atender às necessidades dos fluxos de trabalho transacionais modernos. Foi necessário evoluir para lidar com as transações modernas, dados heterogêneos e escala global e, o mais importante, para executar cargas de trabalho mistas. Bancos de dados relacionais transformados em bancos de dados multimodais que armazenam e processam não apenas dados relacionais, mas também todos os outros tipos de dados, incluindo xml, html, JSON, Apache Avro e Parquet, e documentos nativos, sem muita transformação. Os bancos de dados relacionais também precisavam adicionar mais funcionalidades, como clustering e sharding, para que pudessem ser distribuídos globalmente e escalados infinitamente para armazenar e processar volumes de dados cada vez maiores e fazer uso de armazenamento mais barato disponível na nuvem. Com outros recursos, como in-memory, análise avançada, visualização e filas de eventos de transação incluídos, esses bancos de dados agora podem executar várias cargas de trabalho, como executar análises em dados de transações ou processar dados de streaming (Internet of Things (IoT)) ou executar análise espacial e gráfica.

Bancos de dados relacionais modernos construídos na nuvem automatizam muitos aspectos operacionais e de gerenciamento do banco de dados, facilitando o uso e o provisionamento para os usuários. Eles fornecem provisionamento, segurança, recuperação, backup e dimensionamento automatizados para que os DBAs e as equipes de TI tenham que gastar muito menos tempo para mantê-los. Também incorporam inteligência para ajustar e indexar automaticamente os dados para que o desempenho das consultas ao banco de dados seja consistente, independentemente da quantidade de dados, do número de usuários simultâneos ou da complexidade das consultas. Esses bancos de dados em nuvem também incluem recursos de autoatendimento e APIs REST para que desenvolvedores e analistas possam acessar e usar facilmente os dados. Isso simplifica o desenvolvimento de aplicações, oferecendo flexibilidade e tornando mais fácil para os desenvolvedores criarem novas funcionalidades e personalizações em aplicações. Também simplifica a análise, tornando mais fácil para analistas e cientistas de dados usarem os dados para extrair insights.

Como selecionar o banco de dados certo para sua carga de trabalho OLTP

À medida que a equipe de TI se esforça para acompanhar a velocidade dos negócios, é importante que, ao escolher um banco de dados operacional, você considere suas necessidades imediatas de dados e os requisitos de dados de longo prazo. Para armazenar transações, manter sistemas de registro ou gerenciamento de conteúdo, você precisará de um banco de dados com alta simultaneidade, alta produtividade, baixa latência e características de missão crítica, como alta disponibilidade, proteção de dados e recuperação de desastres. Muito provavelmente, a carga de trabalho flutuará ao longo do dia, da semana ou do ano, portanto, garantir que o banco de dados possa ser dimensionado automaticamente ajudará você a economizar muitas despesas. Você também pode precisar decidir se deve usar um banco de dados específico ou um banco de dados de uso geral. Se os requisitos forem para um tipo específico de dados, um banco de dados criado especificamente pode funcionar para você, mas certifique-se de não comprometer nenhuma das outras características necessárias. Criar essas características posteriormente na camada de aplicação seria caro e consumiria muitos recursos. Além disso, se suas necessidades de dados crescerem e você quiser expandir a funcionalidade de sua aplicação, adicionar mais bancos de dados de propósito único ou adequados apenas criará silos de dados e aumentará os problemas de gerenciamento de dados. Considere também outras funcionalidades que podem ser necessárias para sua carga de trabalho específica, por exemplo, requisitos de ingestão, requisitos de computação push-down e tamanho no limite.

Selecione um serviço de banco de dados em nuvem à prova de futuro com recursos de autoatendimento que automatizarão todo o gerenciamento de dados para que seus consumidores de dados – desenvolvedores, analistas, engenheiros de dados, cientistas de dados e DBAs – possam fazer mais com os dados e acelerar o desenvolvimento de aplicações.

Saiba mais sobre o Autonomous Transaction Processing Database da Oracle, o serviço de banco de dados de OLTP na nuvem. Experimente gratuitamente.