← Últimos artigos
🤖 AI

Zeta-Lite: A Concurrent, Branchable In-Browser SQL Database for Agentic Memory

Zeta-lite é um mecanismo de banco de dados SQL compacto, concorrente e ramificável para o navegador, construído sobre WebAssembly, que permite transações de isolamento de snapshot sobrepostas e ramificação de banco de dados por cópia em gravação (copy-on-write), oferecendo uma interface PostgreSQL completa e otimizada para memória de agentes e aplicações local-first.

Autores originais: Gene Zhang

Publicado 2026-09-03✓ Author reviewed
📖 7 min de leitura🧠 Leitura aprofundada

Autores originais: Gene Zhang

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Por décadas, a internet operou sob uma regra simples: seus dados viviam em um servidor em algum outro lugar, e seu computador era apenas uma janela para visualizá-los. Se você quisesse pesquisar, ordenar ou analisar esses dados, precisava enviar uma solicitação através da rede e esperar que a resposta voltasse. Esse modelo mudou à medida que as aplicações passaram a exigir mais privacidade e a capacidade de trabalhar sem uma conexão com a internet. A ideia de manter os dados diretamente no dispositivo do usuário, em vez de em uma nuvem distante, tornou-se uma prioridade. Essa mudança levou a um novo desafio para os engenheiros de software: como construir um sistema de dados poderoso e estruturado que rode inteiramente dentro de um navegador web? Os navegadores são projetados para serem seguros e isolados, o que os torna lugares difíceis para executar softwares complexos que geralmente exigem acesso profundo ao sistema operacional de um computador.

A solução tradicional tem sido reduzir sistemas de banco de dados existentes ou usar ferramentas muito simples que carecem de recursos avançados. Uma abordagem popular envolve pegar um mecanismo de banco de dados massivo, destilá-lo e traduzi-lo para um formato que os navegadores possam entender, mas isso frequentemente força o software a rodar lentamente ou em uma única linha de trabalho, incapaz de lidar com múltiplas tarefas ao mesmo tempo. Outra abordagem utiliza mecanismos minúsculos e leves que são rápidos, mas não conseguem realizar buscas complexas ou gerenciar relações intrincadas entre diferentes partes da informação. A questão permanecia se era possível ter um banco de dados que fosse pequeno o suficiente para caber em um navegador, rápido o suficiente para parecer instantâneo e inteligente o suficiente para lidar com tarefas complexas e sobrepostas ao mesmo tempo.

Um pesquisador construiu agora um sistema chamado Zeta-lite que responde a essa pergunta com um sim definitivo. Eles criaram um mecanismo de banco de dados que vive inteiramente dentro de um navegador web, pesando apenas 2,87 megabytes quando compactado. Apesar de seu tamanho reduzido, ele pode realizar buscas complexas, gerenciar múltiplos usuários trabalhando ao mesmo tempo e até criar cópias de si mesmo para testar novas ideias sem arriscar os dados originais. Este sistema foi projetado especificamente para um novo tipo de software: agentes de inteligência artificial que rodam no navegador e precisam de um lugar para armazenar seus pensamentos, memórias e descobertas. O pesquisador descobriu que, ao mudar a forma como o banco de dados lembra seu histórico, conseguiu alcançar um nível de desempenho e flexibilidade que antes era considerado impossível para um programa tão pequeno.

O cerne de sua descoberta reside em como o banco de dados lida com o tempo. A maioria dos bancos de dados tradicionais funciona como uma estrada de pista única, onde os carros devem esperar pelo que está à frente terminar antes de seguir adiante. Se duas pessoas tentarem atualizar a mesma informação ao mesmo tempo, uma terá que esperar. O Zeta-lite trabalha de forma diferente. Em vez de uma pista única, ele trata cada pedaço de dado como tendo um histórico de versões. Quando uma tarefa começa, ela tira um instantâneo (snapshot) dos dados naquele exato momento. Ela pode então trabalhar em sua própria versão da verdade enquanto outras tarefas acontecem simultaneamente. Se duas tarefas tentarem alterar a mesma coisa, o sistema detecta o conflito e interrompe uma delas, mas não as força a esperar na fila. Isso permite que múltiplas tarefas sejam executadas simultaneamente em uma única thread de execução, um feito que geralmente requer hardware complexo e pesado ou configurações especiais de navegador que a maioria dos sites não pode usar.

