Dolt, um sistema de gerenciamento de banco de dados no estilo Git

O projeto Dolt foi anunciado recentemente , desenvolvendo um sistema de gerenciamento de banco de dados que combina suporte a SQL com controle de versão no estilo Git. O interessante do Dolt é que ele permite aos usuários clonar tabelas, criar forks e mesclar tabelas, além de realizar operações de push e pull semelhantes às de um repositório Git.

Ao mesmo tempo, este sistema de gerenciamento de banco de dados suporta consultas SQL e é compatível com MySQL no nível da interface do cliente. Os recursos de versionamento permitem que os usuários rastreiem a origem dos dados, e o recurso de vinculação de commits possibilita correções para alcançar resultados idênticos, que, independentemente do estado atual, podem ser replicados em outros sistemas a qualquer momento.

Além disso, os usuários podem navegar facilmente pelo histórico, bem como rastrear alterações nas tabelas usando SQL, sem a necessidade de conciliar backups, auditar alterações e também gerar consultas que abrangem dados em um ponto específico.

Na página do repositório do projeto, o criador descreve o Dolt da seguinte forma:

Dolt é um banco de dados SQL que pode realizar operações de fork, clone, merge, push e pull como um repositório Git. Conecte-se ao Dolt da mesma forma que a qualquer banco de dados MySQL para executar consultas ou atualizar dados usando comandos SQL. Todos os comandos que você conhece para Git funcionam exatamente da mesma maneira para o Dolt. Arquivos de versão do Git, tabelas de versão do Dolt. É como se Git e MySQL tivessem tido um filho!

Sobre Dolt

O SGBD oferece dois modos de operação: offline e online.

  • No modo offline, após a desconexão, o conteúdo do banco de dados fica disponível como um repositório, com o qual você pode executar ações usando um utilitário de linha de comando semelhante ao git.
  • O Dolt SQL Server é iniciado no modo "online", o que permite a manipulação de dados usando a linguagem SQL. A interface fornecida é próxima ao MySQL e pode ser usada conectando clientes compatíveis com MySQL ou usando a interface CLI.

Funciona de forma muito semelhante ao Git , diferindo principalmente no fato de que as alterações são rastreadas não para arquivos, mas para o conteúdo de tabelas. Através da interface de linha de comando (CLI) proposta, você pode importar dados de arquivos CSV ou JSON, adicionar commits com alterações, exibir diferenças de versão, criar versões, definir tags, enviar solicitações para servidores externos e mesclar alterações enviadas por outros colaboradores.

Se o usuário desejar, os dados podem ser colocados no diretório DoltHub, que pode ser visto como um GitHub analógico para hospedar dados e colaborar nos dados. Os usuários podem bifurcar repositórios de dados, propor alterações e mesclar com seus dados.

Por exemplo, no DoltHub, você pode encontrar vários bancos de dados com estatísticas de coronavírus, coleções de dados anotadas para sistemas de aprendizado de máquina, bancos de dados lexicais de linguagem, coleções de imagens, kits de classificação de objetos e informações de propriedade de endereço IP.

Dito isso, o Dolt é mais uma ferramenta de manipulação de dados do que um sistema de processamento de consultas . Por exemplo, por padrão, o servidor SQL só pode lidar com uma conexão de usuário ativa ao repositório localizado no diretório atual (esse comportamento pode ser alterado por meio de configuração). É possível colocar o servidor em modo somente leitura. Muitas ações de controle de versão também podem ser realizadas via SQL, como commitar ou alternar entre branches.

Por fim, se você estiver interessado em aprender mais sobre este sistema de gerenciamento de banco de dados, saiba que o código do projeto está no GitHub, foi escrito na linguagem Go e é distribuído sob a licença Apache 2.0.

Como instalar Dolt no Linux?

Quem estiver interessado em poder instalar este SGBD em seu sistema, deve saber que Dolt é multiplataforma e no caso de quem usa Linux podemos realizar a instalação abrindo um terminal e executando o seguinte comando:

sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'

Adicionar como fonte preferencial no Google