Si e demokratizoi BigQuery nga Google analizën e të dhënave. Pjesa 2

Përshëndetje, Habr! Tani për tani në OTUS është hapur një grup për një raund të ri të kursit. «Inxhiner i Të Dhënave». Në prag të nisjes së kursit vazhdojmë të ndajmë me ju materiale të dobishme.

Lexoni pjesën e parë

Si e demokratizoi BigQuery nga Google analizën e të dhënave. Pjesa 2

Menaxhimi i të dhënave

Menaxhimi i fortë i të dhënave (Strong Data Governance) është parimi kryesor i Twitter Engineering. Ndërsa po implementojmë BigQuery në platformën tonë, ne përqendrohemi në zbulimin e të dhënave, kontrollet e aksesit, sigurinë dhe privatësinë.

PĂ«r zbulimin dhe menaxhimin e tĂ« dhĂ«nave, ne zgjeruam nivelin tonĂ« tĂ« aksesit nĂ« tĂ« dhĂ«na (Data Access Layer — DAL), pĂ«r tĂ« ofruar mjete si pĂ«r tĂ« dhĂ«nat lokale ashtu edhe pĂ«r tĂ« dhĂ«nat e Google Cloud, duke siguruar njĂ« ndĂ«rfaqe tĂ« vetme dhe API pĂ«r pĂ«rdoruesit tanĂ«. NdĂ«rkohĂ« qĂ« Google Data Catalog shkon drejt publikimit, ne do ta pĂ«rfshijmĂ« atĂ« nĂ« projektet tona, pĂ«r t'u ofruar pĂ«rdoruesve funksionalitete si kĂ«rkimi sipas kolonave.

BigQuery lejon ndarjen dhe aksesin e lehtë në të dhëna, por na duhej të kontrollonim këtë deri në një farë niveli, për të parandaluar eksfiltrimin e të dhënave. Mes mjeteve të tjera, zgjodhëm dy funksionalitete:

  • Ndarja e kufizuar e domain-it: njĂ« funksion beta qĂ« ndalon pĂ«rdoruesit tĂ« ndajnĂ« grupe tĂ« dhĂ«nash BigQuery me pĂ«rdoruesit jashtĂ« Twitter.
  • Kontrollet e shĂ«rbimeve VPC: njĂ« element kontrolli qĂ« parandalon eksfiltrimin e tĂ« dhĂ«nave dhe kĂ«rkon qĂ« pĂ«rdoruesit tĂ« kenĂ« akses nĂ« BigQuery nga ranges IP tĂ« njohura.

Ne zbatuam kërkesat për autentifikim, autorizim dhe auditi (AAA) për të siguruar sigurinë si më poshtë:

  • Autentifikimi: pĂ«rdorĂ«m llogaritĂ« e pĂ«rdoruesve GCP pĂ«r kĂ«rkesa ad hoc dhe llogaritĂ« e shĂ«rbimeve pĂ«r kĂ«rkesa pune.
  • Autorizimi: kĂ«rkuam qĂ« çdo grup tĂ« dhĂ«nash tĂ« ketĂ« njĂ« llogari shĂ«rbimi pronari dhe njĂ« grup lexuesish.
  • Auditi: eksportuam regjistrat e stek-drivers BigQuery, tĂ« cilat pĂ«rmbanin informacion tĂ« detajuar pĂ«r ekzekutimin e kĂ«rkesave, nĂ« njĂ« grup tĂ« dhĂ«nash BigQuery pĂ«r lehtĂ«si analize.

Për të siguruar përpunimin e duhur të të dhënave personale të përdoruesve Twitter, ne duhet të regjistrojmë të gjitha grupet e dhënash BigQuery, të anotojmë të dhënat personale, të mbajmë ruajtjen e duhur dhe të fshijmë (pastrimin) të dhënat që janë fshirë nga përdoruesit.

Ne shqyrtuam Google Cloud Data Loss Prevention API, i cili përdor mësimin automatik për klasifikimin dhe redaktimin e të dhënave të ndjeshme, por vendosëm të favorizojmë anotimin manual të grupit të dhënash për shkak të saktësisë. Ne planifikojmë të përdorim Data Loss Prevention API për të plotësuar anotimin e përdoruesve.

