Perché Google Chrome utilizza SQLite se l'utilizzo dei thread risulta in un accesso parallelo?

2

Non so molto su come funziona Google Chrome o SQLite, ma so che Chrome fa un uso massiccio dei thread (penso che un thread per scheda). Inoltre, so che SQLite suggerisce di utilizzare un database client-server se è richiesto l'accesso parallelo. Non sono sicuro, ma presumo che Chrome usi SQLite come Firefox, per salvare i cookie.

Quindi, penso che sia abbastanza probabile che accada l'accesso parallelo al database (perché ogni Tab ha bisogno della possibilità di salvare i cookie).

Pertanto, non ha senso per me perché Google Chrome utilizza SQLite.

    
posta toogley 04.04.2016 - 12:22
fonte

1 risposta

4

Poiché SQLite è una semplice libreria semplice, e poiché la maggior parte dei database SQLite (su tablet Android o computer Google Chrome) sono molto probabilmente accessibili solo da una ( o pochi) processi o discussioni alla volta. (L'accesso o il salvataggio dei cookie avviene raramente in un browser, probabilmente al massimo su ogni pagina ricaricata, e probabilmente sono anche memorizzati nella cache del browser).

L'alternativa sarebbe richiedere che questi sistemi abbiano un server DBMS sempre in esecuzione (ad esempio PostGreSQL, MariaDB, MongoDB o qualcos'altro). Questo potrebbe essere un fardello, e sta aggiungendo un nuovo single point of failure e forse più sicurezza & problemi di affidabilità (una perdita o un guasto nel server DBMS potrebbero avere un impatto su ogni applicazione; alcune pesanti richieste SQL potrebbero rallentare il DBMS, quindi avere un impatto su altre applicazioni; ecc ...).

Infine, potrebbero esserci anche problemi di licenza (forse gli avvocati di Google preferiscono la licenza SQLite a quella di MariaDB ...).

    
risposta data 04.04.2016 - 13:26
fonte

Leggi altre domande sui tag