Low-code aplikazioa plataforma analitikoetan

Irakurle maiteok, arratsalde on!

Datuak biltzeko eta aztertzeko plataforma informatikoak eraikitzeko zeregina lehenago edo beranduago sortzen da bere negozioa intelektualki kargatutako zerbitzuak emateko ereduan edo teknikoki konplexuak diren produktuen sorreran oinarritzen den edozein enpresarentzat. Plataforma analitikoak sortzea zeregin konplexua eta denbora asko eskatzen du. Hala ere, edozein zeregin sinplifikatu daiteke. Artikulu honetan konponbide analitikoak sortzen laguntzeko kode baxuko tresnak erabiltzearen esperientzia partekatu nahi dut. Esperientzia hori Neoflex enpresaren Big Data Solutions zuzendaritzan hainbat proiektu gauzatzean lortu zen. 2005etik, Neoflex-eko Big Data Solutions zuzendaritzak datu biltegiak eta lakuak eraikitzeko gaiak jorratzen ditu, informazioa prozesatzeko abiadura optimizatzeko arazoak konpontzen eta datuen kalitatea kudeatzeko metodologia landuz.

Low-code aplikazioa plataforma analitikoetan

Inork ezingo du saihestu ahul eta/edo oso egituratutako datuen metaketa kontzientea. Beharbada, enpresa txikiez ari bagara ere. Azken finean, negozio bat eskalatzerakoan, etorkizun handiko ekintzaileak leialtasun-programa bat garatzeko arazoei aurre egingo die, salmenta-puntuen eraginkortasuna aztertu nahi izango du, zuzendutako publizitatean pentsatuko du eta horrekin batera produktuen eskaerarekin harrituta geratuko da. . Lehen hurbilketa batera, arazoa "belaunean" konpondu daiteke. Baina negozioa hazten doan heinean, plataforma analitiko batera etortzea saihestezina da oraindik.

Hala ere, zein kasutan garatu daitezke datuen analisiko zereginak "Rocket Science" klaseko arazoetan? Benetan big dataz ari garen momentuan agian.
Rocket Science errazteko, elefantea zatiz pieza jan dezakezu.

Low-code aplikazioa plataforma analitikoetan

Zure aplikazioak/zerbitzuak/mikrozerbitzuak zenbat eta diskretuagoak eta autonomoagoak izan, orduan eta errazagoa izango da zuretzat, zure lankideentzat eta negozio osoarentzat elefantea digeritzea.

Gure bezero ia guztiak postulatu honetara etorri ziren, DevOps taldeen ingeniaritza praktiketan oinarrituta paisaia berreraiki zuten.

Baina dieta "bereizi eta elefante" batekin ere, IT paisaia "gainsaturatzeko" aukera ona dugu. Momentu honetan merezi du gelditzea, arnasa hartzea eta albo batera begiratzea kode baxuko ingeniaritza plataforma.

Garatzaile asko ikaratu egiten dira beren karreran biderik gabeko biderik gabeko aukerak kode baxuko sistemen UI interfazeetan zuzenean idaztetik urruntzen direnean. Baina makina-erremintaren etorrerak ez zuen ingeniarien desagerpena ekarri, haien lana maila berri batera eraman baizik!

Azter dezagun zergatik.

Logistikaren, telekomunikazioen industriaren, komunikabideen ikerketaren, finantza sektoreko datuen analisia galdera hauekin lotuta dago beti:

  • Analisi automatikoaren abiadura;
  • Esperimentuak egiteko gaitasuna datuen ekoizpen-fluxu nagusiari eragin gabe;
  • Prestatutako datuen fidagarritasuna;
  • Aldatu jarraipena eta bertsioa;
  • Data provenance, Data leinua, CDC;
  • Ezaugarri berriak bizkor bidaltzea ekoizpen ingurunera;
  • Eta sonatua: garapenaren eta laguntzaren kostua.

Hau da, ingeniariek goi-mailako zeregin ugari dituzte, maila baxuko garapen-zereginen kontzientzia garbituz soilik eraginkortasun nahikoarekin osatu daitezkeenak.

Garatzaileek maila berri batera pasatzeko ezinbesteko baldintzak negozioaren bilakaera eta digitalizazioa izan ziren. Garatzailearen balioa ere aldatzen ari da: automatizatzen ari den negozioaren kontzeptuetan murgiltzeko garatzaileen eskasia nabarmena da.

