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

Përshëndetje, Habr! Aktualisht në OTUS është hapur regjistrimi për një grup të ri të kursit Inxhinier i të Dhënave. Para fillimin e kursit, vazhdojmë të ndajmë me ju materiale të dobishme.

Lexoni pjesën e parë

Si BigQuery nga Google demokratizoi 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, kontrollin e aksesit, sigurinë dhe privatësinë.

Për zbulimin dhe menaxhimin e të dhënave, ne kemi zgjeruar nivelin tonë të aksesit në të dhëna (Data Access Layer - DAL), në mënyrë që të ofrojmë mjete si për të dhënat lokale ashtu edhe për të dhënat në Google Cloud, duke ofruar një ndërfaqe të vetme dhe API për përdoruesit tanë. Ndërsa Google Data Catalog po shkon drejt këtë këndvështrim publik, ne do ta përfshijmë në projektet tona për të ofruar përdoruesve funksione si kërkimi për kolonat.

BigQuery lejon shkëmbimin dhe aksesin e lehtë të të dhënave, por na duhej të kishim një kontroll në një farë mase për të parandaluar ekzsfiltrimin e të dhënave. Ndër mjete të tjera, ne zgjodhëm dy funksione:

  • Nd partage tĂ« kufizuar nĂ« domen: njĂ« funksion beta qĂ« ndalon pĂ«rdoruesit tĂ« ndajnĂ« grupe tĂ« dhĂ«nash BigQuery me pĂ«rdoruesit jashtĂ« Twitter.
  • Kontrollet e shĂ«rbimit VPC: njĂ« mjet kontrolli qĂ« parandalon ekzsfiltrimin e tĂ« dhĂ«nave dhe kĂ«rkon qĂ« pĂ«rdoruesit tĂ« kenĂ« akses nĂ« BigQuery nga gamat e njohura tĂ« adresave IP.

Kemi implementuar kërkesat për autentikim, autorizim dhe auditim (AAA) për të siguruar sigurinë në këtë mënyrë:

  • Autentikimi: ne pĂ«rdorĂ«m llogaritĂ« e pĂ«rdoruesve GCP pĂ«r kĂ«rkesa ad hoc dhe llogaritĂ« shĂ«rbimi pĂ«r kĂ«rkesat e punĂ«s.
  • Autorizimi: kĂ«rkuam qĂ« çdo grup tĂ« dhĂ«nash tĂ« kishte njĂ« llogari shĂ«rbimi pronari dhe njĂ« grup lexuesish.
  • Auditimi: ne eksportuam logjet e shĂ«rbimit BigQuery, tĂ« cilat pĂ«rmbanin informacione tĂ« detajuara mbi ekzekutimin e kĂ«rkesave, nĂ« grupin e tĂ« dhĂ«nave tĂ« BigQuery pĂ«r lehtĂ«simin e analizĂ«s.

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

Ne shqyrtuam Google Cloud Data Loss Prevention API, e cila përdor mësimin e makinës për klasifikimin dhe redaktimin e të dhënave të ndjeshme, por morëm vendim për annotimin manual të grupit të të dhënave për shkak të saktësisë. Ne planifikojmë të përdorim API-në e Parandalimit të Humbjes së Të Dhënave për të plotësuar annotimin e përdoruesve.

