Virran mukana: Rajoittamaton tietojenkäsittely Apache Flinkillä

  • Sep 07, 2023

Suoratoisto on kuumaa big datassa, ja Apache Flink on yksi avainteknologioista tällä alalla. Mikä tekee siitä erilaisen, mitä uusia ominaisuuksia sen uusin julkaisu sisältää ja mikä on sen rooli big datan maailman valloittamisessa?

Aiemmin, otimme käyttöön suoratoiston, näimme joitain sen tuomia etuja ja keskustelimme joistakin arkkitehtonisista vaihtoehdoista ja toimittajista/moottoreista, jotka voivat tukea suoratoistoon suuntautuneita ratkaisuja. Keskitymme nyt yhteen tämän tilan avaintoimijoista, Apache Flinkiin, ja kaupalliseen kokonaisuuteen, joka työllistää monia Flink-sitoutujia ja tarjoaa Flinkiin liittyviä palveluita, data Artisans (dA).

Keskustelimme dA: n toimitusjohtajan ja Flink PMC: n jäsenen Kostas Tzoumasin kanssa. Tzoumas, jolla on vankka insinööritausta ja joka oli yksi Flinkin luojista, halusi käsitellä useita aiheita: alkaen itse suoratoistoparadigma ja sen merkitys sovelluksille, Flinkin uusimpaan julkaisuun ja tiekarttaan sekä dA: n kaupalliseen tarjontaan ja suunnitelmia.

Onko kaikki virtaa?

Onko kaikki virtaa?

erikoisominaisuus

IoT: Tietoturvahaaste

Esineiden internet luo vakavia uusia turvallisuusriskejä. Tutkimme mahdollisuuksia ja vaaroja.

Lue nyt

Muutamat ihmiset, mukaan lukien Tzoumas, ovat pitäneet perinteistä, rajoitettua dataa ja käsittelyä sen rajoittamattomien vastineiden erikoistapauksena. Vaikka tämä saattaa tuntua teoreettiselta konstruktiolta, sen vaikutukset voivat olla kauaskantoisia.

Kuten Dean Wampler, kirjoittaja Nopeat dataarkkitehtuurit suoratoistosovelluksille väittää, "jos kaikkea pidetään "virtana" - joko rajallisena (kuten eräkäsittelyssä) tai rajoittamattomana - niin sama infrastruktuuri ei vain yhdistä erä- ja nopeuskerroksia, vaan eräkäsittelystä tulee virran osajoukko käsittelyssä."

Tämä on paradigman muutos, Tzoumas väittää, koska se tarkoittaa, että tietokanta ei ole enää globaalin totuuden säilyttäjä.

Maailmanlaajuinen totuus on virrassa: aina päällä oleva, muuttumaton tietovirta, jota käsittelee rajoittamaton käsittelymoottori. Tilasta tulee näkemys tästä rajoittamattomasta tiedosta, joka on jokaiselle sovellukselle ominaista ja jota pidetään paikallisesti käyttämällä mitä tahansa sovelluksen kannalta järkevää tallennustilaa.

Tässä arkkitehtuurissa sovellukset kuluttavat rajoittamattomia datavirtoja, mutta ne käyttävät virtoja myös oman datansa julkaisemiseen, jota muut sovellukset voivat puolestaan ​​kuluttaa. Joten suoratoistomoottorista tulee koko dataekosysteemin keskus. Tzoumasin mukaan:

"Useimmat ihmiset ajattelevat suoratoistosta sovelluksia, kuten reaaliaikaista analytiikkaa tai IoT: tä. Uskomme, että nämä ovat erittäin tärkeitä, ja tuemme niitä täysin, mutta rajoittamattomalla käsittelyllä on potentiaalia tarjoavat uuden polun kaikille sovelluksille, joiden luonne sopii suoratoistomalliin ja jotka menevät paljon pidemmälle kuin tyypilliset esimerkit ajatella. Pohjimmiltaan nämä ovat kaikki sovelluksia, jotka päivittävät tietojaan säännöllisesti.

