Duomenų struktūros aprašas

../_images/zingsnis_3.png

Duomenų struktūros aprašas rengiamas tada, kai atsiranda prašymas atverti duomenis arba savo nuožiūra įvertinus duomenų paklausos potencialą.

Kas yra duomenų struktūros aprašas?

../_images/struktura.png

Duomenų struktūros apraše pateikiama duomenų struktūros išklotinė išvardinant visus duomenų laukus, kurie bus atverti.

Duomenų struktūros apraše pateikiama pilna duomenų laukų išklotinė.

Duomenų laukai yra skirstomi į modelius. Modelio ir savybės tiksli prasmė priklauso nuo aprašomo duomenų šaltinio:

Šaltinis

Modelis

Savybė

SQL

Lentelė

Stulpelis

CSV

Lentelė

Stulpelis

XLSX

Lentelė

Stulpelis

JSON

Masyvas

Atributas

XML

Masyvas

Atributas

RDF

Klasė

Savybė

Duomenų struktūros apraše galima aprašyti įvairių duomenų šaltinių turinį vieningu sutartiniu būdu.

Iš kur gauti ŠDSA?

../_images/sdsa-gavimas.png
  1. Infrastruktūros paruošimo sutartis

  2. ŠDSA paruošimas

  3. ŠDSA suderinimas atvėrimui

  4. Duomenų atvėrimo sutartis

  5. ADSA publikavimas

Infrastruktūros paruošimo sutartis

Atliekant duomenų atvėrimo darbus gali būti reikalingos dvi sutartys. viena yra reikalinga infrastruktūros paruošimui, o kita duomenų atvėrimui.

Infrastruktūros parengimo procedūroms dažnai reikalinga pilna prieiga prie duomenų šaltinio ir administratoriaus teisės kompiuteryje ar serveryje, kuriame bus diegiamos duomenų atvėrimo priemonės.

Tuo tarpu duomenų atvėrimo sutartis nereikalauja jokios prieigos prie duomenų šaltinio.

Infrastruktūros paruošimo sutartis yra reikalinga tik tuo atveju, jei Teikėjas neturi jokios duomenų šaltinio priežiūros sutarties ir negali infrastruktūros paruošimo darbų atlikti savarankiškai.

Infrastruktūros paruošimo darbus gali atlikti ir Atvėrėjas.

Apibendrinant, Administratorius atsakingas už infrastruktūros paruošimą gali būti:

  • pats Teikėjas, jei turi reikalingas technines kompetencijas,

  • esamas Administratorius atliekantis duomenų šaltinio priežiūros ir palaikymo paslaugas,

  • Administratorius su kuriuo atskirai sudaroma sutartis tik infrastruktūros duomenų atvėrimui paruošimo prie priežiūros paslaugoms,

  • Atvėrėjas, sudarius atskirą sutartį gali teikti Administratoriaus paslaugas.

Infrastruktūros paruošimui reikia atlikti šiuos darbus:

  • Kompiuterio ar serverio, kuriame bus diegiamos duomenų atvėrimo priemonės, diegimas ir konfigūravimas.

  • Prieigos prie duomenų šaltinio konfigūravimas.

  • Priemonių reikalingų duomenų atvėrimui diegimas ir konfigūravimas.

  • Nestandartinių duomenų šaltinių transformavimas į standartinius formatus.

  • Šaltinio duomenų struktūros aprašo generavimas arba parengimas.

  • Duomenų atvėrimo priemonių stebėsena ir palaikymas, atsiradusių trikdžių šalinimas.

Administratorius turėtu naudoti standartines, prižiūrinčios institucijos prižiūrimas duomenų atvėrimo priemones.

Reikalavimai infrastruktūrai

Reikalavimai infrastruktūrai priklauso nuo to, koks variantas labiausiai tinka konkretaus Teikėjo atvejui. Toliau aptarsime kelis galimus variantus, tačiau variantų gali būti ir daugiau.

Atskira virtuali mašina

Šis variantas yra rekomenduojamas.

Teikėjo infrastruktūroje reikia paleisti naują virtualią mašiną, kurioje būtų įdiegta Linux operacinė sistema ir suteikta prieiga prie duomenų šaltinio.

Rekomenduojame naudoti Red Hat, Ubuntu arba Debian Linux distribucijas.

Jei duomenys pateikiami duomenų failuose, tuomet katalogas, kuriame yra saugomi failai, prie virtualios mašinos prijungimas NFS arba SMBFS pagalba. Arba galima failus periodiškai kopijuoti į virtualią mašiną rsync pagalba.

