Mi stavo chiedendo su come database come MySQL e SQLite sono stati sviluppati per essere eseguiti tanto velocemente quanto bene.
Sto cercando risposte alle domande come :
- Come viene tokenizzato SQL? Costruisci un AST e compili / interpreti come qualsiasi altra lingua?
- Come si dovrebbero gestire le connessioni al database? TCP? IPC? Come fanno i database di grandi nomi?
- Come vengono archiviati questi database relazionali veloci? So che SQLite usa un file flat - sembra un incubo di sincronizzazione.
Ovviamente, non mi aspetto che qualcuno mi spieghi semplicemente tutta la teoria del database relazionale - ma mi sono guardato intorno e sono davvero in perdita per i riferimenti per iniziare a imparare su questa roba.
Per rispondere all'inevitabile "perché non usi semplicemente MySQL?": (a) perché sono curioso e (b) forse un giorno vorrò progettare il mio database con un uso specifico in mente.
EDIT: Credo che avrei dovuto renderlo più chiaro. Mi rendo conto che questo è un argomento ampio. Non cerco qualcuno che dica "oh, progetti un database con ..." Se questo è un argomento trattato in un gran numero di libri, quali sono quei libri? Se questo è coperto bene in un P.H.D. tesi di cui sei a conoscenza, cos'è questa tesi? Sono molto consapevole del fatto che questo è un argomento di ampio respiro: non sto chiedendo una risposta specifica per un'ampia domanda, sto chiedendo risorse specifiche per una vasta domanda. Come sempre, grazie per tutto l'aiuto!