Eén van de factoren die een grote invloed heeft op de user experience van webapplicaties is de snelheid waarmee pagina's tevoorschijn komen.
Stel dat je een accountancy applicatie aan het ontwikkelen bent met daarin zaken als bestellingen, facturen en klanten. De hoeveelheid data in de applicatie is groot (1 milj. bestellingen bijv.). Het is de bedoeling dat pagina's met gegevens over klanten vliegensvlug worden geserveerd aan de gebruiker.
Ik vraag me af hoe je bij een onvoorspelbare aanvraag van de gebruiker, de benodigde data zo snel als mogelijk uit de cache/ database krijgt. Er belt bijvoorbeeld een klant die vraagt of dat hij nog garantie heeft op zijn videokaart. De telefoonniste (gebruiker) zoekt op de naam van de klant en vindt de juiste klant. Nu moeten alle bestellingen van de klant z.s.m. beschikbaar komen voor de telefoonniste. De telefoonniste ziet de bestelling en wil weten wanneer deze is verzonden, dus heeft ze de zendingsgegevens snel nodig.
Hoe los je dit op?
Veel grote webapplicaties als Facebook lossen het op d.m.v. vele TB's memcache in te zetten, maar bij een applicatie met veel onvoorspelbare requests levert dat veel cache misses op.
Je zou kunnen inleveren op normalisatie, maar dat maakt het ontwikkelen van de applicatie moeilijker en de database minder flexibel.
Zou pre-cachen een optie zijn? Op het moment dat de gebruiker de klantgegevens opvraagt zou een achtergrondproces alle gegevens (bestellingen, zendingen, retouren) van de klant alvast in memcache kunnen laden. Nadelen hiervan zijn: erg veel extra server belasting, erg moeilijk te implementeren in bijvoorbeeld PHP, voelt aan als een hack.
Om de gebruiker een idee van snelheid te geven wordt er natuurlijk al veel gebruik gemaakt van Ajax.
Stel dat je een accountancy applicatie aan het ontwikkelen bent met daarin zaken als bestellingen, facturen en klanten. De hoeveelheid data in de applicatie is groot (1 milj. bestellingen bijv.). Het is de bedoeling dat pagina's met gegevens over klanten vliegensvlug worden geserveerd aan de gebruiker.
Ik vraag me af hoe je bij een onvoorspelbare aanvraag van de gebruiker, de benodigde data zo snel als mogelijk uit de cache/ database krijgt. Er belt bijvoorbeeld een klant die vraagt of dat hij nog garantie heeft op zijn videokaart. De telefoonniste (gebruiker) zoekt op de naam van de klant en vindt de juiste klant. Nu moeten alle bestellingen van de klant z.s.m. beschikbaar komen voor de telefoonniste. De telefoonniste ziet de bestelling en wil weten wanneer deze is verzonden, dus heeft ze de zendingsgegevens snel nodig.
Hoe los je dit op?
Veel grote webapplicaties als Facebook lossen het op d.m.v. vele TB's memcache in te zetten, maar bij een applicatie met veel onvoorspelbare requests levert dat veel cache misses op.
Je zou kunnen inleveren op normalisatie, maar dat maakt het ontwikkelen van de applicatie moeilijker en de database minder flexibel.
Zou pre-cachen een optie zijn? Op het moment dat de gebruiker de klantgegevens opvraagt zou een achtergrondproces alle gegevens (bestellingen, zendingen, retouren) van de klant alvast in memcache kunnen laden. Nadelen hiervan zijn: erg veel extra server belasting, erg moeilijk te implementeren in bijvoorbeeld PHP, voelt aan als een hack.
Om de gebruiker een idee van snelheid te geven wordt er natuurlijk al veel gebruik gemaakt van Ajax.
Specialist in:
Soldeerstations
Oscilloscoop