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.