In deze handleiding wordt uitgelegd hoe een configuratiebestand is opgebouwd en wat het effect van de congfiguratie is op de data die wordt opgehaald met behulp van OnsDB.
Bij het gebruik van OnsDB is het mogelijk om gegevens te selecteren op basis van selectie-parameters. In dit artikel wordt toegelicht welke parameters op te geven zijn en wat deze inhouden. Bij het configureren van de parameters is het aan te raden om de toepassingsmogelijkheden te bestuderen. In dat artikel wordt aan de hand van twee voorbeelden uitgelegd welke parameters in welke situatie raadzaam zijn.
Opbouw Configuratiebestand
In het configuratiebestand wordt aangegeven welke gegevens gedownload worden en hoe de database opgeslagen moet worden. De opbouw van het bestand is als volgt:
Instellingen zijn verdeeld in een aantal categorieën, een categorie wordt aangegeven als:
De instellingen zelf volgen het format:
Indien een regel begint met een #, wordt de betreffende regel genegeerd. Een voorbeeld is gebruik van de schema-version:
In dit geval wordt het versienummer genegeerd en treedt de default-waarde (de nieuwste schema-version) in werking.
Categorieën
[onsdb]
Deze categorie bevat instellingen gerelateerd aan de werking van OnsDB en kan ingericht worden met de volgende parameters:
De URL van de applicatie moet verplicht opgegeven worden. Voorbeeld:
url = klantnaam.ioservice.net
Voer hier alleen een URL in die eindigt op .ioservice.net. Overige URL's werken niet (zoals .startmetons.nl)
Start en end kunnen gebruikt worden om het begin en einde van een periode op te geven. Deze periode wordt gebruikt om de tabellen die dat ondersteunen, tijdsgebonden op te halen. Hiermee worden onnodig lange doorlooptijden voorkomen. De datums kunnen in het verleden en in de toekomst liggen.
Een einddatum in de toekomst is bijvoorbeeld handig voor het ophalen van toekomstige roostertoewijzingen.
De waarde moet opgegevens worden volgens het format: jjjj-mm-dd. De einddatum is tot-en-met. Voorbeeld:
start = 2019-01-01
end = 2019-05-01
Er zijn een aantal speciale waardes die ook gebruikt kunnen worden:
Deze berekenen de huidige dag of gisteren op basis van het moment van starten van OnsDB.
Als deze instellingen niet opgegeven worden, dan zal OnsDB de standaard waardes gebruiken. Voor start is dit 1 januari van het voorgaande jaar en voor end is dit yesterday. Als je dus niet expliciet een einddatum opgeeft, worden gegevens tot en met gisteren opgehaald.
Met include en exclude kan worden aangegeven welke tabellen juist wel of niet gedownload moeten worden. Beide parameters verwachten een komma-gescheiden lijst van tabelnamen.
De schema-version parameter biedt de mogelijkheid om op eigen gelegenheid te migreren naar een nieuwere versie van het datamodel. Als deze instelling niet wordt opgegeven, zal altijd de meest recente versie van het datamodel gedownload worden. Voorbeeld:
Met de threads instelling wordt aangegeven hoeveel systeem-threads gebruikt mogen worden tijdens het downloaden. De waarde van deze instelling kan invloed hebben op de doorlooptijd van OnsDB. De standaardwaarde van deze instelling is 4. De aanbevolen waarde is het aantal processoren die er beschikbaar zijn, maar nooit meer dan 4.
Mocht er gebruik gemaakt worden van een proxy-server, dan kan de URL van de proxy server aangegeven worden in de proxy parameter.
De email parameter kan eventueel gebruikt worden om een rapport te laten versturen naar een zelfgekozen emailadres. Dit rapport bevat een overzicht van de doorlooptijd en eventuele fouten die zijn tegengekomen. Voorbeeld:
Pagesize: standaard 50.000. Hiermee wordt bepaald hoeveel records in één keer worden opgehaald door OnsDB bij tabellen met veel records. Als bijvoorbeeld administration_agreements gedownload worden, gebeurt dat met deze instelling met 50.000 records per thread. Het vergroten van dit getal kan in sommige gevallen efficiënter zijn, omdat er minder taken opgestart worden en binnen een taak meer records in één keer opgehaald worden, maar het risico bestaat wanneer dit getal te groot is, dat de download van 1 taak te lang duurt (meer dan 2 minuten) en resulteert in een timeout. Het verlagen van dit getal zorgt ervoor dat minder records in één keer opgehaald worden, maar dat gebeurt dan met meer taken en zal doorgaans minder efficiënt zijn. In principe hoeven de standaardwaarden niet te worden aangepast.
Daysize: standaard 7. Hiermee wordt bepaald hoeveel records in één keer worden opgehaald door OnsDB bij tabellen met veel records, die worden gebaseerd op datums. Als bijvoorbeeld presence_logs gedownload worden, gebeurt dat met deze instelling met het aantal records per 7 dagen aan zorgregels per thread. Het vergroten van dit getal kan in sommige gevallen efficiënter zijn, omdat er minder taken opgestart worden en binnen een taak meer records in één keer opgehaald worden, maar het risico bestaat wanneer dit getal te groot is, dat de download van 1 taak te lang duurt (meer dan 2 minuten) en resulteert in een timeout. Het verlagen van dit getal zorgt ervoor dat minder records in één keer opgehaald worden, maar dat gebeurt dan met meer taken en zal doorgaans minder efficiënt zijn. In principe hoeven de standaardwaarden niet te worden aangepast.
[database]
Deze categorie bevat de verbindingsinstellingen van de lokale database en kan ingericht worden met de volgende parameters:
Het type van de lokale database moet verplicht opgegeven worden. Om verbinding te maken met een Microsoft SQL sever via ODBC:
Om verbinding te maken met een MySQL server:
Om gebruik te maken van een Microsoft SQL Server database moet een ODBC koppeling gemaakt worden. De odbc instelling moet de naam van deze koppeling bevatten. Voorbeeld:
De parameters username en password kunnen gebruikt worden indien een gebruikersnaam en wachtwoord nodig zijn om verbinding te kunnen maken met de lokale database. Voorbeeld:
username = onsdb
password = 123
Met de database instelling wordt de naam van de te gebruiken database opgegeven. Voorbeeld:
Mocht de databaseserver niet op de lokale machine draaien, dan kunnen de host en port parameters gebruikt worden om het IP-adres of de hostname en de poort van de databaseserver op te geven. Voorbeeld:
host = 192.168.1.1
port = 3308
Eventuele extra verbindingsopties kunnen opgegeven worden met behulp van de parameter options. Om de datum en tijd in de Nederlandse tijdzone op te slaan kan bijvoorbeeld de volgende optie gebruikt worden:
[certificate]
Deze categorie bevat de contactgegevens van de persoon of persoonsgroep (bijvoorbeeld applicatiebeheer) die verantwoordelijk is voor het beheren van het toegangscertificaat. Deze gegevens kunnen worden gebruikt om contact op te nemen over de certificaataanvraag. De parameters name, email en tel moeten verplicht ingevuld worden. Voorbeeld:
name = Voornaam Achternaam
email = mail@example.com
tel = +31 6 12345678
Voorbeelden configuratiebestanden
Microsoft SQL (MSSQL)
[onsdb]
url = klantnaam.ioservice.net
start = 2019-01-01
end = yesterday
include = presence_logs
#exclude =
#schema-version = 4048
#threads = 4
#proxy = http://localhost:8080
email = mail@example.com
[database]
type = mssql
odbc = onsdb
#username = onsdb
#password = onsdb
#database = onsdb
#host = localhost
#port = 3306
#options = loc=Local
[certificate]
name = Voornaam Achternaam
email = email@example.com
tel = 0612345678
MySQL
[onsdb]
url = klantnaam.ioservice.net
start = 2019-01-01
end = yesterday
include = presence_logs
#exclude =
#schema-version = 4048
#threads = 4
#proxy = http://localhost:8080
email = mail@example.com
[database]
type = mysql
#odbc = onsdb
username = onsdb
password = onsdb
database = onsdb
#host = localhost
#port = 3306
#options = loc=Local
[certificate]
name = Voornaam Achternaam
email = email@example.com
tel = 0612345678