Ne eivät välttämättä ole reaaliaikaisia ​​- niillä voi olla tuntivälin latenssi, mutta se ei ole asian tarkoitus. niin kauan kuin dataa tulee sisään, näemme ne suoratoistosovelluksina. Nämä ovat toiminnallisia, eivät analytiikkasovelluksia. Joten minulle suoratoisto ei rajoitu millään tavalla analytiikkamaailmaan tai Hadoop-maailmaan."

Tzoumas sanoo edelleen, että:

"On olemassa käyttötapaus, jossa data-analyysin luonne helpottaa työskentelyä rajoitetun tiedon kanssa, ja se on datan tutkiminen - kun datatieteilijät yrittävät oppia jotain jostain staattisesta datajoukosta ja tutkivat jatkuvasti erilaisia ​​malleja ja sovelluksia koodi. Useimmissa tapauksissa tämä tutkiminen johtaa vakaampiin sovelluksiin, jotka otetaan käyttöön ja jotka sitten käsittelevät jatkuvasti rajatonta datajoukkoa; tämä on suoratoisto-ongelma.

Voit ratkaista tämän suoratoisto-ongelman mallintamalla sen, mikä todellisuudessa on rajoittamaton virta, määräajoin saapuviksi rajoitetuiksi tietojoukoiksi. Tai striimi saattaa saapua korkeammalla viiveellä (esim. tunnin välein). Suurin asia on se, että jos tarkastelet tarkasti useimpia erätöitä ja sitä, kuinka tiedot tulevat sisään ja ulos, näet niiden ympärillä putkilinjan, joka todella käsittelee rajaamatonta dataa. Tämä on luonteeltaan suoratoisto-ongelma, ja se ratkaistaan ​​parhaiten suoratoistotekniikalla."

Tzoumas tarjoaa tähän kaksi syytä:

1) Ajanhallinta. Voit hallita aikaa oikein (käyttämällä tapahtuma-aikaa ja vesileimoja), jotta voit ryhmitellä tietueita oikein ajankohdan perusteella tapahtuma tapahtui, ei vain keinotekoisesti, sen perusteella, milloin tapahtuma syötettiin tai käsiteltiin (mikä on hyvin usein väärä).

2) Valtion johtaminen. Mallinnoimalla ongelmasi suoratoistoongelmaksi voit säilyttää tilan rajojen yli. Joten kaksi tapahtumaa, jotka saapuvat eri aikavälein, mutta kuuluvat silti samaan loogiseen ryhmään, voidaan silti korreloida keskenään.

Miksi Flink?

Suoratoisto Flinkin mukaan

Tämä saattaa kuulostaa houkuttelevalta, mutta miksi valita Flink, kun vaihtoehtoja on niin monia?

Miksi kukaan valitsisi Flinkin Sparkin sijaan, sillä se nauttii laajasta suosiosta ja myyjien tuesta? Loppujen lopuksi, jos kyseessä on latenssi, olet huolissasi, kuten Tom Reilly, Clouderan toimitusjohtaja laita se, "pystymme tarjoamaan alle sekunti vastauksia, emmekä kuule valituksia asiakkailta."

Spark on todella hyvä yhteisö, mutta Sparkilla alustana on joitain perustavanlaatuisia ongelmia suoratoiston suhteen, Tzoumas väittää.

"Kyse ei ole sekunnissa olevista vastauksista, vaan siitä, kuinka lähestyä jatkuvaa sovellusta, jonka on säilytettävä tila. Yksi lähestymistapa on se, mitä teemme tarkistuspisteiden kanssa, Sparkin lähestymistapa RDD: n ja mikroerittelyn kanssa aiheuttaa monia ongelmia.

Latenssi on yksi niistä, tämän hallitseminen tuotannossa on toinen. Kuvittele, että joka viides sekunti sinun on tuotava ylös ja alas 500 Spark-työntekijää. Viiden sekunnin välein, ikuisesti!

Jos sinulla on yksinkertainen, tilaton sovellus, joka on osa käsittelyprosessia, esimerkiksi siirtää tietoja Kafkasta HBaseen, se on mahdollista. Mutta kun siirryt monimutkaisempiin, tilatietoisiin sovelluksiin, jotka myös tarvitsevat yhteyden tietokantaan, tämä tulee mahdottomaksi. Et voi muodostaa yhteyttä uudelleen tietokantaan viiden sekunnin välein.