Në Twitter kemi krijuar katër kategori privatësie për grupe të dhënash në BigQuery, të listuara këtu në rend të zbritës së ndjeshmërisë:

  • Grupet e tĂ« dhĂ«nave me ndjeshmĂ«ri tĂ« lartĂ« janĂ« tĂ« arritshme sipas nevojĂ«s mbi parimin e privilegjeve mĂ« tĂ« vogla. Secili grup tĂ« dhĂ«nash ka njĂ« grup lexuesish tĂ« veçantĂ«, dhe ne do tĂ« monitorojmĂ« pĂ«rdorimin e llogarive tĂ« veçanta.
  • Grupet e tĂ« dhĂ«nave me ndjeshmĂ«ri mesatare (pseudonime unidirezionale me hashing tĂ« kriptuar) nuk pĂ«rmbajnĂ« informacion personal (Informacion Personal Identifikues — PII) dhe janĂ« tĂ« arritshme pĂ«r njĂ« grup mĂ« tĂ« madh punonjĂ«sish. Kjo Ă«shtĂ« njĂ« balancĂ« e mirĂ« midis shqetĂ«simeve tĂ« privatĂ«sisĂ« dhe pĂ«rdorshmĂ«risĂ« sĂ« tĂ« dhĂ«nave. Kjo lejon punonjĂ«sit tĂ« kryejnĂ« analiza, siç Ă«shtĂ« numĂ«rimi i pĂ«rdoruesve qĂ« kanĂ« pĂ«rdorur funksionalitetin, pa ditur kush janĂ« pĂ«rdoruesit e vĂ«rtetĂ«.
  • Grupet e tĂ« dhĂ«nave me ndjeshmĂ«ri tĂ« ulĂ«t pĂ«rmbajnĂ« tĂ« gjithĂ« informacionin qĂ« identifikon pĂ«rdoruesin. Kjo Ă«shtĂ« njĂ« qasje e mirĂ« nĂ« aspektin e privatĂ«sisĂ«, por nuk mund tĂ« pĂ«rdoret pĂ«r analiza nĂ« nivelin e pĂ«rdoruesit.
  • Grupet e tĂ« dhĂ«nave publike (tĂ« lĂ«shuara jashtĂ« Twitter) janĂ« tĂ« arritshme 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 të dhënave BigQuery dhe për t'i regjistruar ato në Shtresën e Qasjes së Të Dhënave (DAL), depoja e të dhënave të Twitter. Përdoruesit do të annotojnë grupet e të dhënave me informacion mbi privatësinë, si dhe do të specifikojnë periudhën e ruajtjes. Sa i përket pastrimit, ne po vlerësojmë performancën dhe koston e dy opsioneve: 1. Pastrimi i grupeve të të dhënave në GCS duke përdorur mjete si Scalding dhe ngarkimi i tyre në BigQuery; 2. Përdorimi i operatorëve DML të BigQuery. Probabilisht do të përdorim një kombinim të të dyjave për të përmbushur kërkesat e grupeve të ndryshme dhe të dhënave.

Funksionaliteti i sistemit

Duke qenë se BigQuery është një shërbim i menaxhuar, nuk ishte e nevojshme të angazhoheshin ekipet SRE të Twitter në menaxhimin e sistemeve ose në kryerjen e detyrave të shërbimit. Ishte lehtë të ofronim kapacitet të madh si për ruajtjen ashtu edhe për llogaritjen. Ne mund të ndryshonim rezervimin e slotëve duke krijuar bileta në mbështetje të Google. E identifikuam se duhej përmirësuar, për shembull, vetë-shërbimi për shpërndarjen e slotëve dhe përmirësimi i panelit për monitorimin dhe i dërguam 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. Ne blejmë slotë me çmim fiks për të pasur një kostos së stabilizuar mujor në vend që të paguanim në kërkesë për TB të dhënash të përpunuara. Ky vendim gjithashtu bazohej në feedback-un e përdoruesve, të cilët nuk dëshironin të mendonin për kostot para se të kryenin çdo kërkesë.

Ruajtja e të dhënave në BigQuery solli shpenzime përveç kostove për GCS. Vegla të tilla si Scalding kërkojnë që setet e dhënave të jenë në GCS, dhe për të pasur qasje në BigQuery, na duhej të ngarkonim të njëjtat sete të dhënash në formatin BigQuery Capacitor. Ne po punojmë mbi lidhjen e Scalding me setet e dhënave BigQuery, e cila do të eliminojë nevojën për të ruajtur setet e dhënash si në GCS ashtu edhe në BigQuery.

Për raste të rralla që kërkonin kërkesa të pakta për dhjetëra petabyte, ne vendosëm se ruajtja e seteve të dhënave në BigQuery nuk ishte ekonomikisht e efektshme dhe përdorëm Presto për qasje direkte në setet e dhënave në GCS. Për këtë, ne jemi duke shqyrtuar Burimet e Dhënave të Jashtme të BigQuery.

