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

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 â ), 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 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:
- : një funksion beta që ndalon përdoruesit të ndajnë grupe të dhënash BigQuery me përdoruesit jashtë Twitter.
- : 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 , 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 (), 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 , për të pasur një kosto të qëndrueshme mujore në vend që të paguanim 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 . 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 , 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 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 në ekipin e Data Platform.
Burimi: habr.com
