
O que é processamento de transações online (OLTP)?
OLTP é um processamento de dados centrado em transações que segue uma arquitetura de três camadas.
Todos os dias, empresas em todo o mundo realizam milhões de transações financeiras. Esse fato traz à mente o pessoal que atende o cliente, como caixas de banco e caixas de supermercado, digitando em teclados e caixas registradoras, e por um bom motivo. De acordo com ACI em todo o mundo, empresa de sistemas de pagamentos, houve um crescimento de 42.2% nos volumes globais de transações em tempo real em 2023, totalizando 266.2 bilhões de transações.
No entanto, as empresas fora dos setores financeiro e retalhista também geram muitas transações diariamente. E cada uma dessas transações requer armazenamento seguro para análise, uso e outras aplicações futuras.
O Online Transaction Processing (OLTP) foi projetado para armazenar grandes volumes de dados transacionais em um data warehouse, e este blog discute isso em detalhes. Vamos começar.
O OLTP se distingue pelos dois fatores a seguir:
- Seu design dedicado, que suporta a execução e registro de centenas (ou mais) de transações simultâneas.
- O componente ‘online’ em seu nome, que se refere à forma como aproveita a Internet para lidar com transações em tempo real.
Exemplos de sistemas OLTP
- ATMs e processos bancários online
- Plataformas de emissão de ingressos, reservas e reservas
- Sistemas de processamento de pagamentos com cartão de crédito
- Entrada de pedido
- Manutenção de registros
OLTP versus. OLAP
OLTP e processamento analítico online (OLAP) são dois tipos diferentes of dados, processing sistemas tque as empresas usam em conjunto umas com as outras.
Embora o OLTP seja projetado principalmente para registrar transações, OLAP os bancos de dados são projetados para ajudar as equipes de dados a consultá-los e analisá-los.
Aqui está uma comparação entre os dois:
OLTP |
OLAP |
Construído para armazenar rapidamente grandes volumes de transações online. | Construído para coletar dados de diversas fontes para permitir a análise de dados. |
Projetado para registrar transações e operações comerciais em tempo real. | Projetado para analisar todos os tipos de dados históricos de negócios. |
As consultas OLTP são simples. | As consultas OLAP são complexas. |
O tamanho padrão varia de 100 Mb a 10 GB. | Maior que os sistemas OLTP. Seu tamanho típico varia de 1 Tb a 100 Pb. |
Freqüentemente modifica dados e possui uma combinação de tarefas de leitura e gravação. | Não modifica dados e possui cargas de trabalho somente leitura. |
Precisa de backups frequentes e de um mecanismo de recuperação abrangente. | Pode ser feito backup com pouca frequência sem problemas. |
Características dos Sistemas OLTP
- Respostas rápidas: Os sistemas OLTP apresentam respostas rápidas para facilitar as operações em tempo real. O tempo de resposta normalmente é medido em milissegundos.
- Conjuntos de dados indexados: Esses sistemas apresentam conjuntos de dados indexados para ajudar os usuários a pesquisar, consultar e recuperar dados rapidamente.
- Alta disponibilidade: Dada a importância de um sistema OLTP em aplicações em tempo real, garantir alta disponibilidade minimiza o tempo de inatividade.
- Operações mais simples: As operações comuns incluem inserções, exclusões e atualizações de dados. Todas essas operações são mais simples, pois esses sistemas não atendem a requisitos analíticos complexos.
Para quais bancos de dados são usados OLTP Cargas de trabalho?
As cargas de trabalho OLTP precisam de sistemas de gerenciamento de banco de dados relacional (RDBMS) para armazenamento e modificação de dados, pois os bancos de dados relacionais são desenvolvidos especificamente para aplicativos de transação.
Aqui estão alguns exemplos:
1. PostgreSQL/Postgres
A personalização e flexibilidade do PostgreSQL o tornam ideal para OLTP.
Em particular, o Multi-Version Concurrency Control (MVCC) do Postgres permite acesso simultâneo a dados para múltiplas transações, evitando que uma transação bloqueie outra. Isso melhora o desempenho e a eficiência.
2. Banco de dados Oracle
Oracle Database é um RDBMS abrangente que oferece suporte a diferentes casos de uso. Além do OLTP, o Oracle Database é usado para armazenamento de dados e aplicativos mistos (OLTP e armazenamento de dados).
3.Microsoft SQL Server
Muito parecido com o banco de dados Oracle, o Microsoft SQL Server também oferece suporte a tarefas relacionadas a armazenamento de dados e inteligência de negócios, além de cargas de trabalho OLTP.
4. MySQL
MySQL é amplamente utilizado como ambos um código aberto e comercial RDBMS. Sua escalabilidade, facilidade de uso, disponibilidade e capacidades transacionais faça disso um ótimo opção para cargas de trabalho OLTP.
5.MongoDB
MongoDB é flexível, escalável e adequado para empresas que procuram uma opção NoSQL para processar suas cargas de trabalho OLTP. Os sistemas de pagamento estão entre os casos de uso comuns do MongoDB, e tem um modelo flexível centrado em documentos que funciona bem para tarefas OLTP.
Os benefícios e desafios de trabalhar com cargas de trabalho OLTP
Os sistemas OLTP têm seus benefícios e desafios, destacados abaixo:
Benefícios:
Os dois maiores benefícios de um sistema OLTP são simultaneidade e conformidade com ACID (atomicidade, consistência, isolamento e durabilidade).
Concorrência permite que um sistema OLTP atender de forma eficaz e simultânea a vários usuários. Dois ou mais usuários podem fazer transações livremente em um sistema porque sua simultaneidade evitará que essas transações entrem em conflito ou se sobreponham.
A conformidade ACID compreende os seguintes componentes:
Atomicidade: divide as transações do banco de dados em componentes menores para garantir a integridade da transação como um todo.
Consistência: as transações do banco de dados estão sujeitas a certas regras de validação de dados e somente os dados que correspondem a essas regras são gravados no banco de dados.
Isolamento: as transações do banco de dados são processadas simultaneamente sem quaisquer conflitos.
Durabilidade: garante que, após a conclusão de uma transação, as alterações de dados resultantes sejam gravadas no banco de dados. Isso mantém as alterações de dados apesar de falhas técnicas.
A conformidade com ACID permite que os bancos de dados OLTP gerenciem transações do início ao fim. Ele garante a funcionalidade de uma transação dividindo cada transação em componentes menores, aplicando regras de validade de dados, processando-as simultaneamente e salvando os dados.
Além da simultaneidade e da conformidade com ACID, outras vantagens de um sistema OLTP incluem:
- Dados normalizados: Os sistemas OLTP geralmente usam estruturas de dados normalizadas. Isso minimiza a redundância, permite armazenamento otimizado e evita anomalias de dados.
- Reversão de transação: A capacidade de reversão de transações de um sistema OLTP permite que os usuários revertam transações ou outras alterações no caso de um problema de hardware ou outro tipo de erro.
- Integridade de dados: Manter integridade de dados e a consistência é fácil, pois a conformidade e a normalização do ACID aumentam a confiabilidade das transações e mantêm o banco de dados preciso.
Desafios
Os desafios comuns associados ao uso de bancos de dados OLTP incluem:
- Consultando dados históricos: Eles são construídos para lidar com transações atuais e dados em tempo real. Conseqüentemente, é difícil consultar dados históricos usando um sistema OLTP, especialmente em comparação com OLAP.
- Despesas gerais do ACID: A conformidade com o ACID, embora benéfica, pode levar a algumas despesas gerais. Uma melhor integridade dos dados pode afetar o desempenho do sistema, pois as transações ACID exigem sobrecarga adicional de poder de processamento.
- Manutenção frequente: A manutenção de sistemas OLTP complexos pode consumir muitos recursos em um ambiente dinâmico e expansivo. Conforme observado acima, esses sistemas precisam de backups, manutenção e otimização frequentes, o qual exigem esforços dedicados e contínuos para manter a alta disponibilidade.
Como selecionar da Banco de dados correto para cargas de trabalho OLTP
Manter os seguintes fatores em mente pode ajudar as equipes de dados a selecionar o banco de dados certo:
Compreendendo os requisitos de desempenho
Conhecer o volume estimado de transações, os requisitos de simultaneidade e os tempos de resposta ideais é essencial. O banco de dados selecionado deve lidar efetivamente com a carga transacional de uma organização.
Suporte para conformidade com ACID
A conformidade com ACID é vital para garantir a integridade dos dados em um sistema OLTP, portanto, um banco de dados com garantias ACID abrangentes é a opção certa para uma carga de trabalho OLTP.
Controle de simultaneidade
As transações simultâneas são outro recurso importante; gerenciá-los de forma eficaz requer que um banco de dados tenha mecanismos de controle de simultaneidade suficientes, como:
- Bloqueio
- Controle de simultaneidade otimista (OCC)
- Ordem de carimbo de data / hora
- Isolamento de instantâneo
- Controle de simultaneidade multiversãool (MVCC)
- Isolamento de instantâneo serializável (SSI)
Escalabilidade
A escalabilidade pode ter importância variável dependendo do modelo de negócios e da aplicação.
Um banco de dados que pode ser dimensionado horizontalmente (integrando mais servidores) e verticalmente (aumentando os recursos do servidor) pode acompanhar uma variedade de cargas de trabalho.
Modelo de dados
Geralmente, os bancos de dados relacionais funcionam bem com dados estruturados, e os bancos de dados NoSQL são mais adequados para dados semiestruturados e não estruturados. A seleção de banco de dados para cargas de trabalho OLTP deve corresponder aos requisitos de esquema do aplicativo.
Durabilidade e tolerância a falhas
Mecanismos como replicação, failover automático e backups auxiliam na durabilidade dos dados e na tolerância a falhas, tornando-os necessários para evitar a perda de dados.
Modelos de consistência
Um banco de dados pode apresentar um dos seguintes modelos de consistência:
- Consistência Forte: Este modelo fornece visibilidade imediata e consistente de atualizações em todos os nós. Este é o nível de consistência mais alto, mas pode aumentar a latência e diminuir a disponibilidade.
- Consistência eventual: Neste modelo, as atualizações síncronas eventualmente colocam todas as réplicas no mesmo estado. Por priorizar baixa latência e alta disponibilidade, é uma escolha melhor para sistemas distribuídos.
- Consistência Causal: As operações causalmente relacionadas são ordenadas consistentemente entre os nós deste modelo. Preserva a relação causal entre eventos e equilibra consistência e desempenho.
Como cada modelo tem uma compensação entre consistência, disponibilidade e tolerância à partição, a equipe de dados pode selecionar um com base nos requisitos da aplicação.
Segurança
Capacidades de segurança pode variar entre bancos de dados, mas recursos como autorização, criptografia, autenticação e auditoria podem aumentar a conformidade com políticas e regulamentos de segurança organizacional.
Infraestrutura Comunitária e de Apoio
Os serviços de suporte de um banco de dados e o tamanho de sua comunidade também são fatores importantes a serem considerados. Uma comunidade grande e ativa pode ser um recurso útil para aprender práticas recomendadas e adquirir insights, e um ecossistema de suporte pode ajudar a solucionar problemas rapidamente.
Custo
O custo total de propriedade (TCO) de um banco de dados — que inclui licenciamento, custos de infraestrutura, manutenção e despesas de suporte — pode impactar sua viabilidade para uma empresa. Idealmente, um banco de dados deve oferecer uma boa relação custo-benefício e atender aos requisitos organizacionais.
Conclusão
Existindo desde a década de 1970, os sistemas de processamento de transações online suportam aplicações transacionais em uma ampla gama de setores. Houve progresso na combinação de sistemas OLTP e OLAP em uma plataforma unificada (como MySQL Heatwave da Oracle). No entanto, os sistemas OLTP mantêm em grande parte a sua funcionalidade distinta, que as organizações podem aproveitar totalmente usando o banco de dados correto.
Astera apresenta conectores integrados para diferentes bancos de dados – como MySQL, PostgreSQL, MongoDB e Oracle – para execução Cargas de trabalho OLTP. Sua plataforma descomplicada e sem código permite que os usuários projetem e implantem modelos de dados OLTP facilmente.
Entre em contato com nossa equipe para saber mais.