TigerBeetle: Banco de dados OLTP de alto desempenho priorizando segurança e velocidade
TigerBeetle é um banco de dados de processamento transacional online (OLTP) construído para contabilidade em partidas dobradas, enfatizando segurança e velocidade. Ele utiliza o protocolo de consenso Viewstamped Replication (VR) para garantir a consistência serializável forte. Ao contrário de bancos de dados de uso geral, o TigerBeetle armazena apenas contas e transferências entre elas, sendo ideal para transações financeiras e aplicações semelhantes. Para cargas de trabalho de alta concorrência, ele direciona as gravações por meio de um único núcleo no nó principal, priorizando a escalabilidade vertical em vez da horizontal. A tolerância a falhas robusta é um princípio de design central, com modelos explícitos para várias falhas e mecanismos para evitar a perda de dados mesmo com a sobrevivência de uma única réplica. Um processo de atualização exclusivo usa binários de várias versões para transições suaves. Testes Jepsen revelaram vários bugs, principalmente relacionados ao tratamento de clientes e falhas de nó único, a maioria dos quais foi posteriormente corrigida pela equipe TigerBeetle.