VoltDB - VoltDB

VoltDB
Desenvolvedor (s) VoltDB Inc.
Versão estável
10.1 / 30 de outubro de 2020 ; 10 meses atrás ( 2020-10-30 )
Repositório
Escrito em Java , C ++
Sistema operacional Linux , macOS
Plataforma Java
Modelo RDBMS
Licença GNU Affero General Public License v3, VoltDB Proprietary License
Local na rede Internet voltdb .com

VoltDB é um banco de dados em memória desenvolvido por Michael Stonebraker (que anteriormente projetou Ingres e PostgreSQL ), Sam Madden e Daniel Abadi. É um RDBMS compatível com ACID que usa uma arquitetura sem compartilhamento . Inclui edições empresariais e comunitárias. A edição da comunidade está licenciada sob a GNU Affero General Public License .

Arquitetura

VoltDB é um banco de dados relacional NewSQL que suporta acesso SQL a partir de procedimentos armazenados Java pré-compilados . A unidade de transação é o procedimento armazenado, escrito em Java intercalado com SQL. Internamente, os dados são gerenciados por um núcleo C ++ para evitar problemas de coleta de lixo.

O VoltDB depende do particionamento horizontal até o segmento de hardware individual para escalar, k-safety ( replicação síncrona ) para fornecer alta disponibilidade e uma combinação de instantâneos contínuos e registro de comando para durabilidade (recuperação de falha).

VoltDB é baseado em H-Store . Ele usa uma arquitetura sem compartilhamento para escalar. Os dados e o processamento associado a eles são distribuídos pelos núcleos da CPU nos servidores que compõem um único cluster VoltDB. Ao estender sua base de nada compartilhado para o nível por núcleo, o VoltDB é dimensionado com as contagens crescentes de núcleo por CPU em servidores de vários núcleos.

Tornando os procedimentos armazenados a unidade de transação e executando-os na partição que contém os dados necessários, é possível eliminar o envio de mensagens de ida e volta entre as instruções SQL. Os procedimentos armazenados são executados em série e até a conclusão em um único thread sem travamento ou travamento, semelhante à arquitetura LMAX . Como os dados estão na memória e locais na partição, um procedimento armazenado pode ser executado em microssegundos. O esquema de iniciação de procedimento armazenado do VoltDB permite que todos os nós iniciem procedimentos armazenados, evitando um único pedido global serializável.

VoltDB é compatível com ACID. Os dados são gravados em armazenamento durável. A durabilidade é garantida por instantâneos contínuos; registro de comando assíncrono, que cria instantâneos e um registro de transações entre instantâneos; e log de comando síncrono, que registra transações após a conclusão da transação e antes de ser confirmada no banco de dados. Isso garante que nenhuma transação seja confirmada que não seja registrada e que nenhuma transação seja perdida.

História

O VoltDB v5.0 introduziu uma ferramenta de monitoramento e gerenciamento de banco de dados, o VoltDB Management Center (VMC para abreviar). O VMC fornece monitoramento e gerenciamento de configuração one-stop baseado em navegador do banco de dados VoltDB, incluindo gráficos para taxa de transferência e latência do cluster, bem como uso de CPU e memória para o servidor atual.

O VoltDB versão 5.1, lançado em março de 2015, introduziu a funcionalidade de replicação de banco de dados (DR), removendo qualquer ponto único de falha. O DR fornece replicação simultânea e paralela de várias partições e logs binários dos resultados da transação, evitando que a réplica tenha que repetir a transação.

Veja também

Referências

links externos