---
title: "Tila, jonka toimialueagentit lukevat: Paimon työjonolle, varastolle ja hyväksynnöille"
url: "https://hurukan.com/fi/blog/tila-jonka-toimialueagentit-lukevat-paimon"
description: "Toimialueagentti tarvitsee yrityksen tilan juuri nyt, ei öistä kopiota. Miten datakerros pitää sen Apache Paimonissa, ja miksi agentit vain ehdottavat."
---

# Tila, jonka toimialueagentit lukevat: Paimon työjonolle, varastolle ja hyväksynnöille

6\. lokakuuta 2026·3 min lukuaika·Toimitus

Suunnittelija takaapäin kuvattuna seisomapöydän ääressä hiljaisessa lähettämötoimistossa, yksi leveä näyttö näyttää abstraktia sinertävänharmaata taulua jonossa olevista riveistä, joka päivittyy hänen katsoessaan, ohut sininen tilanauha pöydän yläreunassa

Hankinta-agenttia pyydetään valmistelemaan täydennystilaus komponentille, joka on loppumassa. Tehdäkseen sen hyvin se tarvitsee varastosaldon kolmessa varastossa, avoimet asiakastilaukset, jotka varaavat osan siitä, jo matkalla olevat saapuvat toimitukset ja toimittajan nykyisen riskitilan. Jokainen niistä muuttui viimeisen tunnin aikana. Tietovaraston öinen kopio on väärässä kaikista neljästä. Moduulien tuotantotaulut ovat oikeassa, mutta niitä suuressa mittakaavassa lukeva agentti on nopein tapa hidastaa ihmisiä, jotka työskentelevät niissä moduuleissa.

