Kuidas Google'i BigQuery demokratiseerib andmeanalüüsi. Osa 2

Tere, Habr! Praegu on OTUSis avatud uus kursusegrupp. „Andmeinsener“. Kursuse alguse eel jätkame teiega kasuliku materjali jagamist.

Loe esimest osa

Kuidas Google'i BigQuery demokratiseerib andmeanalüüsi. Osa 2

Andmete haldamine

Tugev andmehaldus (Strong Data Governance) on Twitter Engineering'i põhipõhimõte. Kuna me rakendame BigQuery'd meie platvormil, keskendume andmete avastamisele, juurdepääsu kontrollimisele, turvalisusele ja privaatsusele.

Andmete avastamiseks ja haldamiseks oleme laiendanud meie andmete juurdepääsu taset (Data Access Layer — DAL), et pakkuda vahendeid nii kohalikele andmetele kui ka Google Cloud'i andmetele, andes meie kasutajatele ühtse liidese ja API. Kui Google Data Catalog liigub avatusse, integreerime selle meie projektidesse, et pakkuda kasutajatele selliseid funktsioone nagu veergude otsing.

BigQuery võimaldab andmeid hõlpsasti jagada ja neile juurde pääseda, kuid me pidime seda mingil määral kontrollima, et vältida andmete eksfiltreerimist. Muude tööriistade seas valisime kaks funktsiooni:

  • Domeeniga piiratud jagamine: beetafunktsioon, mis keelab kasutajatel jagada BigQuery andmestikke kasutajatega väljaspool Twitterit.
  • VPC teenuse kontrollid: juhtseade, mis takistab andmete väljavoolu ja nõuab kasutajatelt juurdepääsu BigQuery'le tuntud IP-aadresside vahemikest.

Me rakendasime autentimise, autoriseerimise ja auditite (AAA) nõudeid turvalisuse tagamiseks järgmiselt:

  • Autentimine: kasutasime GCP kasutajakontosid ad hoc päringute jaoks ning teenusekontosid tööhõive päringute jaoks.
  • Autoriseerimine: nõudsime, et igal andmestikul oleks teenusekonto omanik ja lugemisgrupp.
  • Audit: eksportisime BigQuery steki logid, mis sisaldasid üksikasjalikku teavet päringute täitmise kohta, BigQuery andmestikku edasisteks analüüsideks.

Kasutajate Twitteri isikuandmete nõuetekohase töötlemise tagamiseks peame registreerima kõik BigQuery andmestikud, annotatsioonima isikuandmed, tagama nõuetekohase säilitamise ja kustutama (puhastama) andmed, mida kasutajad on kustutanud.

Kaalusime Google Cloud Data Loss Prevention API, mis kasutab masinõpet konfidentsiaalsete andmete klassifitseerimiseks ja redigeerimiseks, kuid otsustasime andmekogumi täiendava annotatsiooni kasuks täpsuse nimel. Plaanime kasutada Data Loss Prevention API-d, et täiendada kasutajate annotatsiooni.

Twitteris oleme loonud neli konfidentsiaalsuse kategooriat BigQuery andmekogude jaoks, mille loetleme siin tundlikkuse vähenemise järjekorras:

  • Üksikute konfidentsiaalsete andmekogude juurdepääs on saadaval vastavalt vajadusele vähimate privileegide põhimõtte alusel. Igal andmekogul on eraldi lugemise grupp ja jälgime individuaalsete kontode kasutamist.
  • Keskmise tundlikkusega andmekogud (ühekordsed pseudonüümid soolatud hajutamisega) ei sisalda isikuandmeid (Personally Identifiable Information — PII) ning on kergesti ligipääsetavad suuremale töötajate grupile. See on hea tasakaal privaatsuse ja andmete kasulikkuse vahel. See võimaldab töötajatel teostada analüüsülesandeid, nagu kasutajate arvu arvutamine, teadmata, kes on tegelikud kasutajad.
  • Madala tundlikkusega andmekogud sisaldavad kõik kasutajat tuvastavad andmed. See on hea lähenemine privaatsuse aspektist, kuid seda ei saa kasutada kasutajatasemel analüüsiks.
  • Avalikud andmekogud (välja antud väljaspool Twitterit) on kõigile Twitteri töötajatele kergesti kätte saadavad.

Registri osas kasutasime ajastatud ülesandeid BigQuery andmekogude loetlemiseks ja nende registreerimiseks Data Access Layeris (DAL), Twitteri metaandmete salvestamine. Kasutajad lisavad andmekogudele teavet privaatsuse kohta ja määravad säilitamise aja. Andmekogude puhastamise osas hindame kahte varianti, sealhulgas selle sooritust ja hinda: 1. Andmekogude puhastamine GCS-is selliste tööriistadega nagu Scalding ja nende laadimine BigQuery-sse; 2. BigQuery DML käskude kasutamine. Me tõenäoliselt kasutame mõlema meetodi kombinatsiooni erinevate gruppide ja andmete nõuete rahuldamiseks.

Süsteemi funktsionaalsus

Kuna BigQuery on hallatav teenus, ei olnud vajalik Twitteri SRE meeskonna kaasamine süsteemide haldamisse või ööpäevaringsetesse kohustustesse. Suure salvestus- ja arvutusvõimekuse tagamine oli kerge. Me saime muuta slotide broneeringut, luues Google’i tugiteenuses tikette. Me määratlesime võimalikud parandused, näiteks iseteenindus slotide jagamiseks ja paremad juhtpaneelid jälgimiseks, ja edastasime need päringud Google'ile.