Egin dezagun analogia bat maila baxuko eta goi mailako programazio lengoaiekin. Behe-mailako hizkuntzetatik goi-mailakoetara igarotzea "zuzenak zuzentarauak hardwarearen hizkuntzan" idaztetik "pertsonen hizkuntzan zuzentarauak" izatera pasatzea da. Hau da, abstrakzio geruza batzuk gehitzea. Kasu honetan, goi-mailako programazio-lengoaietatik kode baxuko plataformetarako trantsizioa "pertsonen hizkuntzako zuzentarauetatik" "enpresa hizkuntzako zuzentarauetarako" trantsizioa da. Gertaera horrekin atsekabetuta dauden garatzaileak badaude, triste egon dira, agian, Java Script sortu zenetik, array ordenatzeko funtzioak erabiltzen dituena. Eta funtzio horiek, noski, softwarearen ezarpena dute goi-mailako programazio bereko beste bide batzuen azpian.

Beraz, low-code beste abstrakzio maila baten itxura besterik ez da.

Kode baxua erabiliz esperientzia aplikatua

Low-code-aren gaia nahiko zabala da, baina orain β€œlow-code kontzeptuen” aplikazio praktikoari buruz hitz egin nahiko nuke gure proiektuetako baten adibidea erabiliz.

Neoflex-en Big Data Solutions dibisioa gehiago espezializatu da negozioen finantza-sektorean, datu biltegiak eta lakuak eraikiz eta hainbat txosten automatizatuz. Nitxo honetan, kode baxuaren erabilera estandar bihurtu da aspalditik. Kode baxuko beste tresnen artean, ETL prozesuak antolatzeko tresnak aipa ditzakegu: Informatica Power Center, IBM Datastage, Pentaho Data Integration. Edo Oracle Apex, datuak sartzeko eta editatzeko interfazeak azkar garatzeko ingurune gisa jarduten duena. Hala ere, kode baxuko garapen-tresnak erabiltzeak ez dakar beti helburu handiko aplikazioak eraikitzea saltzailearekiko menpekotasun argia duen teknologia-pila komertzial batean.

Kode baxuko plataformak erabiliz, datu-korronteen orkestrazioa ere antola dezakezu, datu zientzien plataformak sor ditzakezu edo, adibidez, datuen kalitatea egiaztatzeko moduluak.

Kode baxuko garapen-tresnak erabiltzeko esperientzia aplikatutako adibideetako bat Neoflex eta Mediascope-ren arteko lankidetza da, Errusiako komunikabideen ikerketa-merkatuko liderretako bat. Enpresa honen negozio-helburuetako bat iragarleek, Interneteko plataformek, telebista kateek, irratiek, publizitate agentziek eta markek publizitatea erosteko erabakiak hartzeko eta beren marketin-komunikazioak planifikatzeko datuen ekoizpena da.

Low-code aplikazioa plataforma analitikoetan

Komunikabideen ikerketa teknologikoki kargatutako negozioaren arloa da. Bideo-sekuentziak ezagutzea, ikustea aztertzen duten gailuetako datuak biltzea, web-baliabideetako jarduera neurtzea - ​​horrek guztiak esan nahi du konpainiak IT langile handia duela eta soluzio analitikoak eraikitzen esperientzia handia duela. Baina informazio kopuruaren hazkunde esponentzialak, iturrien kopuruak eta aniztasunak IT datuen industria etengabe aurreratzera behartzen du. Dagoeneko funtzionatzen duen Mediascope plataforma analitikoa eskalatzeko irtenbiderik errazena IT langileak handitzea izan liteke. Baina askoz irtenbide eraginkorragoa garapen prozesua bizkortzea da. Norabide horretan aurrera eramaten duen urratsetako bat kode baxuko plataformak erabiltzea izan daiteke.

Proiektua hasi zen unean, enpresak jada bazeukan produktuen soluzio funtzionala. Hala ere, MSSQL-n soluzioa ezartzeak ezin izan ditu funtzionalitatea eskalatzeko itxaropenak guztiz bete garapenaren kostu onargarria mantenduz.

Aurrean genuen zeregina asmo handikoa zen benetan: Neoflex eta Mediascope-k soluzio industrial bat sortu behar izan zuten urtebete baino gutxiagoan, hasiera-dataren lehen hiruhilekoan MVP-a kaleratzeko.

Hadoop teknologiaren pila aukeratu zen kode baxuko konputazioan oinarritutako datu-plataforma berri bat eraikitzeko oinarri gisa. HDFS parket fitxategiak erabiliz datuak biltegiratzeko estandar bihurtu da. Plataforman kokatutako datuetara sartzeko, Hive erabili da, zeinetan erabilgarri dauden erakusleiho guztiak kanpoko taulen moduan aurkezten diren. Datuak biltegian kargatzea Kafka eta Apache NiFi erabiliz inplementatu zen.

Kontzeptu honetako Lowe-code tresna plataforma analitiko bat eraikitzeko lan-lan intentsiboena optimizatzeko erabili zen: datuak kalkulatzeko zeregina.

Low-code aplikazioa plataforma analitikoetan

Kode baxuko Datagram tresna aukeratu zen datuen mapak egiteko mekanismo nagusi gisa. Neoflex Datagrama eraldaketak eta datu-fluxuak garatzeko tresna da.
Tresna hau erabiliz, Scala kodea eskuz idatzi gabe egin dezakezu. Scala kodea automatikoki sortzen da Model Driven Architecture ikuspegia erabiliz.

Ikuspegi honen abantaila nabaria garapen prozesua bizkortzea da. Hala ere, abiaduraz gain, abantaila hauek ere badaude:

  • Iturri/hartzaileen edukia eta egitura ikustea;
  • Datu-fluxuaren objektuen jatorria eremu indibidualetan (leinua) trazatzea;
  • Eraldaketak partzialki gauzatzea tarteko emaitzak ikusita;
  • Iturburu-kodea berrikustea eta exekutatu aurretik doitzea;
  • Eraldaketak automatikoki balioztatzea;
  • Datuen deskarga automatikoa 1 batean 1.

Eraldaketak sortzeko kode baxuko soluzioetan sartzeko oztopoa nahiko baxua da: garatzaileak SQL ezagutu eta ETL tresnekin lan egiteko esperientzia izan behar du. Aipatzekoa da kode bidezko eraldaketa-sorgailuak ez direla ETL tresnak hitzaren zentzu zabalean. Kode baxuko tresnek ez dute beren kodea exekutatzeko ingurunerik. Hau da, sortutako kodea klusterrean zegoen ingurunean exekutatuko da kode baxuko irtenbidea instalatu aurretik. Eta hau agian kode baxuko karmaren beste abantaila bat da. Izan ere, kode baxuko talde batekin paraleloan, funtzionaltasuna inplementatzen duen talde "klasiko" batek lan egin dezake, adibidez, Scala kode hutsean. Bi taldeen hobekuntzak produkziora ekartzea erraza eta ezin hobea izango da.

Agian azpimarratzekoa da kode baxuaz gain, koderik gabeko irtenbideak ere badirela. Eta haien oinarrian, hauek gauza desberdinak dira. Behe-kodeak garatzaileak sortzen duen kodean gehiago oztopatzeko aukera ematen dio. Datagram-en kasuan, sortu den Scala kodea ikusi eta editatu daiteke; koderik gabekoak baliteke aukera hori ez ematea. Alde hori oso esanguratsua da ez bakarrik irtenbidearen malgutasunari dagokionez, baita datu-ingeniarien lanerako erosotasunari eta motibazioari dagokionez ere.

Irtenbideen arkitektura

Saia gaitezen zehatz-mehatz kode baxuko tresna batek datuak kalkulatzeko funtzionaltasuna garatzeko abiadura optimizatzeko arazoa konpontzen nola laguntzen duen. Lehenik eta behin, ikus dezagun sistemaren arkitektura funtzionala. Kasu honetan adibide bat komunikabideen ikerketarako datuen ekoizpen eredua da.

Low-code aplikazioa plataforma analitikoetan

