Sqlite o MySql? Come decidere? [chiuso]


94

Qualche buona regola pratica su come decidere quale dei due usare?

E, se prendi il controllo di un database Sqlite e il sistema dovrebbe "diventare molto più grande", come decidere se restare con esso o passare a MySql?


1
Considera FirebirdEmbedded, è una miscela molto potente dei due.
Stefan Steiger

1
Votazione per chiudere troppo ampia. Eventuali duplicati è stata eliminata: stackoverflow.com/questions/3630/sqlite-vs-mysql
Ciro Santilli郝海东冠状病六四事件法轮功

10
Ora è ampio, ma, una volta pubblicato, quel tipo di domanda era accettabile, o almeno tollerato. Spero che la domanda non venga cancellata, come l'eventuale duplicato, in modo che altri possano ancora leggere la discussione e le raccomandazioni.
Mawg dice di reintegrare Monica il

5
Peccato che quelle domande ad alto impatto e visibilità (guarda il numero di voti positivi sotto) vengano chiuse dai "monitor" di questo sito. Il che rende l'intero processo di monitoraggio e la selezione dei monitor abbastanza discutibili.
francogrex

2
Gli standard, i valori e gli obiettivi del sito sono cambiati nel corso degli anni. "Principalmente basato sull'opinione" non è più accettabile. Se volessi chiederlo oggi, lo chiederei su softwarerecs.stackexchange.com , non qui, e vorrei elencare i miei requisiti per un database e ricevere consigli. Capisco perché la mia domanda è stata chiusa, ma ho ancora nostalgia di un tempo in cui avevamo
un'etichetta di

Risposte:


103

I loro set di funzionalità non sono affatto gli stessi. Sqlite è un database incorporato che non ha funzionalità di rete (a meno che non vengano aggiunte). Quindi non puoi usarlo su una rete.

Se hai bisogno

  • Accesso alla rete, ad esempio l'accesso da un'altra macchina;
  • Qualsiasi grado reale di concorrenza, ad esempio, se pensi di voler eseguire più query contemporaneamente o eseguire un carico di lavoro con molte selezioni e pochi aggiornamenti e desideri che funzionino senza problemi, ecc.
  • molto utilizzo della memoria, ad esempio, per memorizzare nel buffer parti del database da 1 TB nei 32 GB di memoria.

Devi usare mysql o qualche altro RDBMS basato su server.

Nota che MySQL non è l'unica scelta e ce ne sono molte altre che potrebbero essere migliori per le nuove applicazioni (ad esempio pgSQL).

Sqlite è un software molto, molto carino, ma non ha mai affermato di fare nessuna di queste cose che fanno i server RDBMS. È una piccola libreria che esegue SQL su file locali (utilizzando il blocco per garantire che più processi non rovinino il file). È davvero ben testato e mi piace molto.

Inoltre, se non sei in grado di sceglierlo correttamente da solo, probabilmente devi assumere qualcuno della tua squadra che può farlo.


Quindi fondamentalmente sqllite è un'alternativa ai file di accesso ms.
dvdmn

2
Questi tre punti sono esattamente ciò che dice Richard Hipp su: youtu.be/Jib2AmRb_rk?t=1693
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Per semplicità, ho sempre un unico software che è l'unico utente autorizzato ad accedere al database, anche per le app in rete che utilizzano un database MySql.
Mawg dice di reintegrare Monica il

57

Il team di sqlite ha pubblicato un articolo che spiega quando utilizzare sqlite che è un'ottima lettura. Fondamentalmente, vuoi evitare di usare sqlite quando hai molta simultaneità di scrittura o devi scalare a terabyte di dati. In molti altri casi, sqlite è un'alternativa sorprendentemente buona a un database "tradizionale" come MySQL.


11

SQLite out-of-the-box non è davvero completo di funzionalità per quanto riguarda la concorrenza. Ti troverai nei guai se hai centinaia di richieste web che colpiscono lo stesso database SQLite.

Dovresti assolutamente andare con MySQL o PostgreSQL.

Se è per un progetto per una sola persona, SQLite sarà più facile da configurare.


Per semplicità, ho sempre un unico software che è l'unico utente autorizzato ad accedere al database, anche per le app in rete che utilizzano un database MySql, ma, ovviamente, soprattutto per Sqlite.
Mawg dice di reintegrare Monica il

10

I miei pochi centesimi alle precedenti eccellenti risposte. il sito www.sqlite.org funziona su un database sqlite. Ecco il link quando l'autore (Richard Hipp) risponde a una domanda simile.


1
Grazie per il collegamento, lo stesso autore continua con un proprio banco di lavoro che ha testato su un Athlon 1600. 1 GB di RAM. Disco IDE 5400 RPM. Redhat 7.3. Conclude: "Ora credo che SQLite sia appropriato per l'uso come database principale su siti web che ottengono fino a 1 milione di visite al giorno."
Rutrus
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.