zondag 10 maart 2013

Capaciteit Genealogie Online testen met grote kwartieren

Een door Tamura Jones ontwikkelde testmethode maakt het mogelijk om met gestandardiseerde, gegenereerde “kwartierstaat” GEDCOM’s de capaciteit en kwaliteit van stamboomprogramma of –website te bepalen. Het beantwoord de vraag: wat is de grootste kwartierstaat die het stamboomprogramma of –website kan importeren, verwerken en weer exporteren?

Fan value

Tamura Jones heeft een eenvoudig programma genaamd GedFan: GEDCOM Fan Creator ontwikkeld dat correcte (qua syntax), minimale GEDCOM bestanden genereert die personen uit een kwartierstaat met het gespecificeerde aantal generaties beschrijft. Zo bestaat een GEDCOM bestand met fan value 4 dus uit 4 generaties, oftewel 15 personen: de kwartierdrager, de 2 ouders, de 4 grootouders en de 8 grootouders. Een GEDCOM met 16 generaties bevat 65.535 personen, enz.  De namen van de personen in deze bestanden bestaan uit de in het Engels uitgeschreven kwartierstaat nummer.

image

Deze bestanden dienen als import om een stamboomprogramma of –website te testen. Het grootste bestand dat goed wordt verwerkt bepaalt de maximale fan value van het stamboomprogramma of -website. Het zijn overigens geen ‘torture test’ GEDCOM’s, ook bevatten de bestanden enkel namen en relaties, geen gebeurtenissen, datum, plaatsen, media of notities.

In het artikel The Fan Value en GedFan worden testmethode en –programma nader beschreven. In het artikel Some GEDCOM Fan Values worden enkele resultaten van tests getoond, die variëren van 16- tot een fan value van 23.

Tamura Jones heeft tot nu toe stamboomprogramma’s onderworpen aan tests. Zelf heb ik WieWasWie wel eens onderworpen aan een test, de resultaten zijn verwerkt in het artikel De capaciteit van WieWasWie’s Stamboom bouwen.

Genealogie Online op de pijnbank

Omdat ik ook wel eens wil kijken wat de capaciteit is van Genealogie Online heb ik met GedFan 0.2 de test GEDCOM bestanden gegenereerd. Het grootste bestand dat ik tot nu toe heb verwerkt met Genealogie Online is het GEDCOM bestand die bestaat uit een complete kwartierstaat met 21 generaties, oftewel 2.097.151 personen. Dit bestand is 490.405 kB (oftewel 478 MB). Hieronder bespreek ik de verwerking van dit bestand als normale Genealogie Online gebruiker.

Een stamboomprogramma zal een bestand direct van de harddisk inlezen. Bij een website bestaat de eerste stap uit het transporteren van het GEDCOM naar de website.

image

Omdat de upload limiet van Genealogie Online op dit moment 100MB is heb ik het bestand eerst gecomprimeerd, een actie die ik gebruikers overigens ook aanraad. Het gecomprimeerde bestand van 38,2 MB werd in 0:01:04 ge-geupload naar Genealogie Online.

N.B. Het ‘FAN 22’ bestand is gecomprimeerd 76,8 MB, dus zou ge-upload kunnen worden. Het ‘FAN 23’ bestand is gecomprimeerd 154 MB, dus zou niet ge-upload kunnen worden.

Verwerking van het bestand door Genealogie Online

Waar een stamboomprogramma een GEDCOM bestand inleest zodat de gebruiker het daarna kan bewerken, rapporten kan maken en exporteren is het de functie van Genealogie Online om de gegevens te publiceren, te controleren en te matchen aan andere stambomen en online scans.

Na enige tijd kreeg ik een e-mail bericht van Genealogie Online dat het bestand geplaatst was en dus zonder blokkerende fouten is verwerkt.

image