Gure kasuan datu iturriak oso heterogeneoak eta askotarikoak dira:

  • Pertsonen neurgailuak (telebista neurgailuak) telebistako paneleko inkestatuen erabiltzaileen jokabidea irakurtzen duten software eta hardware gailuak dira - ikerketan parte hartzen ari den etxeetan nork, noiz eta zein telebista kate ikusi zen. Emandako informazioa hedabide-paketeari eta multimedia-produktuari lotutako emisio-ikusteko tarteen korronte bat da. Data Lake-ra kargatzeko faseko datuak ezaugarri demografikoekin, geoestratifikazioarekin, ordu-eremuarekin eta multimedia-produktu jakin baten telebista-ikuskizuna aztertzeko beharrezkoa den beste informazio batzuekin aberastu daitezke. Hartutako neurketak publizitate-kanpainak aztertzeko edo planifikatzeko, audientziaren jarduera eta lehentasunak ebaluatzeko eta emisio-sarea osatzeko erabil daitezke;
  • Datuak telebistako emankizunak streaming bidez jarraitzeko eta Interneten bideo-baliabideen edukiak ikustea neurtzeko monitorizazio sistemetatik etor daitezke;
  • Web-ingurunean neurtzeko tresnak, guneetan oinarritutako eta erabiltzaileengan oinarritutako neurgailuak barne. Data Lake-ren datu-hornitzailea ikerketa-barren arakatzailearen gehigarri bat eta mugikorrentzako aplikazio bat izan daiteke VPN integratua duena.
  • Datuak lineako galdetegiak betetzearen emaitzak eta enpresen inkestetan telefono bidezko elkarrizketen emaitzak finkatzen dituzten guneetatik ere etor daitezke;
  • Datu-lakuaren aberastasun gehigarria gerta daiteke enpresa bazkideen erregistroetatik informazioa deskargatuz.

Iturburu-sistemetatik kargatzen ari den inplementazioa datu gordinaren lehen fasean antola daiteke hainbat modutan. Helburu horietarako kode baxua erabiltzen bada, metadatuetan oinarritutako kargatzeko scriptak automatikoki sortzea posible da. Kasu honetan, ez dago garatzeko iturburu mailara jaitsi beharrik mapak bideratzeko. Karga automatikoa ezartzeko, iturburuarekiko konexio bat ezarri behar dugu, eta ondoren kargatzeko interfazean zehaztu kargatu beharreko entitateen zerrenda. HDFSko direktorio-egitura automatikoki sortuko da eta iturburu-sistemako datuak biltegiratzeko egiturarekin bat etorriko da.

Hala ere, proiektu honen testuinguruan, kode baxuko plataformaren ezaugarri hau ez erabiltzea erabaki dugu, Mediascope konpainiak dagoeneko independentean hasi duelako antzeko zerbitzu bat ekoizten Nifi + Kafka konbinazioa erabiliz.

Merezi du berehala adieraztea tresna hauek ez direla trukagarriak, osagarriak baizik. Nifi eta Kafkak zuzenean (Nifi -> Kafka) zein alderantziz (Kafka -> Nifi) konexioan lan egiteko gai dira. Hedabideen ikerketa plataformarako, sortaren lehen bertsioa erabili zen.

Low-code aplikazioa plataforma analitikoetan

Gure kasuan, NayFik iturri sistemetako hainbat datu mota prozesatu eta Kafka brokerra bidali behar zituen. Kasu honetan, mezuak Kafka gai zehatz batera bidali ziren PublishKafka Nifi prozesadoreak erabiliz. Hodi horien orkestrazioa eta mantentze-lanak interfaze bisual batean egiten dira. Nifi tresnari eta Nifi + Kafka konbinazioaren erabilerari garapenerako kode baxuko ikuspegia ere deitu daiteke, Big Data teknologietan sartzeko oztopo baxua duena eta aplikazioak garatzeko prozesua azkartzen duena.

Proiektuaren ezarpenaren hurrengo etapa datu zehatzak geruza semantiko formatu bakarrera ekartzea izan zen. Entitate batek atributu historikoak baditu, kalkulua kasuan kasuko partizioaren testuinguruan egiten da. Entitatea historikoa ez bada, aukeran posible da objektuaren eduki osoa birkalkulatzea, edo objektu hori birkalkulatzeari erabat uko egitea (aldaketarik ez dagoelako). Fase honetan, entitate guztien gakoak sortzen dira. Gakoak objektu nagusiei dagozkien Hbase direktorioetan gordetzen dira, plataforma analitikoko gakoen eta iturburu-sistemetako gakoen arteko korrespondentzia bat daukatenak. Entitate atomikoen finkatzeak datu analitikoen aurretiazko kalkuluaren emaitzekin aberastea dakar. Datuak kalkulatzeko esparrua Spark zen. Datuak semantika bakar batera eramateko deskribatutako funtzionalitatea ere inplementatu zen kode baxuko Datagram tresnaren mapeetan oinarrituta.

Xede-arkitekturak datuetarako SQL sarbidea behar zuen negozio-erabiltzaileentzat. Aukera honetarako Hive erabili da. Objektuak Hive-n automatikoki erregistratzen dira kode baxuko tresnan "Registr Hive Table" aukera gaitzen duzunean.

Low-code aplikazioa plataforma analitikoetan

Kalkulu-fluxuaren kontrola

Datagramek lan-fluxuen diseinuak sortzeko interfaze bat du. Mapak abiarazi daitezke Oozie programatzailea erabiliz. Korronteen garatzaileen interfazean, datu-eraldaketa paralelo, sekuentzial edo exekuzioaren menpeko eskemak sortzea posible da. Shell scriptetarako eta java programetarako laguntza dago. Apache Livy zerbitzaria ere erabil daiteke. Apache Livy aplikazioak garapen ingurunetik zuzenean exekutatzeko erabiltzen da.

Enpresak dagoeneko bere prozesu-orkestratzailea badu, REST APIa erabil daiteke mapak lehendik dagoen fluxu batean txertatzeko. Adibidez, nahiko esperientzia arrakastatsua izan genuen Scala-n mapak txertatzeko PLSQL eta Kotlin-en idatzitako orkestradoreetan. Kode baxuko tresnaren REST APIak maparen diseinuan oinarritutako urte exekutagarri bat sortzea, mapaketa bati deitzea, mapak sekuentzia bati deitzea eta, jakina, parametroak URLra pasatzea mapak exekutatzeko, besteak beste.

Oozierekin batera, posible da kalkulu-fluxu bat antolatzea Airflow erabiliz. Agian ez naiz luze luzatuko Oozie eta Airflow-en arteko konparazioan, baina besterik gabe esango dut komunikabideen ikerketa-proiektu batean egindako lanaren testuinguruan, hautua Airflow-en alde egin zela. Argudio nagusiak produktua garatzen duen komunitate aktiboagoa eta interfaze + API garatuago bat izan ziren.

Airflow ere ona da Python maitea erabiltzen duelako kalkulu-prozesuak deskribatzeko. Eta, oro har, ez dago hainbeste kode irekiko lan-fluxuen kudeaketa plataformak. Prozesuen exekuzioa abiarazteko eta kontrolatzeak (Gantt diagrama barne) puntuak soilik gehitzen ditu Airflow-en karma.

Kode baxuko konponbideen mapak abiarazteko konfigurazio-fitxategiaren formatua spark-submit bihurtu da. Hau bi arrazoirengatik gertatu zen. Lehenik eta behin, spark-submit-ek jar fitxategi bat zuzenean exekutatu dezakezu kontsolatik. Bigarrenik, lan-fluxua konfiguratzeko beharrezko informazio guztia eduki dezake (horrek errazten du Dag sortzen duten script-ak idaztea).
Gure kasuan Airflow lan-fluxuaren elementu ohikoena SparkSubmitOperator izan zen.

SparkSubmitOperator-ek jar-ak exekutatzeko aukera ematen du - paketatutako Datagram-en mapak haientzat aurrez sortutako sarrera-parametroekin.

Aipatzekoa da Airflow zeregin bakoitza hari bereizi batean exekutatzen dela eta ez dakiela ezer beste zereginei buruz. Beraz, zereginen arteko interakzioa kontrol-operadoreen bidez egiten da, hala nola DummyOperator edo BranchPythonOperator.

Batera hartuta, Datagram kode baxuko irtenbidea erabiltzeak konfigurazio fitxategien unibertsalizazioarekin batera (Dag eratuz) datuak kargatzeko fluxuak garatzeko prozesua azkartu eta sinplifikatu zuen.

Erakusleihoaren kalkulua