Essa capacidade de lidar com tarefas sobrepostas é acompanhada por um recurso único chamado ramificação (branching). No mundo do desenvolvimento de software, criar uma ramificação significa fazer uma cópia de um projeto para trabalhar em uma nova ideia sem quebrar o original. O Zeta-lite traz esse conceito diretamente para os dados em si. Uma aplicação pode criar um "fork" de todo o seu banco de dados em uma nova ramificação, fazer alterações, testá-las e depois decidir se mescla essas alterações de volta ao banco de dados principal ou se as descarta inteiramente. Isso acontece quase instantaneamente e sem usar espaço de armazenamento extra, porque o sistema salva apenas as diferenças entre as ramificações. Para um agente de inteligência artificial, esta é uma ferramenta poderosa. Permite que o agente explore uma hipótese, teste um novo plano ou simule uma conversa e, simplesmente, apague o experimento se ele falhar, deixando a memória original perfeitamente intacta.

O pesquisador testou este sistema rigorosamente para garantir que não fosse apenas um conceito teórico, mas uma realidade funcional. Eles rodaram o banco de dados em dois dos navegadores mais populares, Chrome e Firefox, e compararam sua velocidade contra uma versão nativa rodando em um computador padrão. Descobriram que a versão do navegador era quase tão rápida quanto a nativa, lidando com centenas de milhares de buscas de dados por segundo. Em testes onde múltiplas tarefas tentaram atualizar os mesmos dados ao mesmo tempo, o sistema gerenciou com sucesso os conflitos sem travar ou perder desempenho. Eles também verificaram que o sistema podia rodar por longos períodos sem perder dados ou vazar memória, mesmo conforme crescia para lidar com milhões de operações. O banco de dados persistia seu estado salvando um snapshot completo de si mesmo no armazenamento privado do navegador, um processo que levava menos de um segundo, mesmo para grandes quantidades de dados.

O que torna essa conquista particularmente significativa é que ela não depende da infraestrutura complexa e pesada que geralmente alimenta tais sistemas. A maioria dos bancos de dados baseados em navegador que oferecem recursos semelhantes exige cabeçalhos de segurança especiais que forçam os sites a se isolarem do resto da internet, o que limita onde podem ser usados. O Zeta-lite evita isso inteiramente. Ele roda na thread principal do navegador, o mesmo lugar onde o restante do site vive, sem precisar de medidas de segurança extras ou workers de segundo plano. Isso significa que ele pode ser inserido em qualquer aplicação web sem mudar a forma como o site é construído ou hospedado. O sistema é construído a partir do mesmo código-fonte de um banco de dados de servidor muito maior, provando que a lógica complexa necessária para o gerenciamento de dados avançado pode ser comprimida em um pacote minúsculo sem perder seu poder.

As implicações deste trabalho estendem-se além de apenas velocidade ou tamanho. Abre as portas para uma nova geração de aplicações que podem lembrar e raciocinar sobre seus próprios dados localmente. Imagine um assistente de IA que vive no seu navegador, capaz de armazenar seu histórico pessoal, aprender com suas interações e organizar suas informações sem nunca enviar esses dados para um servidor remoto. Com a capacidade de ramificar sua memória, este assistente poderia testar diferentes formas de organizar suas notas ou planejar seu dia, mantendo apenas os resultados que funcionam. O pesquisador já começou a construir um sistema complementar chamado Zengram-lite, que utiliza exatamente essas capacidades para criar um sistema de memória para tais agentes.

O artigo conclui que a antiga suposição — de que você deve escolher entre um banco de dados pequeno e simples ou um grande e poderoso — não é mais verdadeira. Ao repensar como os dados são versionados e como as tarefas são gerenciadas, é possível ter ambos. O mecanismo Zeta-lite demonstra que um banco de dados totalmente equipado, concorrente e com ramificações pode caber em um navegador web e performar em um nível que rivaliza com o software nativo. Isto não é uma simulação ou uma promessa de tecnologia futura; é um sistema funcional disponível hoje, pronto para ser usado por desenvolvedores que desejam construir aplicações que sejam privadas, rápidas e capazes de raciocínio complexo diretamente no dispositivo do usuário.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →