Datele publice există. Nu se leagă între ele.
Fiecare registru public a fost construit ca și cum ar fi singurul: formate diferite, ritmuri de actualizare diferite și, cel mai des, nicio referință comună după care un set să poată fi pus lângă altul.
Munca noastră nu e să obținem datele — sunt publice, le poate descărca oricine. E să le facem coerente între ele și să le ținem așa, în timp ce sursele se schimbă sub noi.
Nimic din ce e publicat nu a fost gândit să fie folosit împreună.
Nu e rea-voință, e istorie. Fiecare instituție și-a publicat setul pe cont propriu, în forma care i-a convenit, fără să presupună că altcineva va vrea să-l pună alături de altul.
Formă
Același tip de informație e publicat în structuri incompatibile, cu convenții care diferă de la o sursă la alta și uneori de la un an la altul. Înainte de orice, trebuie decis ce înseamnă „la fel”.
Ritm
Un set se actualizează zilnic, altul o dată pe an, altul când își aduce cineva aminte. Puse laolaltă fără grijă, produc o imagine care n-a fost adevărată în niciun moment — și care arată plauzibil.
Identitate
Aceeași entitate apare în surse diferite scrisă diferit, iar de multe ori niciuna nu poartă un identificator comun. Ca să le pui împreună, trebuie întâi să demonstrezi că vorbesc despre același lucru.
Absență
O parte din ce ai nevoie zilnic nu e publicat nicăieri, în nicio formă. Nu pentru că e ascuns, ci pentru că n-a existat niciodată ca set gata de folosit.
Fiecare echipă care are nevoie de date publice rezolvă aceste patru probleme din nou, de la zero, pentru propriul produs. Noi le rezolvăm o singură dată și ținem rezultatul stabil.
Patru operațiuni, în aceeași ordine, pentru orice set.
Ordinea nu e arbitrară: nu poți lega două seturi înainte să le fi normalizat și nu poți completa ce lipsește înainte să știi ce se leagă cu ce.
Consolidăm
Aducem la un loc seturile care descriu același lucru din unghiuri diferite și le dăm o singură structură. Ce la sursă e împărțit între mai multe fișiere, publicate separat și în momente diferite, devine un obiect coerent, cu o schemă documentată.
Normalizăm
Fiecare convenție locală devine o regulă explicită, aplicată la fel peste tot: scriere consistentă, abrevieri rezolvate, categorii aduse la valori fixe în loc de text liber. Nu e o curățare cosmetică — e condiția fără de care nimic din ce urmează nu funcționează.
Legăm
Unde există o referință comună, o folosim. Unde nu există — și de cele mai multe ori nu există — reconstruim legătura din ce se poate deduce și o verificăm înainte de publicare. Preferăm un câmp gol unei legături inventate, pentru că o legătură greșită nu se vede.
partea greaCompletăm
Adăugăm ce lipsește dar poate fi derivat: relații pe care sursa le lasă implicite, dimensiuni care apar doar prin compararea a două seturi, evoluția în timp construită din importurile succesive. Tot ce adăugăm e derivat sau declarat. Niciodată estimat.
Cinci pași, identici pentru orice set de date.
Dacă unul dintre ei eșuează, importul nu ajunge în producție. Preferăm date vechi de o zi în locul unora corupte.
Preluare
Luăm setul din sursă la frecvența declarată și păstrăm forma brută, ca orice import să poată fi refăcut.
Procesare
Cele patru operațiuni, în ordine: consolidare, normalizare, legare, completare.
Verificare
Comparăm rezultatul cu importul anterior. O abatere neașteptată oprește publicarea și ne alertează.
Publicare
Datele intră în producție, cache-ul se invalidează, iar vechimea setului devine vizibilă în fiecare răspuns.
Anunțare
Ce se schimbă de fond ajunge în changelog, explicat. Nu strecurăm modificări în tăcere.
Ce construiești azi trebuie să meargă și peste doi ani.
Sursele se schimbă — asta e singura certitudine în datele publice. Rostul unei platforme ca a noastră e ca schimbarea să se oprească la noi.
Preaviz la modificări incompatibile
Anunțate public înainte să se întâmple ceva.
Versiunea anterioară rămâne activă
Minimum, de la anunț. Preferăm să întreținem două versiuni decât să stricăm producția cuiva într-o marți dimineața.
Identificatorii nu se refolosesc
Un cod atribuit rămâne al aceleiași înregistrări pentru totdeauna, chiar și după ce înregistrarea devine inactivă.
Vechimea datelor e vizibilă
Fiecare răspuns îți spune de când datează setul. Nu trebuie să ne întrebi și nu trebuie să presupui.
Sursele sunt declarate
Fiecare set își spune proveniența și licența. Inclusiv ca migrarea înapoi să fie neplăcută, nu imposibilă.
Catalogul crește. Contractul rămâne același.
Un al doilea set de date valorează puțin dacă te obligă la o a doua integrare. Ce înveți o dată se aplică oriunde.
Aceeași formă
Structura răspunsului, comportamentul la eroare și modul de parcurgere a rezultatelor nu diferă de la un set la altul. Clientul scris o dată se refolosește.
Aceeași poartă
Un singur mod de autentificare, cu acces limitat exact la seturile pe care le alegi. Fără chei separate, fără conturi paralele, fără reguli speciale pe modul.
Aceleași limite
Volumul, ce ți-a rămas și momentul resetării sunt vizibile la fiecare răspuns, la fel peste tot. Nu descoperi o limită atunci când o depășești.
Ce nu suntem, ca să nu pierzi timp evaluându-ne greșit.
Există produse apropiate ca descriere și foarte diferite ca intenție. Merită spus din prima de care parte suntem.
Un furnizor de contacte
Nu vindem liste pentru campanii și nu construim produse de prospectare. Ce publicăm există pentru verificare și pentru operarea propriului tău produs, iar termenii spun asta explicit.
Un motor de căutare după persoane
Nu expunem căutare inversă după persoane și nu servim date personale fără autentificare. Interogarea pornește de la entitatea juridică, nu de la om.
Un intermediar către surse
Nu retransmitem cererea ta mai departe și nu moștenim limitele sursei. Importăm, procesăm și servim din infrastructura noastră — de asta răspunsul e rapid și nu cade odată cu sursa.
Ce ne întrebați cel mai des.
Restul, în întrebări frecvente.