Spark oli yksi ensimmäisistä suoratoistomoottoreista, joten sitä käytettiin paljon sovelluksissa, jotka ovat osa tiedonsiirtoputkia. ja se toimii hyvin siihen. Mutta heti kun siirryt tilatietoisiin sovelluksiin datan suoratoiston kautta, sinulla on ongelma."

Joten miten Flink välttää tämän ongelman? Flink tarjoaa tilat tilan hallitsemiseen ja ylläpitämiseen, ja tilaa voidaan myös viedä. Tällä hetkellä tähän käytetty muoto on Flink-spesifinen, mutta tiekartta sisältää avautumisen myös muille formaateille.

Tämän lähestymistavan etuna on, että se mahdollistaa tilan palautukset, mikä yhdessä versionhallinnan ja DevOpsin kanssa muodostaa tehokkaan mekanismin: sovellukset voivat peruuttaa ja liikkua tehokkaasti. ajassa taaksepäin ja toistamalla niiden käsittelyä käyttämällä samoja tietoja ja koodikantaa, jotka olivat toiminnassa tiettynä ajankohtana, tai jopa vuorotellen koodikannan ja datan eri versioita tahtoa.

Flink ajoittain tilannekuvia pysyvään tallennustilaan lennon aikana käyttämällä hajautettua algoritmia. Näitä tilavedoksia voidaan käyttää vikasietoisuuteen ja palautukseen, ja Flink tukee erilaisia ​​tilataustaohjelmia: muistissa, tiedostopohjaisessa tai tietokantapohjaisessa. Siellä on myös tarkistuspistekauppa, joka on kytkettävä, kun taas RocksDB: tä käytetään sisäisesti. Jos sovellus lakkaa toimimasta, Flink jatkaa toimintaansa lataamalla tilan uudelleen jaetusta tiedostojärjestelmästä.

Flinkin uusi julkaisu 1.2, joka julkistetaan virallisesti 6. helmikuuta, sisältää joukon uusia ominaisuuksia Queryablessa Tila, asynkroninen I/O, suojaus, mittarit, taulukkosovellusliittymä ja StreamSQL, dynaaminen skaalaus ja klusteri hallinta.

Flink 1.2 uusia ominaisuuksia

"Kokemuksemme DevOpsista klusterinhallinnan parissa työskentelevissä organisaatioissa osoittavat, että DevOps tuotannossa on vaikea ongelma", Tzoumas sanoo.

"Toivon, että voisin kertoa teille, että se on helppoa, mutta se ei ole. Tämä on asia, johon aiomme todella keskittyä työssämme, jotta se olisi mahdollisimman helppoa. Haluamme siis tarjota parempaa ja tiukempaa integraatiota kaikkiin ympäristöihin, joissa Flink voi toimia, valvonnan, siirron, päivitysten, ylläpidon ja koko elinkaaren ajan."

Flink Eteenpäin

tiedot Käsityöläiset

Mitä tästä kaikesta sitten tehdä? Pitäisikö sinun ohittaa Sparkiin vaihtaminen vai heittää se pois ja vaihtaa sen sijaan Flinkiin? Ja jos olet myyty ideasta, miten se toimisi? Tzoumasin mukaan:

"Useimmat ihmiset, joiden kanssa puhumme, eivät yritä siirtyä pois Sparkista, he alkavat ajatella streameissä ja yrittävät keksiä tapoja käsitellä streamejaan.
Kokemuksemme mukaan Spark to Flink -siirto on asia, jota monet ihmiset ovat yrittäneet ja onnistuneet. Tällä hetkellä meillä ei kuitenkaan ole selkeää migraatiopolkua Sparkista Flinkiin parhaiden käytäntöjen suhteen, koska meillä ei ole ollut sille tarpeeksi kysyntää. Mutta meillä on Storm-yhteensopivuuskerros, jota ihmiset voivat käyttää.
Koodin siirtämisen ja dataputken yhdistämisen pitäisi kuitenkin olla pienin huolenaihe tällaisissa skenaarioissa. Se on tuon putkilinjan hallinta pitkäkestoisissa, korkean käytettävyyden tuotantojärjestelmissä, mikä on todella vaikea osa. Kyse on DevOpsista, koska se ei ole kuin erätyötä. Jos erätyö epäonnistuu, voit suorittaa sen uudelleen. Jos live-sovellus, joka syötetään muihin live-sovelluksiin, epäonnistuu, se on paljon kriittisempi tehtävä."

