Qual banco de dados embutido vocês recomendam? Ou vai depender do tipo da aplicação?
Estive testando HyperSQL, H2, SQLite e Derby.
Pelo que notei o HyperSQL e o H2 são de longe os mais rápidos (extremamente rápido), porem velocidade não é tudo. Notei também que o SQLite é o mais simples, cria apenas 1 simples arquivo, porem ele é o mais lento. E o Derby é da apache só isso que posso dizer.
Na opinião e experiencia de vocês qual vale mais a pena usar?
Tudo sempre depende da aplicação. Avalie e explique o que quer fazer, pois sem mais informações, qualquer sugestão serve.
Quando precisei, o SQLite me atendeu. Mas foram projetos realmente pequenos. Usei H2 uma vez, HyperSQL e Derby não sei.
Para coisas mais parrudas, prefiro um DB completo como Firebird (que também tem versão embutida) ou MySQL/MariaDB, principalmente por ter mais familiaridade.
Estou criando uma aplicação desktop que necessita de um banco embutido. No Android você tem uma API própria para manuseio de SQLite então não tem nem porque querer usar outra coisa, porem na questão de desktop existem varias alternativas. Eu acho que nesse meu caso onde é uma aplicação simples que não vai passar dos 5 ou 10 mil dados por ano eu acho que HyperSQL ou H2 já vão servir.
Você já fez testes comparando eles? Já viu alguma discussão sobre isso? Todos os 4 são fáceis de usar, a maneira como você cria o db e chama a conexão é a mesma maneira, unica coisa que muda é o driver e a url. Outra diferença também é que o SQLite já vem no Android por padrão por isso ele é mais conhecido.
Esses são os métodos que eu usei pra testar a conexão dele.
Como eu já citei antes, eu fiz alguns testes aqui inserindo alguns milhares de dados e obtendo eles de volta, e sem duvidadas o HyperSQL e o H2 são os mais velozes disparado, não da nem pra comparar. Porém velocidade não é tudo.
Eu queria saber a opinião de profissionais que já usaram ambos na pratica pra poder ter uma noção e comparar em questões de produção mas não encontrei ninguém.