Tere, Habr! Just nĂŒĂŒd on OTUS avatud uue kursuse ootenimekirjale . Kursuse alguse eel jĂ€tkame kasulike materjalide jagamist.

Andmete haldamine
Tugev andmete haldamine (Strong Data Governance) on Twitter Engineering'i pÔhialus. Kuna me rakendame BigQuery'd oma platvormil, keskendume andmete avastamisele, juurdepÀÀsu kontrollimisele, turvalisusele ja privaatsusele.
Andmete avastamise ja haldamise jaoks oleme laiendanud oma andmejuurdepÀÀsu taset (Data Access Layer â ), et pakkuda tööriistu nii kohalikule andmele kui ka Google Cloud'i andmetele, pakkudes meie kasutajatele ĂŒhtset liidest ja API-d. Kui Google liigub avalikustamise suunas, integreerime selle meie projektidesse, et pakkuda kasutajatele funktsioone, nagu veergude otsing.
BigQuery vÔimaldab andmeid kergesti jagada ja neile juurde pÀÀseda, kuid meil oli mingil mÀÀral seda kontrollida, et vÀltida andmete lekkeid. Muuhulgas valisime kaks funktsiooni:
- : beetaversioon, mis keelab kasutajatel jagada BigQuery andmekogusid kasutajatega, kes asuvad vÀljaspool Twitterit.
- : kontrollielement, mis takistab andmete lekkeid ja nÔuab, et kasutajad pÀÀseksid BigQuery'le juurde tuntud IP-aadresside vahemikest.
Selleks, et tagada turvalisus, oleme rakendanud autentimise, autoriseerimise ja auditi (AAA) nÔuded jÀrgmistel viisidel:
- Autentimine: oleme kasutanud GCP kasutajakontosid ad hoc pÀringute jaoks ja teenuste kontosid tööpÀringute jaoks.
- Autoriseerimine: oleme nÔudnud, et igal andmekogul oleks teenuse konto omanik ja lugejate grupp.
- Audit: oleme eksportinud BigQuery logide ajakava, mis sisaldas ĂŒksikasjalikku teavet pĂ€ringute tĂ€itmise kohta, BigQuery andmekogusse analĂŒĂŒsi mugavuse huvides.
Kasutajate isikliku andmete nĂ”uetekohase töötlemise tagamiseks peame registreerima kĂ”ik BigQuery andmekogud, annotaatorima isiklikud andmed, tagama nĂ”uetekohase sĂ€ilitamise ja kustutama (ĂŒheksasama) andmed, mis on kasutajate poolt kustutatud.
Olemitasime Google , mis kasutab masinÔpet konfidentsiaalsete andmete klassifitseerimiseks ja redigeerimiseks, kuid otsustasime andmekogumi kÀsitsi annotatsiooni kasuks tÀpsuse tÔttu. Kavatseme kasutada Andmekao Ennetamise API-d, et tÀiendada kasutaja annotatsiooni.
Twitteris oleme loonud neli konfidentsiaalsuse kategooriat BigQuery andmekogude jaoks, loetletud siin tundlikkuse vÀhenemise jÀrjekorras:
- KÔrge tundlikkusega andmekogud on vajalikul juhul saadaval vÀhimate privileegide pÔhimÔttel. Igal andmekogul on eraldi lugejate grupp, ja me jÀlgime individuaalsete kontode kasutamist.
- Keskmise tundlikkusega andmekogud (ĂŒhekordsed pseudonĂŒĂŒmid soolatud rĂ€si kasutades) ei sisalda isikuandmeid (Personally Identifiable Information â PII) ja on saadaval suuremale töötajate rĂŒhmale. See on hea tasakaal konfidentsiaalsuse ja andmete kasutusvĂ”imaluste vahel. See vĂ”imaldab töötajatel teostada analĂŒĂŒsiĂŒlesandeid, nĂ€iteks arvutada, mitu kasutajat on funktsiooni kasutanud, teadmata, kes on tegelikud kasutajad.
- Madala tundlikkusega andmekogud sisaldavad kogu identifitseerivat teavet. See on hea lĂ€henemine konfidentsiaalsuse seisukohalt, kuid seda ei saa kasutada kasutaja tasemel analĂŒĂŒsimiseks.
- Avalikud andmekogud (vÀlja antud Twitteri vÀliselt) on kÔigile Twitteri töötajatele kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti kergesti
Registreerimise osas kasutasime plaanitud ĂŒlesandeid BigQuery andmekogude loetlemiseks ja nende registreerimiseks AndmejuurdepÀÀsu tasemele (), Twitteri metainfode riiul. Kasutajad annotatsioonmisevad andmekogudele konfidentsiaalsuse teavet ning mÀÀravad sĂ€ilitamise tĂ€htaja. Andmete puhastamise osas hindame kahe variandi jĂ”udlust ja kulusid: 1. Andmekogude puhastamine GCS-is selliste tööriistade nagu Scalding abil ja nende laadimine BigQuery-sse; 2. BigQuery DML operaatorite kasutamine. TĂ”enĂ€oliselt kasutame mĂ”lema meetodi kombinatsiooni erinevate rĂŒhmade ja andmete nĂ”uete rahuldamiseks.
SĂŒsteemi funktsionaalsus
Kuna BigQuery on hallatav teenus, polnud vaja Twitteri SRE meeskonda sĂŒsteemide haldamise vĂ”i töövahetuste tĂ€itmisega seotud ĂŒlesannete jaoks kaasata. Suure salvestus- ja arvutusvĂ”imekuse tagamine oli lihtne. Saime slotide reserveerimist muuta, luues Google'i tugipileteid. Oleme tuvastanud, et teatud valdkondi, nagu slotide jaotamise eneseabi ning jĂ€relevalve tööriista tĂ€iustamine, vĂ”iks parandada ja edastasime need ettepanekud Google'ile.
Hind
Meie esialgne analĂŒĂŒs nĂ€itas, et pĂ€ringute maksumus BigQuery ja Presto osas oli samal tasemel. Me soetasime slotid hinna eest, et tagada stabiilne igakuine kulu, selle asemel, et maksta processed data per TB. See otsus pĂ”hines ka kasutajate tagasisidel, kes ei soovinud igat pĂ€ringu sooritamise eel mĂ”elda kuludele.
Andmete salvestamine BigQuery'sse tĂ”i kaasa kulud GCS-i kuludele. Sellised tööriistad nagu Scalding nĂ”uavad andmekogusid GCS-is ja BigQuery juurde pÀÀsemiseks pidime laadima need samad andmekogud BigQuery formaati . Me töötame selle nimel, et ĂŒhendada Scalding BigQuery andmekogudega, mis kĂ”rvaldab vajaduse andmekogude salvestamiseks nii GCS-is kui ka BigQuery's.
Harvadel juhtudel, mis nĂ”udsid harvade pĂ€ringute tegemist kĂŒmnete petabaitide ulatuses, leidsime, et andmekogude salvestamine BigQuery'sse ei ole majanduslikult mĂ”ttekas ning kasutasime Presto't, et pÀÀseda andmekogudele GCS-is. Selleks uurime BigQuery vĂ€liseid andmeallikaid.
JĂ€rgmised sammud
Oleme mĂ€rganud suurt huvi BigQuery vastu alates alfa vĂ€ljaandmisest. Me lisanud rohkem andmekogusid ja rohkem meeskondi BigQuery'sse. Töötame andmeanalĂŒĂŒsi tööriistade konnektorite vĂ€ljatöötamise nimel, nagu Scalding, et lugeda ja kirjutada BigQuery salvestusse. Me vaatame selliseid tööriistu nagu Looker ja Apache Zeppelin, et luua Ă€riaruandeid BigQuery andmekogude baasilt.
Koostöö Google'iga on olnud vÀga viljakas ja oleme rÔÔmsad, et saame jÀtkata ja edendada seda partnerlust. Oleme töötanud koos Google'iga, et rakendada meie oma , et otseselt Google'ile pÀringuid saata. MÔned neist, nagu BigQuery Parquet'i laadija, on Google juba ellu viinud.
Siin on mÔned meie kÔrgeima prioriteediga funktsioonisoovid Google'i jaoks:
- Tööriistad mugavaks andmete vastuvÔtmiseks ja LZO-Thrift formaadi toetamine.
- TunnipÔhine segmentimine
- Parandused juurdepÀÀsuhalduse valdkonnas, nagu tabeli, rea ja veeru taseme Ôigused.
- BigQuery koos Hive Metastore'i integreerimise ja LZO-Thrift formaadi toetamisega.
- Parendatud andmekatalooge BigQuery kasutajaliideses
- Iseteenindus slotide jaotamiseks ja jÀlgimiseks.
KokkuvÔte
Andmete analĂŒĂŒsi, visualiseerimise ja masinĂ”ppe demokratiseerimine ohutult on Data Platformi meeskonna kĂ”rgeim prioriteet. Oleme mÀÀratlenud Google BigQuery ja Data Studio tööriistad, mis vĂ”ivad aidata selle eesmĂ€rgi saavutamisel, ja vĂ€lja andnud eelmisel aastal BigQuery Alpha kogu ettevĂ”ttele.
Oleme leidnud, et pĂ€ringud BigQuery-s olid lihtsad ja tĂ”husad. Andmete vastuvĂ”tmiseks ja transformeerimiseks kasutasime Google'i tööriistu lihtsate torude jaoks, kuid keerukamate torude puhul pidime looma oma Airflow infrastruktuuri. BigQuery teenused autentimise, autoriseerimise ja auditi valdkonnas rahuldasid meie vajadusi. Metaandmete haldamiseks ja privaatsuse tagamiseks vajasime suurt paindlikkust ja pidime looma oma sĂŒsteemid. BigQuery, olles hallatav teenus, oli lihtne kasutada. PĂ€ringute kulud olid meie olemasolevate tööriistadega sarnased. Andmete salvestamine BigQuery-s tĂ”i kaasa lisakulud GCS-i kuludele.
KokkuvĂ”ttes töötab BigQuery hĂ€sti ĂŒldise SQL analĂŒĂŒsi jaoks. MĂ€rkame suurt huvi BigQuery vastu ning töötame selle nimel, et ĂŒle kanda rohkem andmehulkasid, kaasata rohkem meeskondi ja luua rohkem torusid BigQuery abil. Twitteris kasutatakse erinevaid andmeid, mille jaoks on vajalik selliste tööriistade nagu Scalding, Spark, Presto ja Druid kombinatsioon. Kavatseme jĂ€tkata oma andmeanalĂŒĂŒsi tööriistade arendamist ja anda oma kasutajatele selged soovitused, kuidas meie pakkumisi parimal viisil kasutada.
TÀnu sÔnad
Tahaksin tÀnada oma kaastöötajaid ja meeskonnakaaslasi, Anzhu Dja ja Willa Pascucci, nende suurepÀrase koostöö ja raske töö eest selle projekti kallal. Samuti tahaksin tÀnada insenere ja juhte mitmetest meeskondadest Twitteris ja Google'is, kes aitasid meid ja BigQuery kasutajaid Twitteris, pakkudes vÀÀrtuslikku tagasisidet.
Kui olete huvitatud nende ĂŒlesannete kallal töötamisest, tutvuge meie Data Platform meeskonnas.
Allikas: habr.com