Mutta yritysteknologiassa on muutakin kuin itse teknologia. Onko Flink taistelutestattu, ja saatko sille sellaista tukea, jota esimerkiksi Hadoop-toimittajat voivat tarjota?

Jos Alibaban tai Netflixin kaltaiset yritykset ovat ylipäätään mittareita, vastaus olisi "kyllä... mutta ei aivan". Tarkastellaan dA: n suhdetta Alibabaan, joka on valtava jälleenmyyjä brändää itsensä "tietoyhtiöksi", Tzoumas sanoo:

"Alibaba huomasi sen ottaa huomioon reaaliaikaiset tiedot haussa muuttaisi heidän tulostaan, ja he käyttivät Flinkiä parantaakseen hakuaan.

Alibaba aloitti omalla Flink-haarukkallaan (jota he kutsuivat Blinkiksi), ja viime kesästä lähtien he ovat on tuonut merkittäviä toimintoja takaisin Flinkiin, siirtyen vähitellen lähemmäksi pää-Flinkiä haara. Kymmenet Alibaban suuret insinöörit työskentelevät Flinkin kanssa ja auttavat takaisin!

Alibaba on meille loistava suhde. Meillä on samanlaiset suhteet muihin yrityksiin, kuten Netflixiin, Uberiin ja King.comiin, jotka jakoivat näkemyksensä viime Flink Forward -konferenssissa.

En kuitenkaan luokittele näitä yrityksiä tyypillisiksi yritysasiakkaiksi. Ne toimivat yksinkertaisesti paljon suuremmassa mittakaavassa ja niillä on erityistarpeita enemmän kuin useimmat yritykset. Tyypillisempiä yrityksiä, joiden kanssa olemme tekemisissä ja joita tuemme, tulevat pankki- ja laajemmalta rahoitusalalta, sähköisestä kaupankäynnistä, internetistä, tietoliikenteestä jne.

Niille tyypillisemmille yrityksille dA julkaisi oman alusta syyskuussa 2016. Tässä vaiheessa se on pohjimmiltaan avoimen lähdekoodin (OS) Flink-alustan peili, mutta se tulee valmiiksi integroituna kaikkien pähkinöiden kanssa. ja pultit, jotka tukevat nopeaa tietoarkkitehtuuria ja yritystason tukea, laadunvarmistusta ja palvelutasoa sopimukset.

Se on vakaa, ohjattu versio Flink-alustasta, joka antaa dA: lle joustavuuden tarjota nopeasti korjauksia ja korjauksia yrityksille. asiakkaita ilman, että heidän tarvitsee käydä läpi käyttöjärjestelmäyhteisöprosessia, vaikka tämän prosessin aikana luodut korjaukset lopulta löytävät tiensä Flink. dA ei kuitenkaan ole sitoutunut olemaan pelkkä käyttöjärjestelmäpeli: dA-alustan kehityksen etenemissuunnitelma sisältää myös omat laajennukset.

Tzoumas väittää, että "kaikki ei kuulu Flinkin piiriin, emmekä halua aloittaa gazilliota käyttöjärjestelmäprojektia, koska tarkoitus ei ole vain koodia vaan yhteisöä. Lisäksi liiketoiminnan kehittämisen näkökulmasta tarkasteltuna puhtaiden avoimen lähdekoodin yritysten marginaaleja ja Yhdistämällä sen markkinoilta saamiimme viesteihin uskomme, että tämä ei ehkä ole paras tapa liikkua eteenpäin."

Ja eteenpäin dA on. Vuosi ja useita versioita sitten Forrester nimesi dA: n vahvaksi esiintyjäksi ja totesi, että dA: lla "on suuri potentiaali, mutta yritys tarvitsee terveen annoksen sijoituspääomaa kasvattaakseen markkinointiaan, myyntiään ja ammattimaisuuttaan hallinta."