Hapat e ardhshëm

Ne kemi vënë re një interes të madh për BigQuery që nga lëshimi i alafës. Ne po shtojmë më shumë sete të dhënash dhe më shumë ekipe në BigQuery. Ne po zhvillojmë lidhës për veglat e analizës së të dhënave, siç është Scalding, për të lexuar dhe shkruar në depo BigQuery. Ne po shqyrtojmë vegla si Looker dhe Apache Zeppelin për të krijuar raporte korporatash mbi cilësinë dhe shënime duke përdorur sete të dhënash BigQuery.

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

Këtu janë disa nga kërkesat tona më prioritare për veçori për Google:

  • Mjetet pĂ«r pranim tĂ« dhĂ«nash tĂ« lehtĂ« dhe mbĂ«shtetje pĂ«r formatin LZO-Thrift.
  • Segmentimi me orĂ«
  • PĂ«rmirĂ«sime nĂ« fushĂ«n e kontrollit tĂ« aksesit, si lejet nĂ« nivel tabela, rreshti dhe kolona.
  • BigQuery Burimet e tĂ« DhĂ«nave tĂ« Jashtme me integrim dhe mbĂ«shtetje pĂ«r Hive Metastore pĂ«r formatin LZO-Thrift.
  • Integrim i pĂ«rmirĂ«suar i katalogut tĂ« tĂ« dhĂ«nave nĂ« ndĂ«rfaqen BigQuery
  • ShĂ«rbime vetĂ«-shĂ«rbimi pĂ«r shpĂ«rndarjen dhe monitorimin e hapĂ«sirave.

Përfundim

Demokratizimi i analizës së të dhënave, vizualizimeve 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 kemi identifikuar Google BigQuery dhe Data Studio si mjete që mund të ndihmojnë në arritjen e kësaj qellimi dhe lançuam vitin e kaluar BigQuery Alpha për të gjithë kompaninë.

Kemi zbuluar se kërkesat në BigQuery ishin të thjeshta dhe efikase. Për pranim dhe përpunim të dhënash kemi përdorur mjete nga Google për linja të thjeshta, por për linja më komplekse na duhej të ndihmonim infrastrukturën tonë Airflow. Në fushën e menaxhimit të të dhënave, shërbimet e BigQuery për autentikimin, autorizimin dhe auditimin plotësojnë nevojat tona. Për menaxhimin e metadata dhe ndershmërinë na dëshirohej fleksibilitet i madh dhe na duhej të krijonim sisteme tona. BigQuery, duke qenë shërbim i menaxhuar, ishte i lehtë për t'u operuar. Kostot e kërkesave ishin të ngjashme me mjetet ekzistuese. Ruajtja e të dhënave në BigQuery kishte shpenzime përveç kostove për GCS.

Përgjithësisht, BigQuery funksionon mirë për analizën e përgjithshme SQL. Ne vërejmë interes të madh për BigQuery dhe po punojmë për të transferuar më shumë grupe të dhënash, për të angazhuar më shumë ekipe dhe për të krijuar më shumë linja me BigQuery. Në Twitter përdoren të dhëna të ndryshme, për të cilat do të nevojiten një kombinim i mjeteve si Scalding, Spark, Presto dhe Druid. Ne synojmë të vazhdojmë të rrisim mjetet tona të analizës së të dhënave dhe të ofrojmë rekomandime të qarta për përdoruesit tanë se si të shfrytëzojnë më së miri ofertat tona.

Fjalë falënderimi

Dëshiroj të falënderoj bashkëautorin tim dhe shokët e ekipit, Anju Dja dhe Will Pascucci, për bashkëpunimin e tyre të shkëlqyer dhe punën e rëndësishme 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 dhe përdoruesve të BigQuery në Twitter, duke ofruar feedback të vlefshëm.

Nëse jeni të interesuar të punoni në këto detyra, shikoni vakancat në ekipin Data Platform.

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

Burimi: habr.com

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