Toen ik de publicatie controleerde zag ik echter geen data. Dit werd veroorzaakt door het privacy filter van Genealogie Online: als niet bepaald kan worden dat een persoon is overleden wordt er verondersteld dat de persoon leeft en dus de gegevens niet gepubliceerd mogen worden zonder toestemming (conform Wet Bescherming Persoonsgegevens). De door GedFan gegenereerde bestanden bevatten zoals eerder gezegd geen datums, dus van geen van de personen kon bepaald worden dat ze waren overleden, vandaar dat er geen persoonspagina’s waren gepubliceerd. Correct gedrag dus.

Binnen Genealogie Online kunnen gebruikers per persoon aangeven dat een persoon is overleden of dat de persoon toestemming heeft gegeven voor publicatie. In speciale gevallen (waarvan zeker is dat alle personen in het bestand zijn overleden) kan er bij een publicatie worden ingesteld dat er geen privacy filter wordt toegepast. Voor de publicatie met het FAN 21 bestand heb ik dit ingesteld, waarna het bestand nogmaals is verwerkt.

Het ‘FAN 21’ bestand is door Genealogie Online verwerkt in 5:37:41, overigens gewoon op de productiemachine, terwijl er ook andere stambomen werden geupdate. In deze tijd werd oa. het GEDCOM bestand ingelezen (duurde 1:28:45), werden (geaggreerde)  gegevens opgeslagen in MySQL en MongoDB en geïndexeerd in Solr en moesten er ruim 2 miljoen statische pagina's gecreëerd worden (duurde 3:11:33).

image

De resulterende publicatie is niet interessant omdat het geen ‘rijk’ GEDCOM bestand is, de kwaliteitscontroles leverde niets op (want geen datums), er kon niets gematched worden met andere stambomen of online scans (want geen datums en geen echte namen), er waren geen plaatsnamen, enz. Maar dit is ook niet het doel van de test. Er is een kwartierstaat van 21 generaties (ruim 20 miljoen personen) verwerkt door Genealogie Online die een werkende publicatie heeft opgeleverd!

Veel stamboomprogramma’s en –websites (waaronder WieWasWie) gaan vaak na het inlezen en ‘werken met’ deel de fout in, want de test vereist dat een GEDCOM export weer een valide GEDCOM oplevert. Genealogie Online is in wezen alleen een viewer, er worden geen gegevens bewerkt en er is dus ook geen GEDCOM export functie nodig. Er is wel een backup functionaliteit, deze download puur het (niet gecomprimeerde) geuploade bestand en dat werkt met het FAN 21 bestand.

Conclusie

Of ik nu mag zeggen dat de fan value van Genealogie Online ten hoogste 21 is weet ik niet. In de tests die Tamura beschrijft van stamboomprogramma’s is de tijd die de verwerking van het GEDCOM bestand in beslag neemt ook een factor. Als je ruim vijf en een half uur moet wachten totdat je GEDCOM is geïmporteerd in je stamboomprogramma dan kun je dat wel excessief noemen. Als Genealogie Online vijf en een half uur bezig is, is dit voor de gebruiker naar mijn mening geen ramp.

Ik ben grotendeels tevreden met de uitkomst van de test. Dit komt omdat het grootste ‘echte’ GEDCOM bestand dat thans is gepubliceerd bestaat uit 894.122 personen (Burgerlijke Stand van de Antwerpse Kempen), daarna komt een bestand met 378.439 personen (Genealogische data Golse Genen). Er is dus ruimte voor grotere bestanden! Maar dit soort miljoenen bestanden hebben zeker een impact op de live website (en dus andere gepubliceerde stambomen), tijdens de verwerking af en toe hoge load en geheugengebruik die bij het FAN 21 bestand piekte tot 10GB. Om deze reden heb ik dan ook het FAN 22 bestand nog niet durven testen.

Toen ik in 2011 dezelfde test heb uitgevoerd werd het FAN 21 bestand veel sneller verwerkt. Sindsdien zijn er echter diverse functionaliteiten toegevoegd aan Genealogie Online, deze hebben gezien de resultaten van deze test aardige impact. Dit soort capaciteitstest maakt inzichtelijk welke brokken functionaliteit ‘duur’ zijn en wellicht eens geoptimaliseerd moeten worden.