Agian datu analitikoen ekoizpenean intelektualki gehien kargatzen den etapa erakusleihoak eraikitzeko urratsa da. Ikerketa-enpresaren datuen kalkulu-fluxuetako baten testuinguruan, fase honetan, datuak erreferentziazko emisio batera murrizten dira, ordu-eremuetarako zuzenketak kontuan hartuta eta emisio-sarearekin lotuta. Era berean, tokiko emisio-sarera egokitu daiteke (tokiko albisteak eta publizitatea). Besteak beste, urrats honek hedabideen produktuak etengabe ikusteko tarteak hausten ditu, ikustaldien analisian oinarrituta. Berehala, ikusteko balioak "haztatu" egiten dira haien esangurari buruzko informazioan oinarrituta (zuzenketa-faktore baten kalkulua).

Low-code aplikazioa plataforma analitikoetan

Erakusleihoak prestatzeko beste urrats bat datuak baliozkotzea da. Balidazio-algoritmoak zientzia matematikoko hainbat eredu erabiltzea dakar. Hala ere, kode baxuko plataforma baten erabilerari esker, algoritmo konplexu bat bisualki irakur daitezkeen mapa ezberdinetan hautsi dezakezu. Kartografia bakoitzak zeregin estu bat egiten du. Ondorioz, datuak prestatzeko faseen tarteko arazketa, erregistroa eta bistaratzea posible dira.

Balidazio-algoritmoa ondorengo azpietapa hauetan diskreztatzea erabaki zen:

  • Telebistako sareak ikusteko mendekotasunen erregresioak eraikitzea eskualdeko sare guztiak 60 egunez ikusita.
  • Ikasletutako hondarren kalkulua (erregresio-ereduak aurreikusitako balio errealen desbideratzeak) erregresio-puntu guztietarako eta kalkulatutako egunerako.
  • Eskualde-sare pare anormalen aukeraketa bat, non likidazio eguneko ikasleen saldoak araua gainditzen duen (eragiketa-ezarpenek zehaztutakoa).
  • Eskualdeko sarea ikusten duen inkestatu bakoitzarentzat eskualde-telebista-sare pare anormalentzako zuzendutako hondar ikaslearen birkalkulua, inkestatu honen ekarpena zehaztuz (ikasleen hondarren aldaketaren zenbatekoa) inkestatu honen ikuspena lagintik kanpo uztean. .
  • Bilatu ordainsari-egunen ikaslearen saldoa normaltasunera itzultzen duten hautagaiak.

Goiko adibideak datu-ingeniari batek buruan gehiegi dituela dioen hipotesia berresten du... Eta, hau benetan "ingeniari" bat bada eta ez "kodetzailea" bada, orduan degradazio profesionalaren beldurra kode baxuko tresnak erabiltzean. azkenean atzera egin behar da.

Zer gehiago egin dezake behe-kodeak?

Batch eta stream datuak prozesatzeko kode baxuko tresnaren aplikazio-esparrua Scala-n kodea eskuz idatzi beharrik gabe ez da hor amaitzen.

Datalake-aren garapenean low-code erabiltzea estandar bihurtu da dagoeneko. Ziurrenik esan dezakegu Hadoop pilan oinarritutako soluzioek RDBMSn oinarritutako DWH klasikoen garapen-bidea jarraitzen dutela. Hadoop pilako kode baxuko tresnek bai datuak prozesatzeko zereginak bai azken BI interfazeak eraikitzeko zeregina ebatzi ditzakete. Gainera, kontuan izan behar da BIak datuen irudikapena ez ezik, enpresa erabiltzaileek editatzea ere esan dezaketela. Funtzionalitate hori askotan erabiltzen dugu finantza-sektorerako plataforma analitikoak eraikitzerakoan.

Low-code aplikazioa plataforma analitikoetan

