Het bestandsformaat van Centurial projecten en back-upstrategieën

vrijdag 6 december 2019 door Fouke Boss, vertaling door Marc Engel.

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.

Centurial ontwerpen

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.

SQLite doet zijn intrede

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:

  • SQLite is zeer betrouwbaar. SQLite geeft geen problemen, het werkt gewoon. De teststandaarden voor SQLite behoren tot de hoogste voor commerciële software.
  • SQLite draait zelfstandig. Andere databasesystemen vereisen de installatie van een enorm databasebeheersysteem, meestal inclusief Windows Services en wat meer. SQLite vereist niet zo'n extra installatie, zodat het kan worden geïnstalleerd met Centurial zelf, zonder extra gedoe voor de gebruiker.
  • SQLite is ontworpen voor langdurige ondersteuning. De ontwikkelaars van SQLite zijn van plan om SQLite ten minste tot het jaar 2050 te ondersteunen , dus je Centurial-gegevens zullen ook tot ten minste 2050 beschikbaar zijn. SQLite is zelfs zo goed ontworpen voor langdurige ondersteuning dat het zelfs een aanbevolen opslagformaat voor het Amerikaanse Library of Congress is geworden.
  • SQLite is de meest gebruikte database ter wereld. Het wordt gebruikt in alle belangrijke besturingssystemen, in browsers en televisies, op telefoons en vele andere apparaten. Dit betekent dat zelfs als Centurial op magische wijze van de aarde zou verdwijnen (wat niet zal gebeuren), er veel andere applicaties beschikbaar zijn voor het extraheren van je onderzoeksgegevens uit je Centurial-projectbestanden.
  • SQLite is gratis software, dus er zijn geen grote database-gebruikskosten voor Centurial-gebruikers vereist.

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...).

Centurial projectbestand

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.

Bestandsgrootte van projecten

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:

  • Zo'n groot bestand kan niet gemakkelijk worden verplaatst.
  • Hoe maak je een back-up van zo'n bestand?

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.

Back-ups in Centurial

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.

Succesvolle back-upstrategieën voor Centurial-projecten

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!

Samenvatting van back-upstrategie

Samenvattend, een succesvolle back-upstrategie voor je Centurial-projecten bestaat uit 2 delen:

  1. Bewaar je Centurial-projecten in een map op je lokale schijf die niet is gesynchroniseerd met een cloudopslagoplossing.
  2. Activeer het Centurial back-upsysteem door een back-upmap op te geven die ofwel
    1. is gesynchroniseerd met een cloudopslagoplossing of die
    2. zich op een netwerkopslag bevindt.

Het opruimen van back-ups

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:

  • Van de laatste minuut wordt maximaal 1 back-up per seconde bewaard.
  • Van de laatste 5 minuten wordt maximaal 1 back-up per 10 seconden bewaard.
  • Van de laatste 15 minuten wordtmaximaal 1 back-up per minuut bewaard.
  • Van het laatste uur wordt maximaal 1 back-up per 5 minuten bewaard.
  • Van de laatste dag wordt maximaal 1 back-up per uur bewaard.
  • Van de afgelopen week wordt maximaal 1 back-up per 4 uur bewaard.
  • Van de laatste maand wordt maximaal 1 back-up per dag bewaard.

Het opruimsysteem bewaart altijd de meest recente back-up binnen het gegeven tijdsbestek.

Een project herstellen

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.

Wees wijs ... en maak back-ups!

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!

;