Sqlite ou MySql? Como decidir? [fechadas]


94

Alguma regra prática sobre como decidir qual dos dois usar?

E, se você assumir o controle de um banco de dados Sqlite, e espera-se que o sistema "fique muito maior", como decidir se vai continuar com ele ou mudar para o MySql?


1
Considere FirebirdEmbedded, é uma mistura muito poderosa dos dois.
Stefan Steiger

1
Votando para fechar como muito amplo. A possível duplicata foi excluída: stackoverflow.com/questions/3630/sqlite-vs-mysql
Ciro Santilli 郝海东 冠状 病 六四 事件 事件 法轮功

10
É amplo agora, mas, quando postado, esse tipo de pergunta era aceitável, ou, pelo menos, tolerado. Espero que a pergunta não seja excluída, como a possível duplicata, para que outros ainda possam ler a discussão e recomendações.
Mawg diz para restabelecer Monica em

5
É uma pena que aquelas questões de alto impacto e visibilidade (veja o número de votos positivos abaixo) estejam sendo encerradas pelos “monitores” deste site. O que torna todo o processo de monitoramento e seleção de monitores bastante questionável.
francogrex

2
Os padrões, valores e objetivos do site mudaram ao longo dos anos. "Basicamente em opinião" não é mais aceitável. Se eu quisesse perguntar isso hoje, perguntaria em softwarerecs.stackexchange.com , não aqui, e listaria meus requisitos para um banco de dados e receberia recomendações. Eu entendo por que minha pergunta foi fechada, mas ainda estou nostálgico de uma época em que costumávamos ter uma etiqueta de livros , e a palavra "melhor" em um título não significava fechamento imediato: - / YMMV
Mawg diz reintegrar Monica

Respostas:


102

Seus conjuntos de recursos não são os mesmos. Sqlite é um banco de dados embutido que não possui recursos de rede (a menos que você os adicione). Portanto, você não pode usá-lo em uma rede.

Se você precisar

  • Acesso à rede - por exemplo, acessando de outra máquina;
  • Qualquer grau real de simultaneidade - por exemplo, se você acha que provavelmente deseja executar várias consultas de uma vez, ou executar uma carga de trabalho que tem muitas seleções e algumas atualizações, e deseja que eles ocorram sem problemas etc.
  • muito uso de memória, por exemplo, para armazenar partes de seu banco de dados de 1 TB em seus 32 G de memória.

Você precisa usar mysql ou algum outro RDBMS baseado em servidor.

Observe que o MySQL não é a única escolha e há muitos outros que podem ser melhores para novos aplicativos (por exemplo, pgSQL).

O Sqlite é um software muito, muito bom, mas ele nunca afirmou fazer nenhuma dessas coisas que os servidores RDBMS fazem. É uma pequena biblioteca que executa SQL em arquivos locais (usando bloqueio para garantir que vários processos não estraguem o arquivo). Está muito bem testado e gosto muito.

Além disso, se você não conseguir escolher isso corretamente sozinho, provavelmente precisará contratar alguém de sua equipe que possa.


Então, basicamente o sqllite é uma alternativa aos arquivos de acesso do ms.
dvdmn

2
Esses três pontos são exatamente o que Richard Hipp diz em: youtu.be/Jib2AmRb_rk?t=1693
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Para simplificar, sempre tenho um único software que é o único usuário com permissão para acessar o banco de dados, mesmo para aplicativos em rede que usam um banco de dados MySql.
Mawg diz para restabelecer Monica em

57

A equipe sqlite publicou um artigo explicando quando usar sqlite que é uma ótima leitura. Basicamente, você deseja evitar o uso de sqlite quando tiver muita simultaneidade de gravação ou precisar escalar para terabytes de dados. Em muitos outros casos, o sqlite é uma alternativa surpreendentemente boa para um banco de dados "tradicional" como o MySQL.


11

O SQLite out-of-the-box não é realmente cheio de recursos em relação à simultaneidade. Você terá problemas se tiver centenas de solicitações da Web atingindo o mesmo banco de dados SQLite.

Definitivamente, você deve usar MySQL ou PostgreSQL.

Se for para um projeto de uma única pessoa, o SQLite será mais fácil de configurar.


Para simplificar, sempre tenho um único software que é o único usuário com permissão para acessar o banco de dados, mesmo para aplicativos em rede que usam um banco de dados MySql, mas, obiovusly, especialmente para Sqlite.
Mawg diz para restabelecer Monica em

10

Meus poucos centavos às excelentes respostas anteriores. o site www.sqlite.org funciona em um banco de dados sqlite. Aqui está o link quando o autor (Richard Hipp) responde a uma pergunta semelhante.


1
Obrigado pelo link, o mesmo autor continua com uma bancada própria que testou em um Athlon 1600. 1 GB de RAM. Disco IDE de 5400 RPM. Redhat 7.3. Ele conclui: «Acredito agora que o SQLite é apropriado para uso como banco de dados primário em sites que recebem até 1 milhão de acessos por dia.»
Rutrus
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.