Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vektorandmete muudatuste päringud #26

Open
tkardi opened this issue Sep 4, 2017 · 2 comments
Open

Vektorandmete muudatuste päringud #26

tkardi opened this issue Sep 4, 2017 · 2 comments
Labels
Milestone

Comments

@tkardi
Copy link
Contributor

tkardi commented Sep 4, 2017

Üks asi veel, mis vajaks arutelu: kuna andmehulk, millest me nt #24 räägime on suhteliselt suur (1.5M+ andmerida juba puhtalt eraldistest, elementidest rääkimata), tuleks läbi mõelda, kuidas võimaldada "anna mulle ainult muudatused alates x ajahetkest"-stiilis päringud.

Elus objektide lisamiste ja muudatuste identifitseerimiseks sobib versiooni identifikaator veerus versioon, mis sisuliselt on rea loomise/viimase muutmise unix timestamp millisekundites. Pluss uus sys_id väärtus tähistab täiesti uut objekti.

Kustutamiste/arhiveerimiste kindlakstegemisega on aga see, et teave nende kohta peaks liikuma eraldi "logitabeli kaudu", sest andmeomanike soovil ei sega arhiveeritud/kustutatud objekte kehtivate objektidega. NB! Antud kontekstis mõistame kustutamist ja arhiveerimist sünonüümsena: need on objektid, mis pole enam kehtivad.

Kuna igale kihile/tabelile pole logipidamist rakendatud, siis võiks luua logitabeli igale logi omavale kihile/tabelile (pigem iga eraldi, kui üks suur massiivne). Kas piisab, kui logis oleks vaid konkreetse tabeli rea identifikaator sys_id, versiooni identifikaator versioon (identifitseeriks kustutatud objekti viimast versiooni, ei kanna endas objekti kustutamise aega). Või on vaja esitada ka eraldi kustutamise ajatempel? Mis arvate sellest üldse?

@tkardi tkardi added the question label Sep 4, 2017
@tkardi
Copy link
Contributor Author

tkardi commented Sep 4, 2017

See jäi täpsustamata, et nii versioon kui eraldi kustutamise aja veeru sisu ei tähista algallikas loomise/muutmise/kustutamise aega, vaid ajatemplit ühtlustatud kujul, mil andmed registrist vastaval kujul välja võeti ja vahebaasis loomine/muutmine/kustutamine tuvastati. Võib täiesti vabalt olla, et andmehulgas endas on sarnase semantikaga veerg juba olemas. Sellist ühtlustust kasutame ainult selleks, et sama lähendus kõikide tabelite/kihtide puhul kasutatav oleks.

@tkardi tkardi changed the title Muudatuste päringud vektorandmetes Vektorandmete muudatuste päringud Sep 4, 2017
@tkardi tkardi added this to the on hold milestone Oct 12, 2017
@tkardi
Copy link
Contributor Author

tkardi commented Oct 12, 2017

Kuna teema vastu huvi ei ole olnud, siis panen selle hetkel ootele, kuid lihtsalt kollektiivse mälu jaoks paar täiendust siia. Lõpuks peaks kihi kohta olema võimalik pärida WFSist
a) uued read alates viimasest teadaolevast suurimast sys_id väärtusest N:
../geoserver/workspace/ows?service=WFS&version=2.0.0&typename=workspace:layer&cql_filter=sys_id>N&...
b) muudetud read alates viimasest teadaolevast suurimast versioon väärtusest M ja sys_id väärtusest N (vt eelmine punkt):
../geoserver/workspace/ows?service=WFS&version=2.0.0&typename=workspace:layer&cql_filter=sys_id<=N and versioon>M&...
c) kustutatud objektide identifikaatorid eraldi logitabelist viimase teadaoleva suurima sys_logid väärtusest L
../geoserver/workspace/ows?service=WFS&version=2.0.0&typename=log-workspace:layer-log&cql_filter=sys_logid>L&...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant