Kuidas Google'i BigQuery andmeanalüüsi demokratiseeris. 2. osa

Tere, Habr! Uute kursuste voogu registreerimine on OTUS-es praegu avatud Andmeinsener. Kursuse alguse ootuses jätkame teiega kasuliku materjali jagamist.

Lugege esimest osa

Kuidas Google'i BigQuery andmeanalüüsi demokratiseeris. 2. osa

Andmehaldus

Tugev andmehaldus on Twitteri inseneri põhiprintsiip. BigQuery juurutamisel oma platvormile keskendume andmete leidmisele, juurdepääsu kontrollile, turvalisusele ja privaatsusele.

Andmete avastamiseks ja haldamiseks oleme laiendanud oma andmete juurdepääsukihti DAL), et pakkuda tööriistu nii kohapealsete kui ka Google Cloudi andmete jaoks, pakkudes meie kasutajatele ühtset liidest ja API-d. Nagu Google Andmekataloog liigub üldise kättesaadavuse poole, lisame selle oma projektidesse, et pakkuda kasutajatele selliseid funktsioone nagu veeruotsing.

BigQuery muudab andmete jagamise ja neile juurdepääsu lihtsaks, kuid andmete väljafiltreerimise vältimiseks pidime selle üle teatud kontrolli omama. Muude tööriistade hulgast valisime kaks funktsiooni:

  • Domeeniga piiratud jagamine: beetafunktsioon, mis takistab kasutajatel BigQuery andmekogumeid jagamast kasutajatega väljaspool Twitterit.
  • VPC teenuse juhtelemendid: juhtelement, mis takistab andmete väljafiltreerimist ja nõuab kasutajatelt juurdepääsu BigQueryle teadaolevatest IP-aadressi vahemikest.

Oleme turvalisuse tagamiseks rakendanud autentimise, autoriseerimise ja auditeerimise (AAA) nõuded järgmiselt.

  • Autentimine: kasutasime ad hoc päringute jaoks GCP kasutajakontosid ja tootmispäringute jaoks teenusekontosid.
  • Autoriseerimine: nõudsime, et igal andmekogumil oleks omaniku teenuse konto ja lugejarühm.
  • Auditeerimine: eksportisime hõlpsaks analüüsimiseks BigQuery virnadraiveri logid, mis sisaldasid üksikasjalikku päringu käitamise teavet.

Twitteri kasutajate isikuandmete nõuetekohase käitlemise tagamiseks peame registreerima kõik BigQuery andmestikud, märkima isikuandmeid, säilitama nõuetekohase salvestusruumi ja kustutama (kraapima) kasutajate poolt kustutatud andmed.

Vaatasime Google'i Cloud Data Loss Prevention API, mis kasutab tundlike andmete klassifitseerimiseks ja muutmiseks masinõpet, kuid otsustas täpsuse tõttu andmestiku käsitsi märkuste tegemise kasuks. Kavatseme kohandatud märkuste täiendamiseks kasutada andmekao vältimise API-d.

Oleme Twitteris loonud BigQuery andmekogude jaoks neli privaatsuskategooriat, mis on siin loetletud tundlikkuse kahanevas järjekorras.

  • Väga tundlikud andmekogumid tehakse vastavalt vajadusele kättesaadavaks vähimate privileegide põhimõttel. Igal andmekogumil on eraldi lugejate rühm ja me jälgime kasutamist üksikute kontode kaupa.
  • Keskmise tundlikkusega andmestikud (ühesuunalised pseudonüümid, mis kasutavad soolatud räsimist) ei sisalda isikut tuvastavat teavet (PII) ja on kättesaadavad suuremale töötajate rühmale. See on hea tasakaal privaatsusprobleemide ja andmeutiliidi vahel. See võimaldab töötajatel teha analüüsiülesandeid, näiteks arvutada funktsiooni kasutanud kasutajate arvu, teadmata, kes on tegelikud kasutajad.
  • Madala tundlikkusega andmekogumid kogu kasutajat tuvastava teabega. See on privaatsuse seisukohast hea lähenemisviis, kuid seda ei saa kasutada kasutajataseme analüüsiks.
  • Avalikud andmestikud (väljaspool Twitterit) on saadaval kõigile Twitteri töötajatele.

Mis puutub logimisse, siis kasutasime BigQuery andmestike loetlemiseks ja andmete juurdepääsukihis registreerimiseks ajastatud ülesandeid (DAL), Twitteri metaandmete hoidla. Kasutajad märgivad andmekogudele privaatsusteabe ja määravad ka säilitusperioodi. Mis puutub puhastamisse, siis hindame kahe võimaluse toimivust ja maksumust: 1. GCS-i andmestike puhastamine selliste tööriistade abil nagu Scalding ja nende laadimine BigQuerysse; 2. BigQuery DML-lausete kasutamine. Tõenäoliselt kasutame erinevate rühmade ja andmete nõuete täitmiseks mõlema meetodi kombinatsiooni.

Süsteemi funktsionaalsus

Kuna BigQuery on hallatav teenus, ei olnud vaja Twitteri SRE-meeskonda süsteemihaldusse ega töölauaülesannetesse kaasata. Nii salvestusruumi kui ka arvutite jaoks oli lihtne pakkuda rohkem mahtu. Võiksime teenindusaegade broneeringut muuta, luues Google'i toega pileti. Tuvastasime valdkonnad, mida saaks parandada, nagu iseteenindusega teenindusaegade jaotamine ja armatuurlaua täiustused jälgimiseks, ning esitasime need taotlused Google'ile.

