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.