Voor Viversum.de / Adviqo.de heeft Erwin Nandpersad namens Ermmedia.nl trackingsoftware geschreven.
Dit bedrijf richt zich voornamelijk op Astrologie, hun doen dit via Televisie en Internet. Het bedrijf is in Duitsland marktleider en internationaal actief.
Adviqo wou graag tracking software ontwikkelen wat uniform op diverse website’s geplaatst kan worden met een simpele Javascript (ala Google Analytics). Daarnaast moest alle data worden opgeslagen en snel gequeried worden. Het bedrijf heeft veel bezoekers per maand, de hoeveelheid kan ik niet exact zeggen, maar het gaat om miljoenen bezoekers per maand.
Zoals je leest kun je voor dit project beter geen SQL gebruiken maar noSQL, daarom heb ik ervoor gekozen om Redis te gebruiken om data op te slaan i.c.m. Dynamo DB(AWS).
Redis is supersnel met inserten, maar om data op te halen is dit niet ideaal. Het maakt namelijk gebruik van datastructuren zoals de Hashmap, Linked list, Sets etc. Al deze datastructuren hebben een key nodig en retrieven werkt op basis van een array.
Omdat de eindgebruiker data wil filteren is er eencronjob gemaakt wat om de x minuten de data naar Dynamo DB schrijft. Het fijne aan de database van Amazon is dat je composite keys kunt maken , en velden kan instellen die indexeerbaar mogen zijn. Op deze manier blijft de performance gewaarborgd en kunnen de eindgebruikers snel filters op de database uitvoeren. Uiteraard gebeurt dit via een gebruiksvriendelijke omgeving
Ermmedia.nl heeft voor Adviqo een tool ontwikkeld wat overeenkomt met Google Analytics. Ik heb gebruik gemaakt van Canvas Tracking, Fingerprint Tracking, big data en PHP en Java.