Në Twitter kemi krijuar katër kategori privatësie për grupet e dhënash në BigQuery, të renditura këtu sipas ndjeshmërisë:

  • Grupet e dhĂ«nash me ndjeshmĂ«ri tĂ« lartĂ« janĂ« tĂ« disponueshme sipas nevojĂ«s sipas parimit tĂ« privilegjeve minimale. Çdo grup tĂ« dhĂ«nash ka njĂ« grup tĂ« veçantĂ« lexuesish dhe ne do tĂ« monitorojmĂ« pĂ«rdorimin e llogarive tĂ« veçanta.
  • Grupet e dhĂ«nash me ndjeshmĂ«ri tĂ« mesme (pseudonime njĂ«anĂ«sore duke pĂ«rdorur hashing tĂ« kriptuar) nuk pĂ«rmbajnĂ« informacion personal (Personally Identifiable Information — PII) dhe janĂ« tĂ« disponueshme pĂ«r njĂ« grup mĂ« tĂ« gjerĂ« punonjĂ«sish. Kjo ofron njĂ« balancĂ« tĂ« mirĂ« mes shqetĂ«simeve tĂ« privatĂ«sisĂ« dhe dobisĂ« sĂ« tĂ« dhĂ«nave. Kjo lejon punonjĂ«sit tĂ« kryejnĂ« detyra analitike, si numĂ«rimin e pĂ«rdoruesve qĂ« kanĂ« pĂ«rdorur funksionin, pa e ditur kush janĂ« pĂ«rdoruesit realĂ«.
  • Grupet e dhĂ«nash me ndjeshmĂ«ri tĂ« ulĂ«t pĂ«rmbajnĂ« tĂ« gjitha informacionet qĂ« identifikojnĂ« pĂ«rdoruesin. Kjo Ă«shtĂ« njĂ« qasje e mirĂ« nga pikĂ«pamja e privatĂ«sisĂ«, por nuk mund tĂ« pĂ«rdoret pĂ«r analiza nĂ« nivel pĂ«rdoruesi.
  • Grupet publike tĂ« dhĂ«nash (tĂ« lĂ«shuara jashtĂ« Twitter) janĂ« tĂ« disponueshme pĂ«r tĂ« gjithĂ« punonjĂ«sit e Twitter.

Sa i përket regjistrimit, ne përdorëm detyra të planifikuara për të listuar grupet e dhënash BigQuery dhe për t'i regjistruar ato në Data Access Layer (DAL), depozita e metadatatit të Twitter. Përdoruesit do të anotojnë grupet e dhënash me informacion në lidhje me privatësinë, si dhe do të specifikojnë kohën e ruajtjes. Sa i përket pastrimit, ne po vlerësojmë performancën dhe kostot e dy opsioneve: 1. Pastrimi i grupeve të dhënash në GCS duke përdorur mjete si Scalding, dhe ngarkimi i tyre në BigQuery; 2. Përdorimi i operacioneve BigQuery DML. Ne, me siguri, do të përdorim një kombinim të të dyja metodave për të përmbushur kërkesat e grupeve dhe të dhënave të ndryshme.

Funksionaliteti i sistemit

Duke, pasi që BigQuery është një shërbim i menaxhuar, nuk ishte e nevojshme të përfshiheshin ekipet SRE të Twitter në menaxhimin e sistemeve ose realizimin e detyrave të natës. Ishte e lehtë të sigurohej kapacitet i madh për ruajtje dhe llogaritje. Mund të ndryshonim rezervimin e slotëve duke krijuar bileta në mbështetje të Google. E zbuluam se kishte mundësi për përmirësim, si shembull vetë-shërbimi për shpërndarjen e slotëve dhe përmirësimi i tabelave për monitorimin, dhe ia kaluam këto kërkesa në Google.

Çmimi

Analiza jonë paraprake tregoi se kostot e kërkesave për BigQuery dhe Presto ishin në të njëjtin nivel. Kemi blerë slotë me çmim fiks , për të pasur një kosto të qëndrueshme mujore në vend që të paguanim për kërkesë për TB të dhënash të përpunuara. Kjo zgjidhje u bazua gjithashtu në shqetësimet e përdoruesve që nuk dëshironin të mendonin për kostot përpara se të bënin çdo kërkesë.

Ruajtja e të dhënave në BigQuery sjell shpenzime në përveç dhe kostot për GCS. Vegla si Scalding kërkojnë që grumbujt e të dhënave të jenë në GCS, dhe për t'u aksesuar me BigQuery duhej të ngarkohej të njëjtin grumbull të të dhënave në formatin BigQuery Capacitor. Ne po punojmë për të lidhur Scalding me grumbujt e të dhënave BigQuery, që do të eliminojë nevojën për të mbajtur grumbujt e të dhënave si në GCS ashtu edhe në BigQuery.

Për rastet e rralla që kërkonin kërkesa të pakta për dhjetëra petabayt, ne vendosëm se ruajtja e grumbujve të të dhënave në BigQuery nuk ishte e favorshme ekonomikisht dhe përdorëm Presto për qasje të drejtpërdrejt në grumbujt e të dhënave në GCS. Për këtë, ne po shqyrtojmë Burimet e të Dhënave të Jashtme BigQuery.

Hapat e ardhshëm