Besteak beste, kode baxua eta, bereziki, Datagrama erabiliz, datu-korrontearen objektuen jatorria atomozitatez eremu indibidualetaraino (leinua) jarraitzeko arazoa konpon daiteke. Horretarako, kode baxuko tresnak Apache Atlas eta Cloudera Navigator-ekin interfazea ezartzen du. Funtsean, garatzaileak objektu multzo bat erregistratu behar du Atlaseko hiztegietan eta erregistratutako objektuak erreferentziatu behar ditu mapak eraikitzean. Datuen jatorria jarraitzeko edo objektuen mendekotasunak aztertzeko mekanismoak denbora asko aurrezten du kalkulu-algoritmoetan hobekuntzak egin behar direnean. Esaterako, finantza-egoerak prestatzerakoan, funtzio honek lege-aldaketen alditik erosoago bizirauteko aukera ematen du. Azken finean, zenbat eta hobeto ulertu formen arteko menpekotasuna geruza zehatz bateko objektuen testuinguruan, orduan eta gutxiago aurkituko ditugu "bat-bateko" akatsak eta birlanketa kopurua murriztuko dugu.

Low-code aplikazioa plataforma analitikoetan

Datuen kalitatea eta kode baxua

Mediascope proiektuan low-code tresnak inplementatutako beste zeregin bat Data Quality klaseko zeregina izan zen. Ikerketa enpresaren proiekturako datuak egiaztatzeko kanalaren ezarpenaren ezaugarri berezi bat datuen kalkulu-fluxu nagusiaren errendimenduan eta abiaduran eraginik ez izatea izan zen. Datuen egiaztapen-fluxu independenteak antolatu ahal izateko, dagoeneko ezaguna den Apache Airflow erabili zen. Datuak ekoizteko urrats bakoitza prest zegoenez, DQ kanalizazioaren zati bereizi bat martxan jarri zen paraleloan.

Praktika ontzat jotzen da datuen kalitatearen jarraipena egitea plataforma analitikoan sortzen diren unetik. Metadatuei buruzko informazioa izanik, oinarrizko baldintzak betetzen direla egiaztatu ahal izango dugu informazioa lehen mailako geruzara sartzen den unetik - ez nulua, mugak, kanpoko gakoak. Funtzionalitate hau Datagram-en datu-kalitatearen familia automatikoki sortutako mapeetan oinarrituta ezartzen da. Kasu honetan kodea sortzea ere ereduaren metadatuetan oinarritzen da. Mediascope proiektuan, Enterprise Architect produktuaren metadatuekin egin da interfazea.

Kode baxuko tresna Enterprise Architect-ekin parekatuz gero, egiaztapen hauek automatikoki sortu dira:

  • "Ez nulua" modifikatzailea duten eremuetan "null" balioak dauden egiaztatzea;
  • Lehen gakoaren bikoiztuak dauden egiaztatzea;
  • Entitate baten atzerriko gakoa egiaztatzea;
  • Eremu multzo batean oinarrituta kate baten berezitasuna egiaztatzea.

Datuen erabilgarritasunaren eta fidagarritasunaren egiaztapen konplexuagoetarako, Scala Expression-ekin mapaketa bat sortu zen, sarrera gisa Zeppelineko analistek prestatutako Spark SQL egiaztapen-kode bat hartzen duena.

Low-code aplikazioa plataforma analitikoetan

Jakina, txekeen sorkuntza automatikoa pixkanaka lortu behar da. Deskribatutako proiektuaren esparruan, honen aurretik urrats hauek eman ziren:

  • Zeppelinen koadernoetan inplementatutako DQ;
  • DQ kartografian eraikia;
  • DQ entitate bereizi baterako egiaztapen-multzo osoa duten mapeo masibo bereizietan;
  • Metadatuei eta negozio-egiaztapenei buruzko informazioa sarrera gisa onartzen duten DQ mapeak parametrizatutako unibertsalak.

Beharbada parametrizatutako egiaztapen-zerbitzua sortzearen abantaila nagusia ekoizpen-inguruneari funtzionalitatea emateko behar den denbora murriztea da. Kalitate-kontrol berriek kodea zeharka entregatzeko eredu klasikoa saihestu dezakete garapen eta proba inguruneen bidez:

  • Metadatuen egiaztapen guztiak automatikoki sortzen dira eredua EAn aldatzen denean;
  • Datuen erabilgarritasunaren egiaztapenak (denbora batean edozein daturen presentzia zehaztea) objektuen testuinguruan hurrengo datuen agerpenaren espero den denbora gordetzen duen direktorio batean oinarrituta sor daitezke;
  • Negozioaren datuen baliozkotze egiaztapenak analistek sortzen dituzte Zeppelin koadernoetan. Hortik zuzenean bidaltzen dira ekoizpen inguruneko DQ moduluaren konfigurazio-tauletara.

Ez dago gidoiak produkziora zuzenean bidaltzeko arriskurik. Sintaxi-errore bat izanda ere, mehatxatzen gaituen gehienekoa egiaztapen bat ez egitea da, datuen kalkulu-fluxua eta kalitate-kontrolaren abiarazte-fluxua elkarrengandik bereizita daudelako.

Funtsean, DQ zerbitzua etengabe exekutatzen ari da ekoizpen-ingurunean eta hurrengo datua agertzen den momentuan bere lanean hasteko prest dago.

Horren ordez Ondorio baten

Kode baxua erabiltzearen abantaila nabaria da. Garatzaileek ez dute aplikazioa hutsetik garatu behar. Eta zeregin gehigarrietatik askatuta dagoen programatzaile batek emaitzak azkarrago sortzen ditu. Abiadurak, berriz, denbora gehigarria askatzen du optimizazio-arazoak konpontzeko. Hori dela eta, kasu honetan, irtenbide hobea eta azkarrago batekin egon zaitezke.

Noski, kode baxua ez da panazea, eta magia ez da bere kabuz gertatuko:

  • Kode baxuko industria "indartsuago" etapa bat igarotzen ari da, eta oraindik ez dago estandar industrial uniformerik;
  • Kode baxuko irtenbide asko ez dira doakoak, eta horiek erostea urrats kontziente bat izan behar da, eta hori erabiltzearen onura ekonomikoetan konfiantza osoz egin behar da;
  • Kode baxuko irtenbide askok ez dute beti ondo funtzionatzen GIT/SVN-rekin. Edo erabiltzeko deserosoak dira sortutako kodea ezkutatuta badago;
  • Arkitektura zabaltzean, kode baxuko irtenbidea fintzea beharrezkoa izan daiteke, eta horrek, aldi berean, kode baxuko irtenbidearen hornitzailearengan "atxikimenduaren eta menpekotasunaren" eragina eragiten du.
  • Segurtasun-maila egokia posible da, baina oso lan handia eta zaila da kode baxuko sistema-motorretan ezartzea. Kode baxuko plataformak aukeratu behar dira ez bakarrik erabileraren onurak bilatzeko printzipioaren arabera. Aukeratzerakoan, merezi du galderak egitea sarbide-kontrolerako eta identifikazio-datuak erakundearen IT panorama osoaren mailara eskuordetzeko/eskalatzeko funtzionalitateen erabilgarritasunari buruz.

Low-code aplikazioa plataforma analitikoetan

Hala ere, aukeratutako sistemaren gabezia guztiak ezagutzen badituzu eta erabileraren onurak, hala ere, gehiengo nagusienak badira, joan kode txikira beldurrik gabe. Gainera, harako trantsizioa saihestezina da, edozein bilakaera saihestezina den bezala.

Kode baxuko plataformako garatzaile batek kode baxurik gabeko bi garatzailek baino azkarrago egiten badu bere lana, orduan konpainiari hasiera ematen dio alderdi guztietan. Kode baxuko konponbideetan sartzeko atalasea teknologia "tradizionaletan" baino txikiagoa da, eta horrek eragin positiboa du langile eskasiaren gaian. Kode baxuko tresnak erabiltzean, talde funtzionalen arteko interakzioa bizkortu eta datu zientzien ikerketarako aukeratutako bidearen zuzentasunari buruzko erabaki azkarragoak hartzea posible da. Maila baxuko plataformek erakunde baten eraldaketa digitala bultzatu dezakete, ekoitzitako irtenbideak espezialista ez-teknikoek (bereziki enpresa erabiltzaileek) uler ditzaketelako.

Epe estuak badituzu, negozio-logika kargatua, esperientzia teknologiko falta baduzu eta merkaturatzeko denbora azkartu behar baduzu, orduan kode baxua da zure beharrak asetzeko modu bat.

Ezin uka daiteke garapen tresna tradizionalen garrantzia, baina kasu askotan, kode baxuko soluzioak erabiltzea da konpontzen ari diren atazen eraginkortasuna areagotzeko modurik onena.

Iturria: www.habr.com

Gehitu iruzkin berria