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
- 011. nädal
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.
- 021.–2. nädal
Modelleeri sihtkoht
Sihtskeem projekteeritud nende päringute ümber, mida toode jooksutab — mitte peegel sellest, mis kujul allikas juhtumisi saatis.
- 032.–4. nädal
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.
- 045. nädal
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.
Tehtud tööd
Kuidas see päris projektis välja näeb
Mõlemad on meie omad, mis tähendab, et need on andmetorud, mida me ise haldame, mitte need, mille me üle andsime ja unustasime. Deal.ee on selle töö andmemahu ots; ERPFlow on reguleeritud vormingute ots.
Deal.ee — AI-le indekseeritud ärianalüütika ja turuplats Eestile

Deal.ee muudab Eesti avalikud äriandmed kiireks, AI-le tsiteeritavaks analüütikakihiks — ~368 000 ettevõtet 19 riiklikust andmestikust, värskendus iga päev eesti, vene ja inglise keeles — ning lisab kinnitatud ettevõtete turuplatsi, kus ettevõtted võtavad oma profiili üle ID-kaardiga, pluss pakkumiste kiht — tooted, teenused, kinnisvara, töökohad ja investeeringud — mis selle peale kerkib. Ehitatud Go keeles PostgreSQL peale, projekteeritud nii, et ChatGPT, Claude, Perplexity ja Gemini seda tsiteeriksid.
ERPFlow — API-esimene mitme kliendi SaaS-ERP EL-i e-arveldusega

ERPFlow on mitme kliendi SaaS-ERP — arveldus, CRM, laoseis, personal ja finants ühes platvormis — ehitatud API-esimesena Go + PostgreSQL backendi peale ühe OpenAPI lepingu taha, natiivse Peppol e-arvelduse ja kohapõhise Stripe-arveldusega.
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.
| Muster | Kasuta seda, kui | Mis see sulle maksab |
|---|---|---|
| Otsepäring API-le | Andmed peavad olema sekundi täpsusega värsked ja allikas on kiire ning usaldusväärne | Teie käideldavus on nüüd nende käideldavus ja nende päringupiirang on teie lagi |
| Veebihaakide vastuvõtt | Allikas oskab muudatusi ise saata ja te vajate neid sekunditega | Käsitlejad peavad olema idempotentsed ja allkirjakontrolliga; kaotatud saadetised vajavad lepitusteed |
| Voogedastus | Suure mahuga sündmused, mis toidavad töölaudu või reaalajas tootefunktsioone | Järjekord ja täpselt-üks-kord semantika saavad teie lahendada |
| Ajastatud partii-ETL | Suured andmestikud, mis muutuvad teadaoleva rütmiga — registrid, ekspordid, aruanded | Andmed on värsked ainult viimase käivituse seisuga, mis teeb ajakavast tooteotsuse |
| Muudatuste püüdmine andmebaasist | Vajate koopiat andmebaasist, mille rakendus ei kuulu teile | Tihe 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.