Ne kemi vënë re një interes të madh për BigQuery që nga lëshimi i alfa. Po shtojmë më shumë grumbuj të të dhënave dhe më shumë ekipe në BigQuery. Po zhvillojmë konektorë për veglat e analizës së të dhënave, si Scalding, për leximin dhe shkruarjen në depozitën BigQuery. Po shqyrtojmë vegla si Looker dhe Apache Zeppelin për të krijuar raporte korporate mbi cilësinë dhe shënime duke përdorur grumbujt e të dhënave BigQuery.

Bashkëpunimi me Google ka qenë shumë produktiv, dhe ne jemi të gëzuar të vazhdojmë dhe zhvillojmë këtë partneritet. Ne punuam me Google për të zbatuar Partner Issue Tracker, për të dërguar kërkesa drejtpërdrejt në Google. Disa prej tyre, si ngarkuesi BigQuery Parquet, janë tashmë implementuar nga Google.

Ja disa nga kërkesat tona të prioritetit të lartë për Google:

  • Vegla pĂ«r pranimin e tĂ« dhĂ«nave nĂ« mĂ«nyrĂ« tĂ« lehtĂ« dhe mbĂ«shtetje pĂ«r formatin LZO-Thrift.
  • Segmentimi me orĂ«
  • PĂ«rmirĂ«sime nĂ« kontrollin e aksesit, si lejet nĂ« nivel tabelash, rreshtash dhe kolonash.
  • BigQuery Burimet e tĂ« DhĂ«nave tĂ« Jashtme me integrimin dhe mbĂ«shtetje pĂ«r Hive Metastore pĂ«r formatin LZO-Thrift.
  • Integrimi i pĂ«rmirĂ«suar i katalogut tĂ« tĂ« dhĂ«nave nĂ« ndĂ«rfaqen e pĂ«rdoruesit BigQuery
  • VetĂ«-shĂ«rbimi pĂ«r shpĂ«rndarjen dhe monitorimin e slotĂ«ve.

Përfundimi

Demokratizimi i analizës së të dhënave, vizualizimit dhe mësimit të makinerisë në një mënyrë të sigurt është prioriteti më i lartë për ekipin e Platformës së Të Dhënave. Ne e kemi identifikuar Google BigQuery dhe Data Studio si vegla që mund të ndihmojnë në arritjen e këtij qëllimi, dhe kemi lëshuar vitin e kaluar BigQuery Alpha për të gjithë kompaninë.

Kemi zbuluar se kërkesat në BigQuery ishin të thjeshta dhe efikase. Për pranimin dhe transformimin e të dhënave kemi përdorur veglat e Google për konvikte të thjeshta, por për konvikte të ndërlikuara na duhej të ndërtoshim infrastrukturën tonë Airflow. Në fushën e menaxhimit të të dhënave, shërbimet BigQuery për autentifikim, autorizim dhe auditim përmbushin nevojat tona. Për menaxhimin e metadatos dhe respektimin e privatësisë, na nevojitej fleksibilitet më i madh dhe na duhej të krijonim sistemet tona. BigQuery, si një shërbim i menaxhuar, ishte i lehtë për tu operuar. Kostot për kërkesat ishin të ngjashme me veglat ekzistuese. Ruajtja e të dhënave në BigQuery solli shpenzime përveç kostove për GCS.

Në përgjithësi, BigQuery funksionon mirë për analizën e përgjithshme SQL. Vëmë re një interes të madh për BigQuery, dhe ne po punojmë për të transferuar më shumë grumbuj të të dhënave, angazhuar më shumë ekipe dhe ndërtuar më shumë konvikte me BigQuery. Në Twitter përdoren të dhëna të ndryshme, për të cilat do të duhej një kombinim i veglave si Scalding, Spark, Presto dhe Druid. Ne synojmë të vazhdojmë të rrisim veglat tona të analizës së të dhënave dhe t'u japim përdoruesve tanë rekomandime të qarta se si mund të shfrytëzojnë më së miri ofertat tona.

Fjalë falënderimi

Dëshiroj të falënderoj bashkëautorit dhe shokët e ekipit tim, Anju Dja dhe Will Pascucci, për bashkëpunimin e shkëlqyer dhe punën e tyre të madhe në këtë projekt. Gjithashtu, dua të falënderoj inxhinierët dhe menaxherët nga disa ekipe në Twitter dhe Google, të cilët na ndihmuan ne dhe përdoruesit e BigQuery në Twitter, duke ofruar komente të vlefshme.

Nëse jeni të interesuar për të punuar në këto detyra, shqyrtoni mundësitë tona të punës në ekipin e Data Platform.

CilĂ«sia e tĂ« dhĂ«nave nĂ« DWH — konsistenca e depozitĂ«s sĂ« tĂ« dhĂ«nave

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster