9 pontos por GN⁺ 2023-09-21 | 2 comentários | Compartilhar no WhatsApp
  • Plataforma para desenvolver apps local-first, reativos (Reactive) e em tempo real (Realtime) com Postgres na nuvem e SQLite local
  • Local-First
    • O código do app se comunica diretamente com um banco de dados embarcado em SQLite, enquanto os dados são sincronizados dinamicamente em segundo plano com o Postgres na nuvem por meio de replicação active-active
    • Isso permite colaboração entre múltiplos usuários e operação sem conflitos (Conflict-Free)
  • Com o ElectricSQL, é possível usar o Postgres local como está
  • Projetado com o objetivo de tornar os apps instantaneamente responsivos e consistentemente rápidos, aproveitando o acesso a dados com prioridade local
  • Oferece simplicidade operacional e reduz a variedade e a carga de trabalho dos serviços de backend ao padronizar um protocolo de replicação simples e escalável
  • Compatível com sistemas existentes baseados em Postgres e funciona junto com os modelos de dados já existentes

2 comentários

 
sixmen 2023-09-21

Foi um caso em que eu preferia algo que funcionasse mesmo sem servidor, então criei um app focado no cliente, mas mais tarde surgiu a necessidade de integração com servidor e acabei migrando para sincronização active-active.

No primeiro serviço, introduzi o conceito de OT e implementei manualmente; no segundo, enquanto procurava uma solução externa, acabei escolhendo o Couchbase (na época também pesquisei PouchDB e Realm)...

A conclusão é: se puder, é melhor não fazer isso. A gestão dos dados fica fora de controle (embora também haja o fator de o Couchbase DB ser peculiar).

 
GN⁺ 2023-09-21
Comentários do Hacker News
  • ElectricSQL é uma nova tecnologia que possibilita sincronização active-active entre Postgres e SQLite para apps local-first.
  • A tecnologia foi elogiada por sua abordagem única para gerenciar a conexão entre SQLite no lado do cliente, uma camada open source de CRDT/sincronização e o Postgres.
  • O ElectricSQL faz com que o banco de dados Postgres atue como a fonte central da verdade para todos os dados e contas de usuário, enquanto o conteúdo privado de cada usuário pode ser isolado e sincronizado em seu próprio banco de dados SQLite.
  • Há potencial para o uso do ElectricSQL em workflows de CI para escrever testes de integração rápidos usando uma parte de dados reais ou selecionados.
  • O ElectricSQL é considerado um passo importante rumo ao renascimento dos apps local-first, embora ainda existam muitos desafios a superar nessa área.
  • Foi levantada a questão da possibilidade de usar criptografia de ponta a ponta para parte do estado de aplicações que usam ElectricSQL.
  • Alguns usuários expressaram preocupação com a complexidade de entender o que acontece com o estado junto com CRDTs, e sobre como isso pode causar problemas para os usuários.
  • Há perguntas sobre o modelo comercial do ElectricSQL, e dúvidas se isso será um serviço completo em nuvem ou se apenas o componente em Elixir será hospedado.
  • Os usuários têm curiosidade sobre validação ou autenticação das mudanças que são mescladas de volta no banco de dados raiz, e sobre como o ElectricSQL lida com a possibilidade de um cliente malicioso enviar um fluxo de dados arbitrário para sincronizar com o banco de dados raiz.
  • O ElectricSQL foi comparado a outras soluções como PouchDB e CouchDB, e os usuários demonstraram interesse em experimentar a nova tecnologia.
  • O lançamento do ElectricSQL foi geralmente bem recebido, com muitos usuários expressando entusiasmo sobre o potencial dessa tecnologia para software local-first.