Liidestused

API liidestused ja andmetorud

CRM-id, ERP-d, makselahendused, riiklikud registrid ja sündmusvood ühendatud üheks usaldusväärseks tootepinnaks. Indekseeritud, puhverdatud, valvatud ja ausalt öeldes igav.

Mis on ETL-andmetoru ja millal seda vaja on?

ETL-andmetoru võtab andmed allikast välja, teisendab need kujule, mida teie toode vajab, ja laadib kohta, kust saab päringuid teha. Seda on vaja siis, kui andmed asuvad kohas, mida te ei kontrolli, ja nende lugemine reaalajas on liiga aeglane, liiga piiratud või liiga ebausaldusväärne. Onpolar ehitab neid Go ja PostgreSQL peale.

Suurim, mida haldame
19 riiklikku andmestikku, värskendus iga päev
Põhitehnoloogia
Go · PostgreSQL · River
Mustrid
Partii-ETL · voogedastus · veebihaagid
Nii on ehitatud
Deal.ee · ERPFlow.ai

Probleem

Liidestused kukuvad vaikselt läbi ja just see ongi probleem

Katkine leht saab teate minutitega. Sünkroon, mis kolm nädalat tagasi vaikselt seisma jäi, avastatakse siis, kui keegi märkab, et numbrid on kuu aega valed olnud.

Põhjused on igavad ja korduvad: korduspäring, mis taob päringupiirangut, kuni pakkuja teid blokeerib; veebihaak, mida töödeldi kaks korda, sest keegi ei teinud käsitlejat idempotentseks; skeemimuudatus allikas, mis avaldub null-väärtusena kuskil kaugel; ajavöönd.

Lahendus ei ole nutikus. Lahendus on idempotentsed käsitlejad, päris tööjärjekord nähtavate tõrgetega, taasesitatavad käivitused ja häired oodatud töö puudumise, mitte ainult visatud vigade peale. Korralikult tehtuna kaob andmekiht ära ja toode sõidab selle peal.

Mida saate

Millest andmetoru päriselt koosneb

  • Kolmandate osapoolte API liidestused

    CRM-id, ERP-d, makse-, logistika- ja raamatupidamissüsteemid ühendatud korduspäringute, taandumise ja päringupiirangu eelarvega, mitte optimismiga.

  • Partii-ETL torud

    Ajastatud väljavõtte-, teisendus- ja laadimiskäivitused, mis on taasesitatavad, nii et halb päev allikas käivitatakse uuesti, mitte ei lepitata käsitsi.

  • Veebihaakide ja sündmuste vastuvõtt

    Idempotentsed käsitlejad allkirjakontrolli ja tagastuskirjade teega, sest iga veebihaak toimetatakse varem või hiljem kaks korda kohale.

  • Päringuks optimeeritud hoidlad

    Andmed modelleeritud selle järgi, kuidas toode neid loeb, indekseeritud päringute jaoks, mis päriselt jooksevad, materialiseeritud koondnäitajatega seal, kus need end ära tasuvad.

  • Tööjärjekorrad ja ajastamine

    Püsiv taustatöö Riveri peal, koos korduspäringute, taandumise ja järjekorraga, mida saab vaadata, mitte logiridadest tuletada.

  • Andmekvaliteedi väravad

    Ridade arv, skeemikontrollid ja värskuse väited, mis kukutavad käivituse, selle asemel et vaikselt jama edasi avaldada.

  • Seire ja häired

    Häired töö kohta, mida ei toimunud, mitte ainult vigade kohta, mis toimusid. Vaikus on see tõrkerežiim, mis kõige rohkem maksab.

  • Üks API tulemuse peal

    Kokku pandud andmed avatud ühe OpenAPI lepingu taga, nii et iga tarbija loeb neid ühtemoodi, selle asemel et igaüks oma viisi välja mõtleks.

Kuidas see käib

Kuidas andmetoru valmib

  1. 01

    Kaardista allikad ausalt

    Mida iga allikas päriselt tagastab, kui tihti see muutub, millised on päringupiirangud ja kuidas ta katki läheb. Dokumentatsioon ja tegelikkus lähevad regulaarselt lahku; meie läheme tegelikkuse järgi.

    1. nädal
  2. 02

    Modelleeri sihtkoht

    Sihtskeem projekteeritud nende päringute ümber, mida toode jooksutab — mitte peegel sellest, mis kujul allikas juhtumisi saatis.

    1.–2. nädal
  3. 03

    Ehita taasesitatavaks

    Idempotentsed käsitlejad, püsiv järjekord, kvaliteediväravad ja tagasitäitmine esimesest päevast, nii et esimene halb päev allikas on uuesti käivitamine, mitte intsident.

    2.–4. nädal
  4. 04

    Varusta mõõdikutega ja anna üle

    Töölauad, värskusehäired, käsiraamat iga tõrkerežiimi kohta ja tagasitäitmine, mida saab jooksutada keegi peale meie.

    5. nädal

Kas andmed on kinni kuskil, kust neist kasu pole?

Tooge allikad ja see, mida te sooviksite, et toode nendega teha saaks. Kolmkümmend minutit piisab tavaliselt, et öelda, millist mustrit see vajab.

Mustri sobivus

Milline liidestusmuster sobib millise probleemiga

Enamik liidestusvalu tuleb sellest, et andmete jaoks valitakse vale muster ja siis lisatakse korduspäringuid, kuni asi näib korras olevat.

MusterKasuta seda, kuiMis see sulle maksab
Otsepäring API-leAndmed peavad olema sekundi täpsusega värsked ja allikas on kiire ning usaldusväärneTeie käideldavus on nüüd nende käideldavus ja nende päringupiirang on teie lagi
Veebihaakide vastuvõttAllikas oskab muudatusi ise saata ja te vajate neid sekunditegaKäsitlejad peavad olema idempotentsed ja allkirjakontrolliga; kaotatud saadetised vajavad lepitusteed
VoogedastusSuure mahuga sündmused, mis toidavad töölaudu või reaalajas tootefunktsiooneJärjekord ja täpselt-üks-kord semantika saavad teie lahendada
Ajastatud partii-ETLSuured andmestikud, mis muutuvad teadaoleva rütmiga — registrid, ekspordid, aruandedAndmed on värsked ainult viimase käivituse seisuga, mis teeb ajakavast tooteotsuse
Muudatuste püüdmine andmebaasistVajate koopiat andmebaasist, mille rakendus ei kuulu teileTihe seotus allika skeemiga; nende migratsioonidest saavad teie tõrked

Deal.ee toetub ajastatud partiile: üheksateist riiklikku andmestikku värskendatakse iga päev, teenindades umbes 2,2 miljonit URL-i natiivkiirusel.

KKK

Küsimused, mida meilt küsitakse

Kuidas hoida ära, et igapäevane andmetoru vaikselt katki ei läheks?

Värskuse väited ja häired puuduva töö, mitte ainult vigade kohta. Kui käivitus, mis peaks tootma 40 000 rida, toodab 12, siis käivitus kukub läbi ja keegi saab sellest teada. Deal.ee värskendab üheksateist riiklikku andmestikku iga päev täpselt sellel alusel.

Mis siis, kui kolmanda osapoole API on halvasti dokumenteeritud või ebausaldusväärne?

See on tavaline juhtum, mitte erand. Me katsume seda läbi, paneme kirja, mida ta päriselt tagastab, sealhulgas tema veakujud, ja ehitame selle vastu. Päringupiirangud saavad eelarve, ebakindlad otspunktid saavad taandumise ja dokumenteerimata käitumine pannakse kirja, et järgmine inimene ei üllatuks.

Kas saate ühendada süsteeme, millel API-t üldse ei ole?

Tavaliselt jah. Ajastatud failiekspordid, SFTP-kaustad, andmebaasi koopia või kraapija seal, kus tingimused seda lubavad. Halvem liides ei ole takistus — see lihtsalt muudab seda, milliste tõrkerežiimide jaoks me projekteerima peame.

Kas selleks on vaja andmeladu?

Tavaliselt mitte. Kui sihtkoht on tootepind, siis PostgreSQL, mis on modelleeritud nende päringute järgi, mida te päriselt jooksutate, on kiirem, odavam ja lihtsam kui ladu, millest peate siis omakorda teenindama. Ladu teenib oma koha välja siis, kui tarbijaks on analüütikud, mitte rakendused.

Kui kaua üks liidestus aega võtab?

Üks hästi dokumenteeritud API on päevade küsimus. Andmetoru mitme allika üleselt koos kvaliteediväravate ja tagasitäitmisega on kolm kuni viis nädalat. Muutuja ei ole peaaegu kunagi meie pool — see on see, kui veider allika andmestik osutub, kui seda tervikuna vaadata.

Kes seda pärast omab ja haldab?

Teie, oma taristus, koos käsiraamatuga iga tõrkerežiimi kohta ja tagasitäitmisega, mida teie tiim saab jooksutada meile helistamata. Me kirjutame palju parema meelega käsiraamatu, kui oleme ise käsiraamat.

Kas andmetoru saab toita AI-funktsiooni?

Üha sagedamini ongi see põhjus, miks seda ehitatakse. Assistendi toetamine teie päris andmetele tähendab, et andmed peavad olema värsked, õigusteadlikud ja päritavad — täpselt see, mida see töö toodab. Deal.ee ehitati nii, et vastusemootorid saaksid sellele kui esmasele allikale viidata.

Aga e-arveldus ja muud reguleeritud vormingud?

Lahendatud seal, kus see on mahus. ERPFlow ekspordib iga arve Peppol BIS Billing 3.0 vormingus UBL 2.1 XML-ina, mis on Euroopa Liidu piiriülese B2B arvelduse standard.

Alusta liidestusprojekti

Kirjutage, mida on vaja ühendada ja kuidas see praegu katki läheb. Vastame ühe tööpäeva jooksul.

Projekti detailid
Eeldatav eelarve
Vormi saates nõustud meie privaatsuspoliitikaga.