Hind

Meie esialgne analüüs näitas, et BigQuery ja Presto päringute kulud olid samal tasemel. Me soetasime slotid fikseeritud hinnale, et tagada stabiilne igakuine kulu, mitte maksta nõudmisel TB andmete töötlemise eest. See lahendus põhines ka kasutajate tagasisidel, kes ei soovinud mõelda kuludele iga päringu täitmise eel.

Andmete salvestamine BigQuery-s tõi kaasa kulud lisaks GCS-i kuludele. Tooted nagu Scalding nõuavad andmehulkade olemasolu GCS-is, ja BigQuery-le ligipääsemiseks pidime samad andmehulgad BigQuery formaati laadima. Capacitor. Töötame välja ühenduse Scaldingu ja BigQuery andmehulkade vahel, mis kõrvaldab vajaduse andmehulkade säilitamiseks nii GCS-is kui ka BigQuery-s.

Harvadel juhtudel, kus oli vaja harva päringute tegemist kümnete petabaitide ulatuses, otsustasime, et andmehulkade hoidmine BigQuery-s ei ole majanduslikult tasuv, ja kasutasime Presto otse GCS-i andmehulkadele ligipääsemiseks. Selleks uurime BigQuery väliseid andmeallikaid.

Järgmised sammud

Oleme märganud suurt huvi BigQuery vastu alates alfa versiooni vabastamisest. Lisame BigQuerysse rohkem andmekogusid ja rohkem meeskondi. Töötame andmeanalüüsitööriistade, nagu Scalding, ühenduste kallal, et lugeda ja kirjutada BigQuery salvestusse. Kaaluame selliseid tööriistu nagu Looker ja Apache Zeppelin, et koostada ettevõtte aruandeid kvaliteedi ja märkmete kohta, kasutades BigQuery andmekogusid.

Koostöö Google'iga on olnud väga tulemuslik ning me oleme rõõmsad, et saame jätkata ja arendada seda partnerlust. Oleme töötanud Google'iga, et rakendada oma Partner Issue Tracker, et saata päringud Google'ile otse. Mõned neist, nagu BigQuery Parquet laadija, on Google juba ellu viinud.

Siin on mõned meie kõrge prioriteediga funktsioonipäringud Google'ile:

  • Tööriistad andmete mugavaks vastuvõtmiseks ja LZO-Thrift formaadi toe pakkumine.
  • Tunnipõhine segmentimine
  • Parandused juurdepääsu kontrolli valdkonnas, nagu tabeli-, rea- ja veergude tasemel load.
  • BigQuery External Data Sources Hive Metastore'i integreerimise ja toe pakkumisega LZO-Thrift formaadi jaoks.
  • Parandatud andmekatalooge integreerimine BigQuery kasutajaliidesesse.
  • Iseteenuste pakettide ja protokollide haldamiseks.

Kokkuvõte

Andmete analüüsi, visualiseerimise ja masinõppe demokratiseerimine ohutusviisil on Data Platformi meeskonna peamine prioriteet. Oleme määratlenud Google BigQuery ja Data Studio kui tööriistad, mis aitavad selle eesmärgi saavutamisel, ja vabastasime eelmisel aastal BigQuery Alpha kogu ettevõtte jaoks.

Oleme leidnud, et päringud BigQuery's olid lihtsad ja tõhusad. Andmete vastuvõtmiseks ja töötlemiseks kasutasime Google'i tööriistu lihtsate voogude jaoks, kuid keerukamate voogude jaoks pidime looma oma Airflow infrastruktuuri. Andmanageerimise osas rahuldavad BigQuery teenused autentimise, autoriseerimise ja auditeerimise meie vajadusi. Metaandmete ja privaatsuse tagamiseks vajasime suurt paindlikkust ja pidime looma oma süsteemid. BigQuery, olles hallatav teenus, oli lihtne kasutada. Päringute kulud olid sarnased olemasolevate tööriistadega. Andmete salvestamine BigQuery'sse tõi kaasa kulud, mis lisandusid GCS-i kuludele.

Kokkuvõttes töötab BigQuery hästi üldiseks SQL-i analüüsiks. Oleme märganud suurt huvi BigQuery vastu ning töötame rohkemate andmekogumite üleviimise, rohkemate meeskondade kaasamise ja rohkemate BigQuery-põhiste töövoogude loomise nimel. Twitteris kasutatakse erinevaid andmeid, mille jaoks on vajalik selliste tööriistade kombinatsioon nagu Scalding, Spark, Presto ja Druid. Kavatseme jätkata meie andmeanalüüsi tööriistade arendamist ja anda oma kasutajatele selgeid soovitusi selle kohta, kuidas meie pakkumisi kõige paremini kasutada.

Tänusõnad

Soovin tänada oma kaasautoreid ja meeskonnakaaslasi, Anju Dja ja Will Pascucci, nende suurepärase koostöö ja raske töö eest selle projekti kallal. Soovin samuti tänada mitmete meeskondade insenere ja juhte Twitteris ja Googles, kes aitavad meid ja Twitteri BigQuery kasutajaid, pakkudes väärtuslikku tagasisidet.

Kui olete huvitatud nende ülesannete kallal töötamisest, tutvuge meiega tööpakkumistega Data Platformi meeskonnas.

DWH andmekvaliteet - andmehoidla konsistents

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster