Sistemi analitiċi tas-server

Din hija t-tieni parti ta’ sensiela ta’ artikli dwar sistemi analitiċi (link għall-parti 1).

Sistemi analitiċi tas-server

Illum, m'hemm l-ebda dubju li l-ipproċessar preċiż tad-dejta u l-interpretazzjoni tar-riżultati jistgħu jgħinu kważi kull tip ta 'negozju. F'dan ir-rigward, is-sistemi analitiċi qed isiru aktar u aktar mgħobbija b'parametri, in-numru ta' triggers u avvenimenti tal-utent fl-applikazzjonijiet qed jikber.
Minħabba dan, il-kumpaniji qed jagħtu lill-analisti tagħhom aktar u aktar informazzjoni "prima" biex janalizzawha u jibdluha fid-deċiżjonijiet it-tajba. L-importanza ta’ sistema analitika għal kumpanija m’għandhiex tiġi sottovalutata, u s-sistema nnifisha għandha tkun affidabbli u sostenibbli.

Analisti tal-klijenti

L-analitika tal-klijenti hija servizz li kumpanija tgħaqqad għall-websajt jew l-applikazzjoni tagħha permezz tal-SDK uffiċjali, tintegrah fil-kodiċi tal-bażi tagħha stess, u tagħżel attivaturi tal-avvenimenti. Dan l-approċċ għandu żvantaġġ ovvju: id-dejta kollha miġbura ma tistax tiġi pproċessata kompletament kif tixtieq, minħabba l-limitazzjonijiet ta 'kwalunkwe servizz magħżul. Pereżempju, fuq sistema waħda mhux se jkun faċli li tmexxi l-kompiti ta 'MapReduce, fuq oħra ma tkunx tista' tmexxi l-mudell tiegħek. Żvantaġġ ieħor se jkun kont regolari (impressjonanti) għas-servizzi.
Hemm ħafna soluzzjonijiet analitiċi tal-klijenti fis-suq, iżda llum jew għada, l-analisti jiffaċċjaw il-fatt li m'hemm l-ebda servizz universali wieħed adattat għal kwalunkwe kompitu (filwaqt li l-prezzijiet għal dawn is-servizzi kollha qed jikbru kontinwament). F'sitwazzjoni bħal din, il-kumpaniji ħafna drabi jiddeċiedu li joħolqu s-sistema analitika tagħhom stess bis-settings u l-karatteristiċi tad-dwana kollha meħtieġa.

Analisti tas-Server

L-analiżi tan-naħa tas-server hija servizz li jista’ jiġi skjerat internament fuq is-servers tal-kumpanija stess u (ġeneralment) internament. F'dan il-mudell, l-avvenimenti kollha tal-utent huma maħżuna fuq servers interni, li jippermettu lill-iżviluppaturi jippruvaw databases differenti għall-ħażna u jagħżlu l-aktar arkitettura konvenjenti. U anki jekk xorta trid tuża analitiċi fuq in-naħa tal-klijent ta 'parti terza għal xi kompiti, xorta se jkun possibbli.
L-analiżi tan-naħa tas-server tista' tiġi skjerata f'żewġ modi. L-ewwel: agħżel xi utilitajiet ta 'sors miftuħ, użahom fuq il-magni tiegħek u tiżviluppa l-loġika tan-negozju.

Pros
Cons

Tista 'tippersonalizza xi ħaġa
Ħafna drabi huwa diffiċli ħafna u żviluppaturi separati huma meħtieġa

It-tieni: ħu s-servizzi SaaS (Amazon, Google, Azure) minflok ma tużah lilek innifsek. Se nitkellmu dwar SaaS f'aktar dettall fit-tielet parti.

Pros
Cons

Jista 'jkun irħas fuq volumi medji, iżda b'żieda kbira xorta se jsir għali wisq
Mhux kapaċi jikkontrolla l-parametri kollha

L-amministrazzjoni hija kompletament trasferita fuq l-ispallejn tal-fornitur tas-servizz
Mhux dejjem magħruf x'hemm ġewwa s-servizz (jista 'ma jkunx meħtieġ)

Kif tiġbor l-analiżi tas-server

Jekk irridu nitbiegħdu milli nużaw l-analitika tal-klijenti u nibnu tagħna stess, l-ewwelnett irridu naħsbu fuq l-arkitettura tas-sistema l-ġdida. Hawn taħt ser ngħidlek pass pass dak li għandek bżonn tikkunsidra, għaliex kull wieħed mill-passi huwa meħtieġ u liema għodod tista 'tuża.

1. Akkwist tad-dejta

Bħal fil-każ tal-analitika tal-klijenti, l-ewwelnett, l-analisti tal-kumpaniji jagħżlu t-tipi ta 'avvenimenti li jridu jistudjaw aktar u jiġbruhom f'lista. Normalment, dawn l-avvenimenti jseħħu f'ċerta ordni, li tissejjaħ "skema ta 'avveniment".
Barra minn hekk, ejja nimmaġinaw li applikazzjoni mobbli (websajt) għandha utenti regolari (apparati) u ħafna servers. Biex tittrasferixxi b'mod sigur avvenimenti minn apparati għal servers, huwa meħtieġ saff intermedju. Skont l-arkitettura, jistgħu jseħħu diversi kjuwijiet tal-avvenimenti differenti.
Apache Kafka - dan hu pub/sub queue, li jintuża bħala kju għall-ġbir ta 'avvenimenti.

Skond post fuq Quora fl-2014, il-kreatur ta 'Apache Kafka iddeċieda li jsemmi s-softwer wara Franz Kafka minħabba li "hija sistema ottimizzata għall-kitba" u minħabba li kien iħobb il-kitbiet ta' Kafka. — Wikipedija

Fl-eżempju tagħna, hemm ħafna produtturi tad-dejta u l-konsumaturi tagħhom (apparati u servers), u Kafka jgħin biex jgħaqqadhom ma 'xulxin. Il-konsumaturi se jkunu deskritti f'aktar dettall fil-passi li jmiss, fejn se jkunu l-atturi ewlenin. Issa se nikkunsidraw biss il-produtturi tad-dejta (avvenimenti).
Kafka jiġbor fih il-kunċetti ta' kju u diviżorju, b'mod aktar speċifiku dwar dan huwa aħjar li taqra x'imkien ieħor (per eżempju, fi dokumentazzjoni). Mingħajr ma nidħlu fid-dettalji, ejja nimmaġinaw li tiġi mnedija applikazzjoni mobbli għal żewġ sistemi operattivi differenti. Imbagħad kull verżjoni toħloq il-fluss ta 'avvenimenti separati tagħha stess. Il-produtturi jibagħtu avvenimenti lil Kafka, huma rreġistrati fi kju adattat.
Sistemi analitiċi tas-server
(stampa għalhekk)

Fl-istess ħin, Kafka jippermettilek taqra f'biċċiet u tipproċessa l-fluss ta 'avvenimenti f'lottijiet żgħar. Kafka hija għodda konvenjenti ħafna li tiskala sew mal-ħtiġijiet li qed jikbru (per eżempju, permezz ta 'ġeolokalizzazzjoni ta' avvenimenti).
Normalment shard waħda hija biżżejjed, iżda l-affarijiet isiru aktar ikkumplikati bil-komunikazzjoni meta tiskala (bħal dejjem). Probabbilment ħadd ma jrid juża shard fiżiku wieħed biss fil-produzzjoni, peress li l-arkitettura trid tkun tolleranti għall-ħsarat. Minbarra Kafka, hemm soluzzjoni oħra magħrufa sew - RabbitMQ. Ma użanihx fil-produzzjoni bħala kju għall-analiżi tal-avvenimenti (jekk għandek esperjenza bħal din, għidilna dwarha fil-kummenti!). Madankollu, intuża AWS Kinesis.

Qabel ma tgħaddi għall-pass li jmiss, jeħtieġ li jissemma saff ieħor addizzjonali tas-sistema - il-ħażna ta 'zkuk mhux ipproċessati. Dan mhuwiex saff obbligatorju, iżda se jkun utli f'każ li xi ħaġa tmur ħażin u l-kjuwijiet tal-avvenimenti f'Kafka jiġu reset għal żero. Il-ħażna ta 'zkuk mhux ipproċessati ma teħtieġx soluzzjoni kumplessa u għalja, tista' sempliċement tiktebhom x'imkien fl-ordni korretta (anke fuq hard drive).
Sistemi analitiċi tas-server

2. Immaniġġjar ta 'flussi ta' avvenimenti

Wara li nkunu ħejjejna l-avvenimenti kollha u poġġejnahom fil-kjuwijiet xierqa, ngħaddu għall-pass tal-ipproċessar. Hawnhekk ser nitkellem dwar iż-żewġ għażliet ta 'proċessar l-aktar komuni.
L-ewwel għażla hija li tippermetti Spark Streaming fuq sistema Apache. Il-prodotti kollha Apache jgħixu fuq HDFS, sistema ta’ fajls ta’ replika sigura. Spark Streaming hija għodda faċli biex tużah li tipproċessa streaming data u tiskala tajjeb. Madankollu, jista 'jkun diffiċli biex jinżamm.
Għażla oħra hija li tibni l-immaniġġjar tal-avvenimenti tiegħek stess. Biex tagħmel dan, pereżempju, trid tikteb applikazzjoni Python, tibniha f'docker, u tabbona għall-kjuwijiet ta' Kafka. Meta l-iskattaturi jaslu għall-handlers fid-docker, l-ipproċessar jibda. B'dan il-metodu, trid iżżomm l-applikazzjonijiet kontinwament għaddejjin.
Ejja nassumu li għażilna waħda mill-għażliet deskritti hawn fuq u ngħaddu għall-ipproċessar innifsu. Il-proċessuri għandhom jibdew billi jiċċekkjaw il-validità tad-dejta, jiffiltraw iż-żibel u l-avvenimenti "imkissra". Għall-validazzjoni normalment nużaw Cerberus. Wara dan, jista 'jsir l-immappjar tad-dejta: id-dejta minn sorsi differenti hija normalizzata u standardizzata sabiex tiżdied ma' tabella komuni.
Sistemi analitiċi tas-server

3. Database

It-tielet pass huwa li tissejvja l-avvenimenti normalizzati. Meta naħdmu b'sistema analitika lesta, ħafna drabi jkollna naċċessawhom, għalhekk huwa importanti li nagħżlu database konvenjenti.
Jekk id-dejta taqbel sew fuq skema fissa, tista 'tagħżel clickhouse jew xi database kolonna oħra. Allura l-aggregazzjonijiet se jaħdmu malajr ħafna. L-iżvantaġġ huwa li l-iskema hija fissa b'mod riġidu u għalhekk mhux se taħdem biex iżżid oġġetti arbitrarji mingħajr irfinar (per eżempju, meta jseħħ avveniment mhux standard). Iżda jista 'jsir verament malajr.
Għal data mhux strutturata, tista' tieħu NoSQL, pereżempju, Apache cassandra. Hija taħdem fuq HDFS, tirreplika tajjeb, tista 'tqajjem ħafna każijiet, u hija tolleranti għall-ħsarat.
Tista' tqajjem xi ħaġa aktar sempliċi, pereżempju, MongoDB. Huwa pjuttost bil-mod anke għal volumi żgħar. Iżda l-vantaġġ huwa li huwa sempliċi ħafna u għalhekk adattat għall-bidu.
Sistemi analitiċi tas-server

4. Aggregazzjonijiet

Wara li salvajna bir-reqqa l-avvenimenti kollha, irridu niġbru l-informazzjoni importanti kollha mill-lott li ġie u naġġornaw id-database. Globalment, irridu dashboards u metriċi rilevanti. Per eżempju, minn avvenimenti biex jiġbru profil tal-utent u b'xi mod ikejjel l-imġieba. L-avvenimenti huma aggregati, miġbura, u salvati mill-ġdid (diġà fit-tabelli tal-utenti). Fl-istess ħin, huwa possibbli li tinbena sistema b'tali mod li filtru jkun konness ukoll mal-aggregatur ta 'koordinazzjoni: biex jiġbru utenti biss minn ċertu tip ta' avvenimenti.
Wara dan, jekk xi ħadd fit-tim jeħtieġ biss analiżi ta 'livell għoli, tista' tikkonnettja sistemi analitiċi esterni. Tista' terġa' tieħu Mixpanel. iżda peress li huwa pjuttost għoli, mhux l-avvenimenti kollha tal-utent jintbagħtu hemm, iżda biss dak li huwa meħtieġ. Biex nagħmlu dan, irridu noħolqu koordinatur li se jittrasferixxi xi avvenimenti mhux ipproċessati jew xi ħaġa li aħna stess aggregajna qabel għal sistemi esterni, APIs jew pjattaformi ta 'reklamar.
Sistemi analitiċi tas-server

5. Frontend

Għandek bżonn tgħaqqad il-frontend mas-sistema maħluqa. Eżempju tajjeb huwa s-servizz. redash, hija database GUI li tgħin biex jinbnew pannelli. Kif taħdem l-interazzjoni:

  1. L-utent jagħmel mistoqsija SQL.
  2. Bi tweġiba, huwa jirċievi sinjal.
  3. Joħloq 'viżwalizzazzjoni ġdida' għaliha u tikseb grafika sabiħa li diġà tista' ssalva lilek innifsek.

Viżwalizzazzjonijiet fis-servizz huma awto-aġġornament, tista 'tikkonfigura u ssegwi l-monitoraġġ tiegħek. Redash huwa b'xejn, fil-każ ta' self-hosted, iżda bħala SaaS se jiswa $ 50 fix-xahar.
Sistemi analitiċi tas-server

Konklużjoni

Wara li tlesti l-passi kollha ta 'hawn fuq, int se toħloq l-analiżi tan-naħa tas-server tiegħek. Jekk jogħġbok innota li dan mhux faċli daqs kemm tikkonnettja l-analiżi tal-klijenti, għax kollox jeħtieġ li jiġi kkonfigurat waħdek. Għalhekk, qabel ma toħloq is-sistema tiegħek, ta 'min iqabbel il-ħtieġa għal sistema analitika serja mar-riżorsi li inti lest li talloka lilha.
Jekk għamilt il-matematika kollha u sibt li l-ispejjeż huma għoljin wisq, fil-parti li jmiss se nitkellem dwar kif tagħmel verżjoni orħos ta 'back-end analytics.

Grazzi tal-qari! Inkun ferħan li nagħmel mistoqsijiet fil-kummenti.

Sors: www.habr.com

Żid kumment