Bij het ontwerpen van Centurial is veel aandacht besteed aan de manier waarop je familiegegevens worden opgeslagen. In deze blog bekijken we deze ontwerpdoelen en wat ze betekenen voor je back-upstrategie voor Centurial-projecten.
In 2016, toen ik voor het eerst aan Centurial begon te werken is er heel wat tijd gaan zitten in het ontwerpen van het gegevensopslag aspect van Centurial. Als genealoog kunnen we een behoorlijk grote hoeveelheid gegevens verzamelen, niet alleen het ontdekte bewijsmateriaal in alle verschillende bronnen, maar zeker ook een enorme hoeveelheid digitale scans, foto's en schermafbeeldingen van websites. Deze digitale gegevensverzameling is een van de belangrijkste resultaten van ons onderzoek en verdiende daarom een aantal goede ontwerpen.
De eerste keuze die ik moest maken was tussen het opslaan van al deze gegevens 'in de cloud' zoals het tegenwoordig wordt genoemd, wat betekent op een server van een bedrijf, of op de pc of laptop van de Centurial-gebruiker. Nu heb ik de neiging om mijn privacy behoorlijk te waarderen, en ik besloot al snel te kiezen voor het lokale opslagconcept: met Centurial verlaten genealogische gegevens nooit de pc of laptop van de gebruiker.
Na enige tijd met verschillende andere genealogische softwaretoepassingen te hebben doorgebracht, merkte ik dat al deze toepassingen hun gegevens opslaan in een indeling die een stapel-van-bestanden wordt genoemd. Wat dit betekent is dat voor elk onderzoeksproject deze toepassingen een map op de schijf van de gebruiker maken. In deze map maakt de toepassing vervolgens veel verschillende bestanden en submappen, die elk een deel van het onderzoek bevatten: een stapel bestanden. Deze manier om je onderzoek op te slaan maakt me altijd een beetje nerveus, omdat dit in mijn gedachten meteen vragen oproept als "welke van deze bestanden moet ik kopiëren, mocht ik ooit besluiten om naar een nieuwe pc of laptop te gaan?" en "welke van deze bestanden moet ik in mijn back-up opnemen?". Op basis van deze observaties formuleerde ik een tweede ontwerpdoel: met Centurial bevinden alle onderzoeksgegevens zich in één bestand.
Op de websites van deze andere genealogietoepassingen kwam ik soms lange stukken documentatie tegen over het herstellen van een onderzoeksproject voor het geval het corrupt was geraakt . Pardon!? Zou dat niet deel moeten uitmaken van het kernontwerp van een goed ontworpen stuk software ?! Welnu, ik heb er tenminste voor gezorgd dat het er één was voor Centurial: in Centurial worden de gegevens betrouwbaar en robuust opgeslagen en zijn migraties transparant voor de gebruiker.
Het was rond deze tijd in het ontwerpproces dat ik leerde over het bestaan van SQLite, uitgesproken (tenminste door de auteur van SQLite) als S-Q-Lite. SQLite is een "C-library die een kleine, snelle, onafhankelijke, zeer betrouwbare SQL-engine met volledige functionaliteit implementeert". Een beetje verbaasd dat ik nog nooit in mijn jaren als softwareontwikkelaar SQLite was tegengekomen, werd ik al snel erg enthousiast over de mogelijkheden om SQLite te gebruiken als opslagformaat voor Centurial. Waarom? Welnu:
In de afgelopen drie jaar ben ik een grote fan van SQLite geworden. Het heeft nooit problemen gegeven en het werkt echt gewoon. Tot nu toe heeft geen enkele Centurial-gebruiker ooit gemeld dat hij onderzoeksgegevens verloor (of misschien een keer, een beetje, maar dat was mijn fout...).
Het Centurial-projectbestand is dus een SQLite-databasebestand op je lokale schijf met de extensie .cent. Elk Centurial-projectbestand bevat alle brondetails, de informatie en beweringen uit de bronnen, het bewijsmateriaal en alle conclusies voor dat project. Ook zijn alle digitale scans, afbeeldingen en foto's die zijn toegevoegd aan de Bestandsverkenner van de Bronweergave opgenomen in dit ene Centurial-projectbestand.
Je kunt de Projectdialoog gebruiken om de opslaggrootte van je Centurial-projecten te bekijken. Bijvoorbeeld:
De opslaggrootte van de gegevens geeft de grootte van de bron-, informatie-, claim-, bewijs- en conclusiegegevens aan. De opslaggrootte van bestanden geeft de totale grootte aan van alle documenten en digitale afbeeldingen in je project.
Het grote voordeel van één projectbestand is nu dat je altijd weet waar je projectgegevens zich bevinden. Het is niet verspreid over veel verschillende bestanden en mappen, nee, het zit in dat ene, enkele .cent projectbestand. Wil je je onderzoek naar een andere pc of laptop verplaatsen? Installeer Centurial op je nieuwe machine, breng het enkele projectbestand over met behulp van een externe harde schijf en je kunt weer verder.
Naarmate je meer en meer tijd aan je onderzoek besteedt, wordt de omvang van je projectbestand steeds groter. Centuriële projectbestanden van meer dan 10 GB zijn in het wild gezien! Vanwege SQLite is deze grootte (en veel groter) geen probleem voor Centurial.
De grootte van zo'n Centurial-project kan echter een probleem worden voor de gebruiker:
De eerste uitdaging is een echte zorg, maar het veranderen van het Centurial-projectbestand in een stapel bestanden zou een nepvriend zijn. Als Centurial alle projectgegevens zou opslaan als een stapel bestanden, dan zouden de gegevens gemakkelijker kunnen worden verplaatst. Maar dan kan de verbinding tussen de verschillende gegevens gemakkelijk verloren gaan! Het enkele Centurial-projectbestand maakt de gebruiker in elk geval duidelijk dat alle gegevens in het project verband houden en niet gedeeltelijk moeten worden gekopieerd of verplaatst. En: een Centurial projectbestand is meestal kleiner dan als het een stapel bestanden zou zijn.
Om de tweede zorg aan te pakken, is Centurial vanaf een zeer vroege versie 1.1 uitgerust met een speciaal back-upsysteem. Het systeem wordt vrij eenvoudig geactiveerd en gebruikers worden tijdens de eerste opstartprocedure verleid om dit te doen. Open de Instellingendialoog vanuit het HULPMIDDELEN-menu en ga naar het tabblad 'Back-up':
Om het geautomatiseerde back-upsysteem te activeren, vinkt je eenvoudig aan "Ja, ik wil back-ups maken van mijn Centurial-projectbestanden.", Geef het pad van de back-upmap op en klik op 'OK'. Daarna wordt voor elke wijziging die je aanbrengt in je Centurial-project automatisch een back-up gemaakt in de gegeven back-upmap.
Nu is de belangrijkste zorg voor een succesvolle back-upstrategie ervoor te zorgen dat je back-ups zo snel mogelijk na het maken op een locatie buiten je pc of laptop worden geplaatst . Op deze manier, als je pc of laptop plotseling crasht, of wordt gestolen, of verloren raakt, heb je altijd je back-up om naar terug te gaan.
De eerste manier om dit te bereiken is door een cloudopslagoplossing te gebruiken , zoals Dropbox, Google Drive, OneDrive of een andere. Deze cloudopslagoplossingen worden meestal geleverd met een synchronisatie-app die automatisch de inhoud van een map op je lokale schijf synchroniseert met een map in je cloudopslag. De manier om te gaan is om (een map in) deze lokale synchronisatiemap te selecteren als het back-uppad. Op deze manier maakt Centurial elke keer dat je je onderzoek bewerkt, automatisch een back-up in deze map en kopieert de synchronisatie-app deze back-up vervolgens naar je cloudopslag. je wijzigingen worden binnen een minuut veilig van je machine gekopieerd.
Een andere manier, die niet afhankelijk is van enige vorm van cloudopslag, is om een lokale netwerkopslag of kortweg NAS te gebruiken. Een NAS is als een externe harde schijf die niet is aangesloten op je computer maar op je netwerk en zich gedraagt als een bestandsserver. Door een map op de NAS te selecteren als je back-uppad, worden back-ups gemaakt door Centurial onmiddellijk naar je NAS gekopieerd.
Onderdeel van elke succesvolle back-up strategie is ook om je Centurial-project nooit in de lokale cloudopslagmap of op de NAS te plaatsen. Want als je dat doet, zal bij iedere wijziging in je Centurial project het volledige projectbestand naar je cloud opslag of NAS wordt gekopieerd. Wanneer dit projectbestand klein is, is dit geen probleem. Maar een middelgroot project, bijvoorbeeld 100 MB, kan serieuze problemen veroorzaken wanneer het ongeveer elke 10 seconden wordt gekopieerd!
Samenvattend, een succesvolle back-upstrategie voor je Centurial-projecten bestaat uit 2 delen:
Centurial back-ups zijn dus geoptimaliseerd voor de bestandsgrootte om te voorkomen dat grote hoeveelheden gegevens continu naar je cloudopslag of NAS worden overgedragen. Omdat Centurial echter een back-up maakt voor elke wijziging die je aanbrengt in je projectbestanden, kan je back-upmap toch te groot worden. Daarom is Centurial uitgerust met een opruimsysteem voor back-ups. Dit systeem zorgt ervoor dat het aantal back-ups niet te groot wordt.
Het beleid van het opruimsysteem is om recentere back-ups te bewaren, maar om te beginnen met het verwijderen van back-ups naarmate ze ouder worden. Dit betekent:
Het opruimsysteem bewaart altijd de meest recente back-up binnen het gegeven tijdsbestek.
Als je een back-up van een Centurial-project wilt herstellen, selecteert je 'Een back-up herstellen' in de Snelstartdialoog. In de bronstap van de wizard die dan verschijnt, wordt je gevraagd om de back-up die je wilt herstellen selecteren. je kunt het project selecteren om de nieuwste beschikbare versie van het project te herstellen, of je kunt een specifiekere back-up kiezen.
In de doelstap kiest je de naam van het herstelde project (standaard de oorspronkelijke projectnaam) en de locatie van het project.
Daarna worden in de samenvattingstap de geselecteerde bron en doel instellingen getoond.
Klik op 'Volgende' om het project te herstellen. Nadat het herstel is voltooid, opent Centurial het herstelde project.
Het opzetten van een succesvolle back-upstrategie in Centurial duurt ongeveer 5 minuten, wat goed bestede tijd is wanneer je pc of laptop eenmaal besluit de geest te geven. Voorkomen is beter dan genezen!