Viiden entisen akateemisen tutkijan ydintiimin aloittama Berliinissä vuonna 2014, joka on edelleen dA: n pääkonttori, dA on edistynyt harppauksin. dA työllistää nyt 20 henkilöä ja on jo saanut b-to-v Partnersilta miljoonan euron siemenkierroksen. Intel Capitalin 5,5 miljoonan euron A-sarja, johon osallistuvat Tengelmann Ventures ja b-to-v Yhteistyökumppanit.

Yhdysvallat on seuraavana jonossa: dA on myös liitetty Yhdysvaltoihin, ja Flinkillä on lippulaivansa Flink Eteenpäin tapahtuma San Franciscossa. Tzoumasin mukaan Flinkillä on suuri ja elinvoimainen yhdysvaltalainen yhteisö, mutta tällä hetkellä dA: lla on vain ex-Twitterin Jamie Grier siellä palkkalistoillaan. Grier on todella onnistunut auttamaan asiakkaita pyörittämään Flinkiä tuotannossa, mutta riippumatta siitä, kuinka hyvä hän on, yksi ihminen voi tehdä vain niin paljon.

dA on myös joskus mennyt markkinoille Hadoop-myyjien kanssa. Monet organisaatiot käyttävät Flinkiä YARNissa, joten saadakseen parhaan hyödyn näistä skenaarioista "he pyysivät dA- ja Hadoop-toimittajia työskentelemään yhdessä, ja niin teimme. Mutta se menee pidemmälle kuin tämä ad hoc -tyyppinen yhteistyö, koska dA: lla on kumppanuussuhteita useimpien Hadoop-toimittajien kanssa."

Tzoumas on myös kirjoittanut a kirja MapR: n Ellen Friedmanin kanssa ja viittaa siihen tosiasiaan, että Flink voi toimia sekä paikan päällä että pilvessä ja on osa kahta (pilvipohjaista) Hadoop-jakelut -- Amazon EMR ja Google Dataproc -- samoin kuin Lightbend's nopea dataalusta.

dA näyttää olevan erityisen linjassa filosofian ja teknisen lähestymistavan suhteen Googlen näkemys suoratoistosta.

"Olemme olleet tekemisissä Apache Beamin kanssa ennen kuin sen nimi oli Apache Beam, ja olemme ylpeitä, että meillä on kaksi henkilöä dA: n palveluksessa aktiivisina Beam PMC: n jäseninä. Flinkin DataStream API seuraa Tietovirran malli, samoin kuin Apache Beam, ja ylläpidämme ja tuemme Beam Flink -juoksua, joka on Googlen kehittämän Dataflow-runnerin lisäksi edistynein juoksija. Jatkossa odotan Beamin ja Flinkin ristipölyttävän", Tzoumas sanoo.

Tzoumas tiivistää dA: n vision ja filosofian:

"Ydintiimimme on ollut alusta asti yhdessä, ja CEO-CTO-kaksikko minun ja Stephanin (Ewan) kanssa on toiminut loistavasti. Emme yritä ansaita rahaa jokaista Flinkin mahdollista osaa tai heittää rahaa ongelmiin: tiimin koon kaksinkertaistaminen ei tarkoita tehokkuutesi kaksinkertaistamista.

Yritämme kasvattaa markkinoita orgaanisesti, levittää rajatonta tietojenkäsittelyparadigmaa ja kasvaa itsemme tämän kautta. Tämä ei ole vain jotain hullua arkkitehtuuria, jonka piirsimme taululle - se on jotain, jonka olemme nähneet toteutettuna tuotannossa, ja teemme yhteistyötä näiden sovellusten rakentaneiden tiimien kanssa, jotta voimme jakaa lisää käytöstä tapauksia.

Emme siis aio tehdä tätä yksin, ei mitenkään. Datan suoratoisto on selkeä trendi, ja Flink on keskeinen osa sitä. Se on parasta, mitä voit käyttää tällä hetkellä kaikenlaiseen suoratoistodatan laskemiseen, joten se on todella tämän kehityksen keskipisteessä, mutta se ei ole täydellinen kehitys. Siellä on paljon muita erittäin hyviä pelaajia."

Kuinka ottaa tekoäly ja koneoppiminen käyttöön: