Executando verificação de segurança...
2

A novidade em bancos de dados é o velho SQLite! Para produção!

Tenho visto postagens - nem todas novas sobre o uso do SQLite de verdade em produção!

Quando pensamos em novas arquiteturas de banco de dados, ficamos hipnotizados pelos limites de escala. Se não puder lidar com petabytes, ou pelo menos terabytes, não está na conversa. Mas a maioria dos aplicativos nunca verá um terabyte de dados, mesmo que sejam bem-sucedidos.

SQLite é um banco de dados embutido. Ele não vive em uma camada arquitetônica convencional; é apenas uma biblioteca vinculada ao processo do seu servidor de aplicativos.

As vantagens apontadas por muitos são:

  • É estável, multiplataforma e compatível com versões anteriores;
  • Seu código é de domínio público e gratuito, ou seja, todos podem utilizar;
  • Guarda o banco de dados em um único arquivo.

4 milhões de queries por segundos com SQLite - inglês

SQlite no lugar de Mysql

Migrando de PostGress para SQLite - inglês

Notas sobr SQLite e GO - inglês

O maior problema com o uso do SQLite na produção é a recuperação de desastres. Se o seu servidor morrer, seus dados também morrerão.

Mas inventaram o litestream.
O Litestream é um projeto de código aberto que torna o SQLite viável para aplicativos full-stack por meio do poder da replicação.
Litestream é uma ferramenta que executa em um processo separado e replica continuamente um banco de dados SQLite para o Amazon S3 ou outro lugar!

Seguindo dia do blopes tem o https://github.com/superfly/litefs
Que é parecido com o litestream, e ambos tem o mesmo desenvolvedor a diferente é que o
LiteFS tem um patrocinador!

Dica do thelinuxlich @solinvictvs no twitter
https://github.com/maxpert/marmot
Marmot é um replicador SQLite distribuído com consistência eventual e sem master

Lembrando que o SQLite pode trabalhar com pesquisa de texto
Full-text search

E com SQLite Json

Carregando publicação patrocinada...
2

Incrível como a programação é:

Um dia dizem que Server-Side Rendering é péssimo, depois volta a ser o padrão standard.
Um dia dizem que não deve usar banco relacional, depois voltam para o SQLLite

Qual será a próxima "novidade" dos anos 90? kkkk

1

Eu semprei gostei bastante do SQLite, mas meu uso sempre tinha sido para software embarcado, posteriormente smarthphones. Em sistemas web ainda não usei em produção, mas é bom saber dessas evoluções, principalmente do litestream.

Hoje em dia, por mais que você não tenha muitos acessos, é interessante ter mais de uma réplica da aplicação rodando, para permitir por exemplo blue-green, e atualizações com zero donwtime.

Vou dar uma conferida. Excelente dica!

Estava vendo aqui as issues do litestream, e tem esse cara aqui (LiteFS) que parece ser interessante também: https://github.com/superfly/litefs

Porém ele ainda está em beta.

3

LiteFS e litestream tem o mesmo desenvolvedor!
O LiteFS tem um patrocinador!

O pessoal gosta do SQLite pq ele não tem atrazo.
O atraso é de microsegundos. Para sistemas web onde latencia é importante
SQLite pode ser a melhor ideia

1

Ah, não tinha percebido que era do mesmo desenvoledor! Muito dahora, nos próximos projetos web vou considerar desde o início a possibilidade de usar o SQLite! Valew!