Tämä on kuilu yrityksen käyttöjärjestelmän kahden muistin välillä: rekisterin, joka säilyttää jokaisen tapahtuman pysyvästi, ja nykytilan, joka on se, miltä asiat näyttävät nyt. [Pääteksti](https://hurukan.com/fi/blog/nykytila-ja-rekisteri-kaksi-muistia) kuvaa molemmat. Tämä teksti käsittelee jälkimmäistä ja taulumuotoa, jota datakerros siihen käyttää. Datakerros on rakenteilla; seuraavassa kerrotaan, miten sitä suunnitellaan.

## Mitä toimialueagentti todella lukee

Hurukanin agentit ovat toimialueagentteja: yksi hankinnalle, yksi asiakaspalvelulle, yksi toimintojen työjonolle ja niin edelleen. Jokainen niistä työskentelee pienen tilataulujoukon pohjalta, joka vastaa preesensmuotoisiin kysymyksiin.

**Työjono.** Mitkä työt on vapautettu, mitkä ovat estettyinä ja miksi, mikä kone tai tiimi on vapaana. Toimintomoduuli syöttää sitä töiden tilan muuttuessa.

**Varasto ja varaukset.** Määrä hyllyssä nimikettä ja sijaintia kohden, miinus se, minkä avoimet tilaukset ovat jo varanneet, plus se, mikä on saapumassa. Syöttävät [varaston ja logistiikan](https://hurukan.com/fi/modules/varasto-ja-logistiikka), kaupan ja hankinnan tapahtumat.

**Hyväksyntäjono.** Jokainen agentin tekemä ehdotus lähteineen ja riskeineen, ja onko ihminen jo päättänyt. Syöttävät agentit itse sekä ihmiset [päätöksissä ja tehtävissä](https://hurukan.com/fi/modules/paatokset-ja-tehtavat).

Mikään näistä tauluista ei ole moduulin tietokannan kopio. Jokainen rakennetaan tapahtumista, joita moduulit lähettävät ja jotka rekisterikin säilyttää. Tilataulu on rekisteristä johdettu, aina ajantasainen näkymä; rekisteri on sen takana oleva todiste.

## Miksi tämä on Paimon-taulu

Tilataulu muuttuu tuhansia kertoja tunnissa avaimen mukaan: sama nimike, sama työ, sama ehdotus, päivitettynä yhä uudelleen. Uusien tiedostojen lisäämisen ympärille rakennetut taulumuodot käsittelevät sitä huonosti, koska jokaisesta päivityksestä tulee uusi tiedosto ja taulu hukkuu pikkutiedostoihin. Apache Paimon suunniteltiin juuri tätä tapausta varten. Sen pääavaintaulut tallentavat rivit LSM-puuhun, lajiteltuina avaimen mukaan lokeron sisällä, joten samoihin avaimiin kohdistuva päivitysvirta pysyy tiiviinä ja lukija näkee aina jokaisen rivin uusimman version ([taulutyypit](https://paimon.apache.org/docs/master/concepts/table-types/), tarkistettu 21. lokakuuta 2026).

Kaksi Paimonin ominaisuutta tekee työn, joka muuten olisi koodia. [Yhdistämismoottori](https://paimon.apache.org/docs/master/primary-key-table/merge-engine/overview/) (merge engine) päättää, mitä tapahtuu, kun olemassa olevalle avaimelle saapuu uusi rivi: korvataanko se, pidetäänkö ensimmäinen, summataanko vai täytetäänkö vain saapuneet kentät. Varastotaulu käyttää viimeistä: varasto kirjoittaa hyllysaldon, kauppa kirjoittaa varatun määrän, hankinta kirjoittaa saapuvan määrän, ja taulu pitää kaikki kolme yhdellä rivillä ilman, että mikään moduuli tietää toisista. [Muutoslokin tuottaja](https://paimon.apache.org/docs/master/primary-key-table/changelog-producer/) (changelog producer) lähettää jokaisen taulun muutoksen omana virtanaan, joten alavirran agentti voi reagoida siihen, että «varasto laski alle tilauspisteen», sen sijaan että se kyselisi.

Nykyinen julkaisu on Paimon 2.0.0, julkaistu 7. elokuuta 2026 ([julkaisuluettelo](https://release-catalog.apache.org/paimon/), tarkistettu 21. lokakuuta 2026). Flink kirjoittaa ja lukee sitä, ja [hakuliitos](https://paimon.apache.org/docs/master/flink/sql-lookup/) (lookup join) antaa virtatyön rikastaa tapahtuman toisen taulun nykytilalla — uusi tilaus sen varaamalla varastolla — ilman kierrosta minnekään muualle. Spark, Trino, Hive, StarRocks ja Doris lukevat samoja tauluja ([moottorit](https://paimon.apache.org/docs/master/engines/overview/)).

## Agentti lukee tilan ja kirjoittaa vain ehdotuksen

Raja merkitsee enemmän kuin muoto. Toimialueagentti lukee tilatauluja vapaasti. Se ei kirjoita moduuliin, eikä se kirjoita tilatauluunkaan. Se tuottaa ehdotuksen: luonnostellun täydennystilauksen lukemineen riveineen, soveltamineen sääntöineen ja näkemineen riskeineen. Ehdotus laskeutuu hyväksyntäjonoon. Ihminen päättää. Moduuli toteuttaa päätöksen, lähettää tapahtuman, ja tilataulu muuttuu, koska tapahtuma kirjattiin — ei siksi, että agentti muutti sitä.

Tämä pitää kaksi muistia rehellisinä. Jos agentit kirjoittaisivat tilaa suoraan, tila sisältäisi asioita, joita ei koskaan tapahtunut missään moduulissa ja joita ei koskaan kirjattu. Kun agentti lukee tilaa ja kirjoittaa ehdotuksia, jokainen muutos siihen, mitä yritys pitää totena, kulkee yhä ihmisen ja rekisterin kautta.

Se vastaa myös tarkastuskysymykseen. Paimon säilyttää tilannekuvia, ja [tunniste](https://paimon.apache.org/docs/master/maintenance/manage-tags/) (tag) kiinnittää yhden niin, ettei se vanhene. Kun ehdotus kyseenalaistetaan kuukausia myöhemmin, agentin lukuhetkellä otettu tilannekuva näyttää täsmälleen sen varaston, jonon ja avoimet tilaukset, jotka se näki. Päätösloki säilyttää perustelun; tilannekuva säilyttää todisteen.

## Sekunteja, minuutteja vai tänä yönä

Jokaisen tilan ei tarvitse olla virran syöttämä Paimon-taulu. Hyväksyntäjonon on oltava ajan tasalla sekunnilleen, koska ihminen odottaa siinä. Työjonon on oltava ajan tasalla minuutilleen, koska kone odottaa. Täydennyksen varastosaldo on päätös, joka tehdään muutaman kerran päivässä; muutaman minuutin jäljessä oleva tila kelpaa. Toimittajan riskitila muuttuu viikoittain.

Kaiken puristaminen sekunteihin maksaa jatkuvan tiivistyksen, virtamoottorin, joka ei koskaan nuku, ja käyttötiimin, joka pitää molemmat kunnossa. Siksi datakerros kysyy jokaisen tilataulun kohdalla, mikä päätös siitä riippuu ja kuinka nopeasti tuo päätös todella muuttuu — ja vain sekunteja tarvitsevat taulut saavat ne. «Reaaliaika» ei ole alustan ominaisuus; se on budjetti, joka kulutetaan taulu kerrallaan.

## Testi, jonka voit tehdä tänään

Valitse yksi päätös, jonka joku yrityksessäsi tekee useita kertoja päivässä: oston hyväksyminen, työn vapauttaminen, toimituspäivän lupaaminen. Kirjoita ylös jokainen luku, jota hän katsoo ennen päätöstä, ja kunkin viereen, mistä se tulee ja milloin se viimeksi päivitettiin.

Jos useat luvuista tulevat eri järjestelmistä ja päivitettiin eri aikoihin, ihminen tekee liitoksen jo päässään, tilasta, joka ei koskaan ollut yhdenmukainen yhdellä hetkellä. Se on taulu, jonka toimialueagentti tarvitsisi ensimmäisenä — ja se, joka pitää suunnitella ennen kuin yhtäkään agenttia pyydetään päättämään mitään.

-   Apache Paimon
-   toimialueagentit
-   nykytila
-   hyväksyntäjono
-   datakerros

## Lue lisää

-   [Yksi identiteetti ihmisille ja agenteille: kuka saa tehdä mitä](https://hurukan.com/fi/blog/yksi-identiteetti-ihmisille-ja-agenteille)
-   [Nykytila ja rekisteri: yrityksen käyttöjärjestelmän kaksi muistia](https://hurukan.com/fi/blog/nykytila-ja-rekisteri-kaksi-muistia)