Instant é um banco de dados client-side e backend para apps, com consultas, autenticação, permissões, armazenamento, presença e sincronização em tempo real em um só serviço.
clockworklabs/SpacetimeDB
Um banco de dados relacional que também funciona como servidor: você implanta nele a lógica da aplicação, e os clientes se conectam diretamente para receber atualizações em tempo real.
Alternativa open source a:Firebase
- Estrelas
- 25,328
- Forks
- 1,091
- Issues abertas
- 942
- Último commit
- há 2 horas
O que é?
O SpacetimeDB elimina a camada separada de servidor web ou de jogo entre os clientes e o banco de dados. Você escreve o schema e a lógica de negócio como um módulo em Rust, C#, TypeScript ou C++, e o SpacetimeDB compila esse módulo, executa-o dentro do banco de dados e sincroniza o estado com os clientes conectados. Os clientes chamam reducers (funções que modificam dados) e assinam tabelas; o servidor envia automaticamente as alterações confirmadas, sem necessidade de polling.
Todo o estado da aplicação fica em memória para permitir acesso com baixa latência, enquanto um commit log em disco garante durabilidade e recuperação após falhas. As transações seguem as garantias ACID. Desde a versão 2.0, por padrão, as atualizações de assinaturas e os resultados dos reducers só são enviados quando a transação se torna durável; os clientes podem desativar esse comportamento para obter menor latência.
Os SDKs de cliente atendem TypeScript (incluindo React, Vue, Svelte e Node.js), Rust, C# (incluindo Unity) e C++ para Unreal Engine. O projeto é voltado a aplicações web reativas, como chats, dashboards e ferramentas colaborativas, além de jogos multiplayer.
Recursos principais
- 01A lógica da aplicação é executada dentro do banco de dados como um módulo escrito em Rust, C#, TypeScript ou C++.
- 02Os clientes assinam tabelas e recebem alterações confirmadas em tempo real, sem polling.
- 03Transações ACID, com o estado mantido em memória e um commit log em disco para garantir durabilidade e recuperação.
- 04Leituras confirmadas retêm as atualizações até que a transação se torne durável; essa opção pode ser configurada por cliente.
- 05SDKs de cliente para TypeScript (com hooks do React), Rust, C#/Unity e C++/Unreal Engine.
- 06Pode ser executado localmente via Docker ou CLI, com uma opção de implantação na nuvem chamada Maincloud.
Casos de uso
- Criar uma aplicação web colaborativa ou um serviço de chat sem um servidor de API ou uma camada de pub/sub separados.
- Criar dashboards em tempo real, nos quais todos os clientes conectados veem as atualizações assim que acontecem.
- Dar suporte a um jogo multiplayer, como um MMORPG, com estado de mundo compartilhado e em tempo real.
- Escrever uma aplicação inteira em uma única linguagem e implantá-la como um único binário.
Início rápido
- 1
Execute o script oficial de instalação indicado no README
- 2
Faça login na sua conta
spacetime login - 3
Crie um projeto a partir de um template e inicie o dev watcher
spacetime dev --template chat-react-ts
Antes de usar
- É licenciado sob a Business Source License 1.1, que disponibiliza o código-fonte, mas não é uma licença de código aberto aprovada pela OSI. Após alguns anos, ela se converte para AGPL v3.0.
- O início rápido publica o projeto no Maincloud, um serviço de hospedagem pago com preços próprios.
Em coleções
Tópicos
Perguntas frequentes
- O que é SpacetimeDB?
- Um banco de dados relacional que também funciona como servidor: você implanta nele a lógica da aplicação, e os clientes se conectam diretamente para receber atualizações em tempo real. O SpacetimeDB elimina a camada separada de servidor web ou de jogo entre os clientes e o banco de dados. Você escreve o schema e a lógica de negócio como um módulo em Rust, C#, TypeScript ou C++, e o SpacetimeDB compila esse módulo, executa-o dentro do banco de dados e sincroniza o estado com os clientes conectados. Os clientes chamam reducers (funções que modificam dados) e assinam tabelas; o servidor envia automaticamente as alterações confirmadas, sem necessidade de polling.
- SpacetimeDB é gratuito? Qual é a licença?
- SpacetimeDB é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- SpacetimeDB ainda é mantido?
- Manutenção ativa. O último commit de SpacetimeDB foi em 22 de out. de 2026.
- Para que posso usar SpacetimeDB?
- Criar uma aplicação web colaborativa ou um serviço de chat sem um servidor de API ou uma camada de pub/sub separados. Criar dashboards em tempo real, nos quais todos os clientes conectados veem as atualizações assim que acontecem. Dar suporte a um jogo multiplayer, como um MMORPG, com estado de mundo compartilhado e em tempo real. Escrever uma aplicação inteira em uma única linguagem e implantá-la como um único binário.
- Como instalar SpacetimeDB?
- Execute o script oficial de instalação indicado no README Faça login na sua conta: spacetime login Crie um projeto a partir de um template e inicie o dev watcher: spacetime dev --template chat-react-ts
- Onde consigo SpacetimeDB?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/clockworklabs/SpacetimeDB
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Banco de dados reativo e open source para aplicações web, que permite escrever funções de servidor e lógica de dados em TypeScript puro.
Plataforma de desenvolvimento Postgres que oferece um banco Postgres hospedado com autenticação, APIs geradas automaticamente, armazenamento e recursos em tempo real como alternativa ao Firebase.
Backend genérico de código aberto em TypeScript, com notificações em tempo real, armazenamento de dados com busca avançada e gerenciamento de usuários pronto para uso.
Alternativa open source ao Firebase baseada em PostgreSQL, com API GraphQL instantânea, autenticação, armazenamento e funções serverless.
Banco de dados relacional distribuído, leve e tolerante a falhas, baseado em SQLite e replicado entre nós por consenso Raft.