Kursusel oli kokku 9 moodulit, kus iga juurde anti ka ports kohustuslikku kirjandust lugeda. Loomulikult sel ajal ma seda ei jõudnud lugeda, kuid võtan nüüd eesmärgiks kuu aega järjest lugeda. Vaatame, kuhu jõuame. Lugemine suvalises järjekorras.


Konrad Pilarski: How APIs and data integrations work in Data Engineering moodulist 3: andmete integreerimine, annab kiire ülevaate erinevates andmete integreerimismeetoditest.


Aga enne kui nende meetodite juurde läheme, siis peaks selgitama veel kolme mõistet nagu pull, poll ja push. Oletame, et oled avanud enda internetipanga ning soovid teada saada, kas on palk on laekunud. Selleks on kolm võimalust.

A. Avad internetipanga või mobiilipanga ja vaatad ise, kas palk on kontole laekunud.


Meetod Päringu näide Vastuse näide
Pull
GET /accounts/balance
{ "balance": 3250.50
}


B. Mobiilipank kontrollib automaatselt näiteks iga 30 sekundi järel, kas kontole on tulnud uus laekumine. Kui palk saabub, näed seda järgmisel kontrollimisel.


Meetod Päringu näide Vastuse näide
Polling
09:00 GET /accounts/balance
09:00:30 GET /accounts/balance
09:01:00 GET /accounts/balance
Enne palga laekumist:
{ "balance": 900.50
}
Pärast palga laekumist:
{ "balance": 3250.50
}




C. Niipea kui palk laekub, saadab pank automaatselt telefonile teavituse. Sina ei pea midagi küsima.


Meetod Päringu näide Vastuse näide
Push
Server → Client { "event": "salary.received", "amount": 2350.00
}
{ "message": "Palk laekus!", "amount": 2350.00, "balance": 3250.50
}



Need kolm mõistet kirjeldavad, kes algatab andmevahetuse ja millal andmed liiguvad. Pull tähendab, et klient tõmbab (pull) andmed serverist. Andmeid küsitakse ainult siis, kui neid vaja on. Polling on pull'i erivorm. Selle asemel, et küsida ainult vajadusel, küsitakse pidevalt/teatud regulaarsusega. ee on lihtne lahendus, kuid tekitab palju päringuid, millest paljud ei too uut infot. Push tähendab, et server saadab andmed ise, ilma et klient peaks neid küsima.



Meetod Kes algatab? Kuidas töötab?
Pull Klient Klient küsib andmeid siis, kui tal neid vaja on.
Polling Klient Klient küsib andmeid regulaarselt kindla intervalliga.
Push Server Server saadab andmed kliendile kohe, kui midagi muutub.


Meetodid

Aga nüüd tagasi artiklis nimetatud meetodite juurde. Näited on tehisaru välja mõeldud.


REST API GraphQL
Server määrab ette, milliseid andmeid endpoint tagastab. Klient määrab ise, milliseid andmevälju ta soovib.


REST API ja GraphQL võrdlus


Näide soovime ainult tellimuse numbrit (123) ja summat.

Rest API endpoint :

GET /orders/123

Vastuseks saame kõik antud tellimusega seotud info:

{
  "id": 123,
  "customer": {
    "name": "Mari Maasikas",
    "email": "mari@example.com",
    "phone": "5551234"
  },
  "items": [
    {
      "product": "Sülearvuti",
      "price": 1200
    }
  ],
  "shippingAddress": {
    "city": "Tallinn",
    "street": "Pikk 1"
  },
  "total": 1200,
  "status": "Paid",
  "createdAt": "2026-08-04T10:15:00Z"
}


GraphQL puhul tagastatakse ainult need väljad, mida küsime.

query {
  order(id: 123) {
    id
    total
  }
} 

Ehk tellimuse ID ja summa:

{
  "data": {
    "order": {
      "id": 123,
      "total": 1200
    }
  }
}


Allikas: https://kpilarski.substack.com/p/how-apis-and-data-integrations-work

Kirjutamisel on kasutatud tehisaru abi.