Jei duomenų atvėrimui naudosite VDV IS duomenų jungtį, tuomet, virtualioje mašinoje reikia panašiai tiek pat vietos, kiek užima visi atvėrimui reikalingi duomenys, kadangi VDV IS duomenų jungtis, prieš perduodant duomenis, pasidaro perduodamų duomenų kopiją.

Jei duomenų atvėrimui naudosite standartinę priemonę Spinta, tuomet duomenų perdavimui reikalinga tiek vietos, kiek užima visų atveriamų duomenų identifikatoriai. Kiek tiksliai identifikatoriams reikės vietos labai priklauso nuo duomenų šaltinio duomenų.

ŠDSA paruošimas

Administratorius, naudodamasis Prižiūrinčios institucijos patvirtintomis priemonėmis, parengiam duomenų šaltinio struktūros aprašą (ŠDSA).

ŠDSA yra lentelė sudaryta iš 15 stulpelių, kurioje pateikiamas pilnas duomenų šaltinyje esančių duomenų laukų sąrašas su duomenų tipais, ryšiais tarp duomenų objektų ir aprašymais.

Tokią lentelę daugeliu atveju galima sugeneruoti automatiškai naudojant standartines priemones, jei duomenų šaltinis palaikomas. Jei standartinės priemonės duomenų šaltinio nepalaiko, tuomet, Administratorius parengia ŠDSA savaranki6kai.

Tokį pradinį ŠDSA variantą Administratorius perduoda Teikėjui.

Po tam tikro laiko, kai duomenų šaltinio struktūra keičiasi, reikia atnaujinti ir ŠDSA, tačiau išlaikant visus keitimus, kuriuos yra padaręs Teikėjas. Atnaujinant ŠDSA reikia užtikrinti, kad duomenų struktūra, kuri jau buvo publikuota, išliktų nepakitusi. Turi būti užtikrinamas publikuotos duomenų struktūros stabilumas.

Tam tikra apimtimi standartinės priemonės užtikrina ŠDSA atnaujinimą, tačiau sudėtingesniais struktūros pasikeitimo atvejais, gali tekti sugeneruoti naują ŠDSA variantą ir lyginant su anksčiau generuoti ir taisytu variantu palyginti ir atnaujinti rankiniu būdu.

Šaltinio duomenų struktūros aprašas gali būti generuojamas įvairiais būdais, kelis iš jų aptarsime sekančiuose skyreliuose.

Tiesioginis generavimas

Tiesioginis generavimas iš duomenų šaltinio reikalauja tiesioginės prieigos prie duomenų šaltinio. ŠDSA generavimo priemonė jungiasi prie duomenų šaltinio, nuskaito duomenų šaltinio struktūrą ir generuoja ŠDSA.

Šiuo atveju, generavimo priemonė turi turėti pilną prieigą prie duomenų šaltinio ir įprastiniu atveju ją turėtu leisti Administratorius, kuris yra sudaręs infrastruktūros paruošimo sutartį su Teikėju. Generavimas turėtu vykti Teikėjo infrastruktūroje.

Generavimas iš schemos

Jei duomenų šaltinis tai palaiko, galima eksportuoti duomenų šaltinio schemą ir ją perduoti Atvėrėjui, kuris iš schemos parengs ŠDSA.

Šaltinio schema gali būti pateikta SQL DDL ar kitu formatu, kurį palaiko standartinės priemonės.

Šiuo atveju, nereikia diegti jokių papildomų priemonių, tačiau reikalinga Rangovo pagalba eksportuojant duomenų šaltinio schema.

Rankinis paruošimas

Tam tikrais atvejais, kai duomenų šaltinis yra labai nedidelės apimties arba duomenų brandos lygis yra labai žemas, šaltinio duomenų struktūros aprašą galima parengti ir rankiniu būdu, užpildant ŠDSA lentelę.

ŠDSA suderinimas atvėrimui

Turinti paruoštą pradinį ŠDSA variantą, Teikėjas savarankiškai, su Atvėrėjo pagalba parengia ŠDSA atvėrimui.

Ruošiant ŠDSA atvėrimui, nurodoma kurie duomenų laukai bus atveriami, nurodomi filtrai, jei duomenys atveriami ne pilna apimtimi, sutvarkomi kodiniai pavadinimai, kad atitiktų atveriamiems duomenis keliamus reikalavimus, pateikiami trūkstami metaduomenys. Plačiau apie ŠDSA paruošimą atvėrimui skaitykite skyriuje Duomenų struktūros aprašas.

Duomenų atvėrimo sutartis

Atvėrimui paruoštas ŠDSA variantas teikiamas derinimui Atvėrėjui. Atvėrėjas patikrina ar ŠDSA paruoštas tinkamai ir informuoja Teikėją apie aptiktas klaidas.

Pasirašant duomenų atvėrimo sutartį, suderintas ŠDSA variantas pateikiamas, kaip sutarties priedas.

Pasirašius sutartį, Teikėjas perduoda Atvėrėjui Katalogo API raktą, kad Atvėrėjas galėtų automatiškai atnaujinti atveriamo duomenų rinkinio metaduomenis.

ADSA publikavimas

Atvėrėjas ŠDSA pagrindu generuoja ADSA variantą, kuriame pašalinami visi atveriamo duomenų šaltinio metaduomenys ir paliekama tik ta dalis, kuri skirta publikavimui. Atvėrėjas publikuoja ADSA Kataloge per Katalogo partnerių API.

Publikavus ADSA Kataloge, ADSA taip pat perduodamas ir į atvirų duomenų Saugyklą, ko pasekoje Saugykla paruošiama duomenų priėmimui, kurie atitinka ADSA pateiktus metaduomenis.

Kataloge užtikrinama, kad įkeltas ADSA neturi struktūros pakeitimų, kurie nėra suderinami su prie6 tai publikuota ADSA versija, atlieka pilną metaduomenų patikrinimą.

Kaip pildyti ŠDSA?

Duomenų struktūros aprašo rengimas susideda iš tokių žingsnių:

  1. Duomenų šaltinio administratorius pateikia šaltinio duomenų struktūros išklotinę (ŠDSA).

  2. Duomenų srities ekspertai su duomenų šaltinio administratoriaus pagalba pateikia trūkstamus metaduomenis duomenų struktūros aprašo lentelėje.

Jei pirminio duomenų struktūros aprašo varianto sugeneruoti iš duomenų šaltinio neįmanoma, pavyzdžiui, jei duomenys yra labai žemo brandos lygio, tuomet duomenų struktūros aprašas pildomas nuo nulio naudojant aprašo lentelės šabloną.

Duomenų struktūros aprašas yra lentelė susidedanti iš 15 stulpelių, kuriuose aprašoma duomenų struktūra. Tarkime, turint tokius duomenis:

ŠALIS

ID

KODAS

ŽEMYNAS

ŠALIS

1

lt

eu

Lietuva

2

lv

eu

Latvija

3

ee

eu

Estija

Duomenų struktūra aukšiau pateiktiems duomenims atrodys taip:

Duomenų struktūros aprašas

id

d

r

b

m

property

type

ref

source

prepare

level

access

uri

title

description

datasets/example/countries

salys

sql

sqlite://

Country

id

ŠALIS

continent="eu"

id

integer

ID

4

private

code

string

KODAS

2

open

continent

string

ŽEMYNAS

2

private

name

string

ŠALIS

2

open

Pastaba

Siekiant padidinti duomenų struktūros aprašo lentelės skaitomumą, kai kurie stulpelių pavadinimai yra sutrumpinti:

d - dataset - duomenų rinkinio kodinis pavadinimas.
r - resource - duomenų šaltinio kodinis pavadinimas.
b - base - modelio bazės kodinis pavadinimas.
m - model - modelio kodinis pavadinimas.

Duomenų struktūros aprašo lentelė susideda iš 5 dimensijų (dataset, resource, base, model, property) ir 9 metaduomenų stulpelių, kurių prasmė priklauso nuo vienos iš 5 dimensijų.

../_images/dsa.png

Plačiau apie tai, ką reiškia kiekvienas stulpelis galite skaityti skyriuje Lentelės struktūra.

ŠDSA lentelėje reikia pateikti tokius duomenis:

../_images/dsa-pildymas.png
  1. Duomenų rinkiniui suteikti kodinį pavadinimą.

  2. Pateikti duomenų šaltinio pavadinimą, tipą ir adresą.

  3. Užpildyti uri stulpelį, nurodant kuriose vietose yra asmens duomenys.

  4. Užpildyti property.access, nurodant duomenų prieigos lygį.

  5. Užpildyti model.prepare, jei duomenys atveriami ne pilna apimtimi ir reikia juos filtruoti.

  6. property.level stulpelyje nurodyti esamą duomenų laukų brandos lygį.

  7. Užpildyti title ir description stulpelius pateikiant model ir property pavadinimus ir aprašymus.

Galiausiai, toks duomenų struktūros aprašas gali būti naudojamas automatizuotam duomenų atvėrimui ir publikavimui arba naudojamas kaip sutarties priedas, jei įstaiga duomenis atveria su rangovo ar Vyriausybės paskirtos įstaigos pagalba.

Jei įstaiga jau yra atvėrusi duomenis ir juos publikuoja savo infrastruktūroje, tuomet į atvirų duomenų portalą turi būti įkeliamas, ne ADSA, o ŠDSA, kuriame aprašyti įstaigos infrastruktūroje publikuojami duomenys.