Ho una prossima intervista per una posizione presso un'azienda che si occupa di volumi di dati in scala multi-petabyte. Mi inciteranno sulle domande standard di progettazione del database, ma quali sono le cose migliori su cui concentrare il mio lavoro di revisione / preparazione? Come cambia il design del database quando si arriva a scale veramente gigantesche?
Attualmente penso a:
- Indici che si adattano alla memoria
- Nelle tabelle transazionali (ad esempio, il flusso di clic sugli annunci) suddividendo i dati in 1 tabella al mese o con un set di tabelle "recenti" e "storici" con un lavoro di flushing ogni notte o settimana.
- Over-normalization - chiavi e dimensioni primarie non necessarie (ad esempio una tabella separata per i codici postali statunitensi).
Qualsiasi suggerimento apprezzato