InnoDB vs MyISAM
Ik schets kort mijn situatie. Een website met heel veel bezoekers en 2 databasetabellen:
tabel_a [50 tot 500 miljard records][15 terabyte]:
- 2500 INSERT query's per seconde
- geen DELETE FROM en UPDATE query's
- 3 keer per week een SELECT query (op PRIMARY KEY field)
tabel_b [300 miljoen records][15 gigabyte]:
- 1000 SELECT query's per seconde (op PRIMARY KEY field)
- 10 INSERT query's per seconde
- 10 UPDATE query's per seconde
Vanwege de vele transacties denk je snel aan InnoDB bij tabel_a. Maar omdat er binnen redelijke tijd door heel veel miljarden records gezocht dient te worden, neig ik naar MyISAM. Splitsen van tabel_a kan ook, zolang er maar binnen +/- 10 tot 30 minuten in gezocht kan worden.
Kan ik MyISAM vertrouwen bij 2500 INSERT query's per seconde in 1 tabel?
tabel_b op MyISAM lijkt mij duidelijk?
Graag jullie mening!
[ ga er trouwens wel vanuit dat 15 terabyte op de harddisks van de server past en dat er genoeg memory is. betrouwbaarheid=1. performence=2 ]
[ dit model is bijna onmogelijk zoals hierboven beschreven, maar ga er a.u.b. wel vanuit. in de praktijk zal geprobeerd worden tabel_a met een factor 1000 te verkleinen ]
Gewijzigd op 25/01/2006 16:23:00 door PHP erik
Het enige wat ik er op dit moment over kan zeggen, is dat die 150 TB voor 1 tabel ruimschoots (factor 10 tot 100) buiten de limieten van MySQL en het besturingssysteem (welk dan ook) valt. Je zult dus in ieder geval moeten gaan splitsen.
Maar hoe denk jij over die transactions bij heel grote tables en sites?
Heb je al eens op Yapf.net gekeken?
Ja, ik ken vincent indirect ook wel een beetje. Ik hou alleen meer van een onderbouwde mening van pro's die mijn situatie lezen.
Ik kan me hier helemaal niets bij voorstellen, dit is achtelijk groot en gaat in elk geval performance problemen opleveren. Ik heb sterk de indruk dat je ergens iets verkeerd doet.
PHPerik:
Transacties geven altijd een performance-hit; daarom is MyISAM ook vele malen sneller dan InnoDB. Het hangt een beetje van je toepassing af. Bij een bank die de database gebruikt om overboekingen tussen rekeningen te registreren kan ik me goed voorstellen dat die performance ondergeschikt is aan de betrouwbaarheid.Maar hoe denk jij over die transactions bij heel grote tables en sites?
Bij de database die ik zelf beheer (gemiddeld zo'n 6 inserts per seconde, maar het komt in batches van plm. 1100 per 3 minuten) is de performance belangrijker. Stel dat om de een of andere reden eens een insert mis gaat, jammer dan. De aanvoerstroom is zelf ook niet 100% betrouwbaar ;-)
Ik heb nu nog steeds geen antwoord gegeven waar je iets mee kunt, maar ik denk dat niemand hier dat kan geven. Het is een afweging die gemaakt moet worden op basis van gegevens die hier waarschijnlijk niet op het forum gepost mogen worden.
Gewijzigd op 26/01/2006 07:13:00 door Willem vp
InnoDB vs MyISAM: wat is het verschil hier eigenlijk tussen? :P