Databases migreren

Engelse vertaling

Databaseserver

Track of the day
maakt gebruik van Microsoft SQL Server 2019 in de gratis LocalDB
Edition
voor de permanente opslag van tracks, routes en POI’s. De LocalDB Edition van SQL Server is bedoeld voor gebruik op één computer. Er kunnen echter meerdere databases tegelijkertijd worden beheerd. Er is geen beperking op de grootte van de database. Alleen de beschikbare ruimte op de harde schijf bepaalt hoeveel elementen in de database kunnen worden opgeslagen.

Functies zoals de import van POI’s worden echter iets trager naarmate de hoeveelheid gegevens toeneemt, bijvoorbeeld wanneer de controle op dubbele records is geactiveerd. Dit is echter onvermijdelijk. Als een database bijvoorbeeld 10.000 POI’s bevat en er worden 1.000 nieuwe POI’s geïmporteerd met geactiveerde controle op dubbele gegevens, dan moeten er 10.000 x 1.000 = 10 miljoen controles op dubbele POI’s worden uitgevoerd.

Dat dit enige tijd in beslag neemt, is meer dan begrijpelijk.

Databaseschema

De SQL-server is een databasesysteem voor het beheer van relationele databases. Bij de eerste start van Track of the day wordt een verbinding met de SQL-server tot stand gebracht en wordt een initiële database voor Track of the day aangemaakt en in de SQL-server geregistreerd. Alle gegevens worden opgeslagen in tabellen die met elkaar kunnen worden gekoppeld. Deze tabellen worden relaties genoemd. Elk van deze tabellen heeft kolommen waarin informatie met verschillende gegevenstypen kan worden opgeslagen. Dit alles samen wordt een databaseschema of databasemodel genoemd.

Schemawijzigingen

Als met een nieuwere versie van Track of the day de volgorde of het gegevenstype van ook maar één tabelkolom verandert, moet het betreffende databaseschema worden gemigreerd. Deze migraties zijn technisch gezien een complex proces, waarbij veel mis kan gaan. Daarom is het altijd raadzaam om vooraf een back-up van de database te maken.

Hybride opslag

Track of the day
maakt gebruik van een model voor hybride opslag van tracks
, routes
en POI’s
. Daarbij worden de GPX-bestanden van de tracks en routes en de afbeeldingen van POI’s niet in de database zelf opgeslagen, maar in de GPX-cache. Binnen de database wordt naar deze bestanden alleen verwezen via de bestandsnaam. Zo blijft de eigenlijke database snel en compact. Een bijkomend voordeel is dat in het geval van een beschadigde database alle GPX-bestanden heel eenvoudig opnieuw uit de cache kunnen worden geïmporteerd.

Wijzigingen in het gegevensmodel

Track of the day
wordt voortdurend verder ontwikkeld, waarbij rekening wordt gehouden met de wensen van gebruikers. Wijzigingen zoals bijvoorbeeld de introductie van hashtags
maken uitbreidingen van het gegevensmodel noodzakelijk. Om hashtags te kunnen beheren, is in de tabellen Track
, Route
en POI
een nieuwe kolom Hashtag
toegevoegd.

Om verschillende versies van het gegevensmodel te kunnen onderscheiden, wordt bij elke start van Track of the day
het interne versienummer vergeleken met het versienummer van de database. Als deze versies niet overeenkomen, is mogelijk een migratie van de bestaande gegevensbestanden nodig. Dit is een complex proces waarbij veel mis kan gaan. Daarom wordt de gebruiker gevraagd of hij bereid is een migratie van de gegevens uit te voeren.

Klik hier niet zomaar op OK
, maar zorg ervoor dat alle gegevens zijn opgeslagen en indien nodig kunnen worden hersteld.

Gegevens opnieuw importeren

Als de automatische migratie mislukt, moet er een nieuwe database met de huidige versie worden aangemaakt. Dit gebeurt bij het opnieuw opstarten van Track of the day eventueel automatisch. Opgeslagen tracks en routes kunnen vervolgens in de database worden geïmporteerd. Deze GPX-bestanden zijn te vinden in de GPX-cache van Track of the day. Het pad ziet er meestal als volgt uit:

  • C:\Users\[Uw account]\Documents\Track of the day\Cache\GPXArchive

Bij een Duitse Windows-installatie kan het pad er ook als volgt uitzien:

  • C:\Gebruikers\[Uw account]\Documenten\Track of the day\Cache\GPXArchive

Om tracks en routes opnieuw te importeren, gaat u als volgt te werk:

  • Start Track of the day
  • Selecteer tracks en routes via de knop Toevoegen
  • Bij zeer veel tracks of routes is het aan te raden om niet alle bestanden in één keer te openen
  • Nadat de tracks en routes zijn geopend, kunt u via het contextmenu (rechtermuisknop) de optie Alles toevoegen aan de lokale database selecteren

POI’s kunnen via Toevoegen worden geopend en opnieuw worden geïmporteerd. Bij POI’s kan niet voor alle elementen worden gegarandeerd dat ze opnieuw kunnen worden geïmporteerd. Foto’s en screenshots zonder GEO-codering worden in deze stap overgeslagen en niet geïmporteerd.