Maksma

Meie esialgne analüüs näitas, et BigQuery ja Presto päringukulud olid samal tasemel. Ostsime teenindusajad fikseeritud hind, et makse asemel oleks stabiilne igakuine kulu nõudmisel TB töödeldud andmete kohta. See otsus põhines ka tagasisidel kasutajatelt, kes ei soovinud enne iga päringu tegemist kulude peale mõelda.

Andmete salvestamine BigQuerysse tõi lisaks GCS-i kuludele ka kulusid. Sellised tööriistad nagu Scalding nõuavad GCS-is andmekogumeid ja BigQueryle juurdepääsuks pidime laadima samad andmekogumid BigQuery vormingusse Capacitor. Töötame BigQuery andmekogumitega scalding-ühenduse kallal, mis välistab vajaduse salvestada andmekogumeid nii GCS-is kui ka BigQuerys.

Harvadel juhtudel, mis nõudsid harva kümnete petabaitide pikkuseid päringuid, otsustasime, et andmekogumite salvestamine BigQuerysse ei olnud kulutõhus, ja kasutasime GCS-is andmekogumitele otse juurdepääsuks Prestot. Selleks uurime BigQuery väliseid andmeallikaid.

Järgmised sammud

Oleme näinud BigQuery vastu suurt huvi alates alfaväljaandest. Lisame BigQuerysse rohkem andmekogumeid ja käske. Arendame välja konnektoreid andmeanalüüsi tööriistade jaoks, nagu Scalding, et lugeda ja kirjutada BigQuery salvestusruumi. Uurime tööriistu, nagu Looker ja Apache Zeppelin, et luua ettevõtte kvaliteediaruandeid ja märkmeid, kasutades BigQuery andmekogumeid.

Meie koostöö Google'iga on olnud väga produktiivne ja meil on hea meel seda partnerlust jätkata ja arendada. Tegime Google'iga koostööd, et juurutada oma Partneri probleemide jälgijapäringute saatmiseks otse Google'ile. Mõned neist, näiteks BigQuery Parketilaadur, on Google juba juurutanud.

Siin on mõned meie kõrge prioriteediga funktsioonitaotlused Google'ile:

  • Tööriistad mugavaks andmete vastuvõtmiseks ja LZO-Thrift-vormingu toetamiseks.
  • Tunnisegmentatsioon
  • Juurdepääsukontrolli täiustused, nagu tabeli-, rea- ja veerutaseme õigused.
  • suur päring Välised andmeallikad koos Hive Metastore'i integratsiooni ja LZO-Thrift-vormingu toega.
  • Täiustatud andmekataloogi integreerimine BigQuery kasutajaliidesesse
  • Iseteenindus teenindusaegade jaotamiseks ja jälgimiseks.

Järeldus

Andmeanalüüsi, visualiseerimise ja masinõppe turvaliseks muutmine demokratiseerimiseks on Data Platformi meeskonna peamine prioriteet. Tuvastasime Google BigQuery ja Data Studio tööriistadena, mis võiksid aidata seda eesmärki saavutada, ning avaldasime eelmisel aastal kogu ettevõttes BigQuery Alpha.

Leidsime, et BigQuery päringud on lihtsad ja tõhusad. Lihtsate torujuhtmete jaoks kasutasime andmete sissevõtmiseks ja teisendamiseks Google'i tööriistu, kuid keerukate torujuhtmete jaoks pidime looma oma Airflow raamistiku. Andmehaldusruumis vastavad BigQuery autentimise, autoriseerimise ja auditeerimise teenused meie vajadustele. Metaandmete haldamiseks ja privaatsuse säilitamiseks vajasime rohkem paindlikkust ja pidime oma süsteemid üles ehitama. Hallatava teenusena BigQueryt oli lihtne kasutada. Päringu kulud olid sarnased olemasolevate tööriistadega. Andmete salvestamine BigQuerysse toob lisaks GCS-i kuludele ka kulusid.

Üldiselt sobib BigQuery üldiseks SQL-analüüsiks hästi. Me näeme BigQuery vastu suurt huvi ning töötame selle nimel, et migreerida rohkem andmekogumeid, kaasata rohkem meeskondi ja luua BigQueryga rohkem torujuhtmeid. Twitter kasutab mitmesuguseid andmeid, mis nõuavad selliste tööriistade kombinatsiooni nagu Scalding, Spark, Presto ja Druid. Kavatseme jätkuvalt tugevdada oma andmeanalüütika tööriistu ja anda kasutajatele selgeid juhiseid, kuidas meie pakkumisi kõige paremini kasutada.

Tänusõnad

Tahaksin tänada oma kaasautoriid ja meeskonnakaaslasi Anju Jha ja Will Pascucci suurepärase koostöö ja raske töö eest selle projekti kallal. Samuti tahaksin tänada Twitteri ja Google'i mitme meeskonna insenere ja juhte, kes aitasid meid ja BigQuery kasutajaid Twitteris, kes andsid väärtuslikku tagasisidet.

Kui olete huvitatud nende probleemidega tegelemisest, vaadake meie vabu kohti andmeplatvormi meeskonnas.

Andmete kvaliteet DWH-s – andmelao järjepidevus

Allikas: www.habr.com

Lisa kommentaar