Quale tabella mysql utilizzare per tabelle di sola lettura e caricate?
-
31-10-2019 - |
Domanda
Quindi ho un carico di lavoro su 2 tabelle chiave nella mia applicazione con le seguenti caratteristiche:
- Dati di sola lettura
I dati sono caricati in blocco in modo completamente coerente da un singolo processo in un programma, non ci sono eliminazioni né aggiornamenti. sto usandoINSERT IGNORE ...
- Tavoli molto grandi
Sto usando il partizionamento temporale, ma anche con ciò il mio caso peggiore previsto su una singola un singolo parizione è di 10 m-00 milioni di record perizione (le partizioni più vecchie vengono infine eliminate). - Non c'è bisogno di FK, transazioni, letture coerenti
Le tesi sono usate per seminare query sensibili al tempo molto mirate e visualizzazioni di reporting. Non sono necessari vincoli FK forzati (non ci sono FK espliciti) e certamente non sono necessarie transazioni. Non è inoltre necessario che i clienti che emettono selezioni abbiano una visione completamente coerente dei dati, quindi se sono nel mezzo di un carico di massa e vedono solo 1/2 degli aggiornamenti in corso, è totalmente bello.
Inizialmente ero appoggiato a InnoDB e poi sono tornato a Myisam dopo aver letto Inserti simultanei, che suona come una descrizione perfetta del mio caso d'uso (numero elevato di inserti senza aggiornamenti intervenienti) Sto pensando di tornare a Myisam ESP dato quante altre funzionalità non mi interessa (ad es. Tambie straniere, transazioni) .
Qualcuno con esperienza nel mondo reale che utilizza MySQL per carichi di lavoro simili offrire un suggerimento su quale sia il motore di archiviazione è la scelta giusta qui. Pianifica di fare alcuni test seri all'inizio della prossima settimana, ma vorrei solo avere un'idea approssimativa di cosa aspettarsi/cercare qui.
Nessuna soluzione corretta