19 - 02 - 2018
Main Menu
Development
Old stories

Holiday's End

User Rating:  / 0
PoorBest 

Ja, da er ferien over og tid for å reflektere over sommeren som snart er på hell. Tiden går bare fortere og fortere, om det skyldes mere arbeid og mindre tid til å gjøre ingenting ettersom man blir eldre skal jeg la være å filosofere over og heller gå over til det jeg skulle snakke om, nemlig AgetoAge4 og MySQL.. La det først være sakt, AgetoAge4 har innebygget databasemotor som er den raskeste man kan tenke seg fordi datane blir ikke lagret til disk mens man jobber med ATA, men lagringen skjer når man velger "Save" fra File menyen. Alle data blir lest inn i RAM fra en fil når man åpner en fil og å finne dataene går utrolig raskt. Når man lager nye personer og familier blir disse bare lagret i RAM og man mister disse hvis man ikke lagrer til disk før man avslutter AgetoAge4. Å bruke en standardisert databasemotor betyr for AgetoAge4 at innhenting av data vil ta mere tid, men det er veldig interessant å jobbe mot f.eks MySQL og det åpner for mange andre ting som er tidkrevende å programmere. For eksempel er det ingen ting i veien for å kjøre en spørring mot flere databaser samtidig. Man kan f.eks opprette databasene, A, B, C og D (eller flere) og så importere data til disse fra GED filer eller ATA filer og så spørre etter f.eks hvilke personer som er felles i databasene (med wildcards for å kompensere mot forskjellige stavemåter for navnene). Det er også veldig raskt å skifte mellom databaser,  (man behøver ikke å lese inn data når man bytter base, men datane blir lest inn når man trenger dem).  Databasene i MySQL er er faktisk bare en katalog, (mappe) lager man databasen "MinBase" blir det fysisk laget en mappe "MinBase" der det opprettes filer for hver tabell man lager i basen. Man kan faktisk bare manuelt opprette en mappe som ligger under Data i MySQL mappen og MySQL vil tolke denne mappen for å være en database. I AgetoAge4 vil det være et vindu der man kan se alle databaser man bruker for AgetoAge4, listen over disse lages ved at ATA kjører en spørring "SHOW DATABASES" mot valgt Server (kan være lokalhost eller et domene som har MySQL). Resultatet fra spørringen vil så bli undersøkt for å finne alle databaser som har standardtabellene som vil bli brukt i ATA. Fra AgetoAge4 vil man således bare se de databaser som AgetoAge kan bruke. Fra dette vinduet kan man også opprette nye databaser, standardtabellene blir automatisk generert. At det genereres standardtabeller betyr ikke at man bare kan bruke disse tabellene, man kan lage sin egne private tabeller i tillegg til standardtabellene om man vil. Standardtabellene er de tabeller som må være i basen for at man kan lagre en person eller familie. For å kunne bruke denne versionen av AgetoAge4 må man enten logge inn på et domene som har MySQL Server eller installere MySQL Server på sin egen maskin. Jeg vil nå publisere denne versjonen av AgetoAge4 som kun bruker MySQL (AgetoAge4Database) men den er på ingen måte ferdig utviklet og er mest en testversjon for å finne ut hva som vil bli det beste grensesnittet mellom AgetoAge4 og MySQL. Denne versjonen jobber veldig tungvint mot MySQL, den kjører masse unødvendige spørringer (datane kunne blitt lagret internt i AgetoAge4 og brukt om igjen). For eksemplel så kjøres det 4-500 spørringer mot MySQL etter data for personer og familier når jeg går til GroupView og setter meg selv som subject,  (ca 8500 personer i databasen) Så det er fristende å bruke AgetoAge4 innebygde databasemotor som en cache. Så dette leder til at det nok blir som jeg tenkte først, å programmere en egen modul som "leser" inn data fra databasen og inn i AgetoAge4 interne databasesystem. Det som da blir det mest "nyttige" er at man kan opprette databaser av diverse GED og ATA filer og så bruke MySQL Query til å sammenligne data fra forskjellige baser.

Add comment


Security code
Refresh