Kako je Googleov BigQuery demokratizirao analizu podataka. 2. dio

Hej Habr! U OTUS-u su trenutno otvoreni upisi za novi tečaj Inženjer podataka. U iščekivanju početka tečaja nastavljamo s vama dijeliti korisne materijale.

Pročitajte prvi dio

Kako je Googleov BigQuery demokratizirao analizu podataka. 2. dio

Upravljanje podatcima

Snažno upravljanje podacima temeljno je načelo Twitter inženjerstva. Dok implementiramo BigQuery u našu platformu, usredotočeni smo na otkrivanje podataka, kontrolu pristupa, sigurnost i privatnost.

Kako bismo otkrili podatke i upravljali njima, proširili smo naš sloj pristupa podacima na DAL) za pružanje alata za lokalne i Google Cloud podatke, pružajući jedno sučelje i API za naše korisnike. Kao Google Katalog podataka kreće prema općoj dostupnosti, uključit ćemo ga u naše projekte kako bismo korisnicima pružili značajke kao što je pretraživanje stupaca.

BigQuery olakšava dijeljenje i pristup podacima, ali morali smo imati određenu kontrolu nad tim kako bismo spriječili krađu podataka. Među ostalim alatima odabrali smo dvije funkcije:

  • Dijeljenje ograničeno na domenu: Beta značajka za sprječavanje korisnika da dijele BigQuery skupove podataka s korisnicima izvan Twittera.
  • Kontrole VPC usluge: Kontrola koja sprječava eksfiltraciju podataka i zahtijeva od korisnika pristup BigQueryju s poznatih raspona IP adresa.

Implementirali smo zahtjeve za autentifikaciju, autorizaciju i reviziju (AAA) za sigurnost kako slijedi:

  • Autentifikacija: koristili smo GCP korisničke račune za ad hoc zahtjeve i servisne račune za proizvodne zahtjeve.
  • Autorizacija: Zahtijevali smo da svaki skup podataka ima vlasnički račun usluge i grupu čitača.
  • Revizija: izvezli smo zapise BigQuery stackdrivera, koji su sadržavali detaljne informacije o izvršenju upita, u BigQuery skup podataka radi jednostavne analize.

Kako bismo osigurali da se s osobnim podacima korisnika Twittera ispravno postupa, moramo registrirati sve BigQuery skupove podataka, označiti osobne podatke, održavati odgovarajuću pohranu i izbrisati (skrapirati) podatke koje su izbrisali korisnici.

Pogledali smo Google API za sprječavanje gubitka podataka u oblaku, koji koristi strojno učenje za klasificiranje i uređivanje osjetljivih podataka, ali se odlučio za ručno označavanje skupa podataka zbog točnosti. Planiramo upotrijebiti API za sprječavanje gubitka podataka za proširenje prilagođene napomene.

Na Twitteru smo izradili četiri kategorije privatnosti za skupove podataka u BigQueryju, ovdje navedene prema silaznom redoslijedu osjetljivosti:

  • Vrlo osjetljivi skupovi podataka stavljaju se na raspolaganje prema potrebi na temelju načela najmanje privilegije. Svaki skup podataka ima zasebnu grupu čitatelja, a mi ćemo pratiti korištenje po pojedinačnim računima.
  • Srednje osjetljivi skupovi podataka (jednosmjerni pseudonimi koji koriste usoljeno raspršivanje) ne sadrže osobne podatke (PII) i dostupni su većoj skupini zaposlenika. Ovo je dobra ravnoteža između brige o privatnosti i korisnosti podataka. To omogućuje zaposlenicima da obavljaju zadatke analize, kao što je izračunavanje broja korisnika koji su koristili značajku, a da ne znaju tko su stvarni korisnici.
  • Skupovi podataka niske osjetljivosti sa svim informacijama za identifikaciju korisnika. Ovo je dobar pristup iz perspektive privatnosti, ali se ne može koristiti za analizu na razini korisnika.
  • Javni skupovi podataka (objavljeni izvan Twittera) dostupni su svim zaposlenicima Twittera.

Što se tiče zapisivanja, koristili smo zakazane zadatke za nabrajanje BigQuery skupova podataka i njihovo registriranje u sloju pristupa podacima (DAL), repozitorij metapodataka na Twitteru. Korisnici će označiti skupove podataka informacijama o privatnosti i također odrediti razdoblje zadržavanja. Što se tiče čišćenja, procjenjujemo učinak i cijenu dvije opcije: 1. Čišćenje skupova podataka u GCS-u pomoću alata kao što je Scalding i njihovo učitavanje u BigQuery; 2. Korištenje BigQuery DML izjava. Vjerojatno ćemo koristiti kombinaciju obje metode kako bismo zadovoljili zahtjeve različitih grupa i podataka.

Funkcionalnost sustava

Budući da je BigQuery usluga kojom se upravlja, nije bilo potrebe za uključivanjem Twitterovog SRE tima u upravljanje sustavima ili radnim stolovima. Bilo je lako osigurati više kapaciteta za pohranu i računalstvo. Mogli bismo promijeniti rezervaciju mjesta stvaranjem karte s Google podrškom. Identificirali smo područja koja bi se mogla poboljšati, kao što su samoposlužna dodjela utora i poboljšanja nadzorne ploče za nadzor, te smo te zahtjeve poslali Googleu.

trošak

Naša preliminarna analiza pokazala je da su troškovi upita za BigQuery i Presto bili na istoj razini. Kupili smo utore za fiksna cijenu kako biste imali stabilan mjesečni trošak umjesto plaćanja na zahtjev po TB obrađenih podataka. Ova se odluka također temeljila na povratnim informacijama korisnika koji nisu htjeli razmišljati o troškovima prije svakog zahtjeva.

Pohranjivanje podataka u BigQuery donijelo je i troškove uz GCS troškove. Alati kao što je Scalding zahtijevaju skupove podataka u GCS-u, a za pristup BigQueryju morali smo učitati iste skupove podataka u BigQuery format Kondenzator. Radimo na Scalding vezi s BigQuery skupovima podataka koja će eliminirati potrebu za pohranjivanjem skupova podataka u GCS i BigQuery.

Za rijetke slučajeve koji su zahtijevali rijetke upite od desetaka petabajta, odlučili smo da pohranjivanje skupova podataka u BigQueryju nije isplativo i koristili smo Presto za izravan pristup skupovima podataka u GCS-u. Da bismo to učinili, gledamo BigQuery vanjske izvore podataka.

Sljedeći koraci

Мы отметили большой интерес к BigQuery с момента выпуска альфы. Мы добавляем больше наборов данных и больше команд в BigQuery. Мы разрабатываем коннекторы для инструментов анализа данных, таких как Scalding, для чтения и записи в хранилище BigQuery. Мы рассматриваем такие инструменты, как Looker и Apache Zeppelin, для создания корпоративных отчетов о качестве и заметок с использованием наборов данных BigQuery.

Naša suradnja s Googleom bila je vrlo produktivna i sa zadovoljstvom nastavljamo i razvijamo ovo partnerstvo. Surađivali smo s Googleom na implementaciji vlastitog Partner Issue Trackerza slanje upita izravno Googleu. Neke od njih, poput utovarivača BigQuery Parquet, Google je već implementirao.

Ovo su neki od naših zahtjeva za značajke visokog prioriteta za Google:

  • Alati za praktičan prijem podataka i podršku za LZO-Thrift format.
  • Segmentacija po satu
  • Poboljšanja kontrole pristupa kao što su dozvole na razini tablice, redaka i stupca.
  • BigQueryja Vanjski izvori podataka s Hive Metastore integracijom i podrškom za LZO-Thrift format.
  • Poboljšana integracija kataloga podataka u BigQuery korisničko sučelje
  • Samoposluživanje za dodjelu utora i praćenje.

Zaključak

Demokratizacija analize podataka, vizualizacije i strojnog učenja na siguran način glavni je prioritet tima Data Platform. Identificirali smo Google BigQuery i Data Studio kao alate koji bi mogli pomoći u postizanju ovog cilja te smo prošle godine izdali BigQuery Alpha za cijelu tvrtku.

Smatramo da su upiti u BigQueryju jednostavni i učinkoviti. Koristili smo se Googleovim alatima za unos i transformaciju podataka za jednostavne cjevovode, ali za složene cjevovode morali smo izgraditi vlastiti okvir Airflow. U prostoru za upravljanje podacima, usluge BigQueryja za autentifikaciju, autorizaciju i reviziju zadovoljavaju naše potrebe. Za upravljanje metapodacima i očuvanje privatnosti bilo nam je potrebno više fleksibilnosti i morali smo izgraditi vlastite sustave. BigQuery, kao upravljana usluga, bio je jednostavan za korištenje. Troškovi upita bili su slični postojećim alatima. Pohranjivanje podataka u BigQueryju uzrokuje troškove uz GCS troškove.

Općenito, BigQuery dobro funkcionira za opću SQL analizu. Vidimo veliko zanimanje za BigQuery i radimo na migraciji više skupova podataka, uključivanju više timova i izgradnji više cjevovoda s BigQueryjem. Twitter koristi različite podatke koji zahtijevaju kombinaciju alata kao što su Scalding, Spark, Presto i Druid. Namjeravamo nastaviti jačati naše alate za analizu podataka i pružiti jasne smjernice našim korisnicima o tome kako najbolje koristiti naše ponude.

Riječi zahvalnosti

Želio bih zahvaliti svojim koautorima i suigračima, Anju Jha i Willu Pascucciju, na njihovoj sjajnoj suradnji i napornom radu na ovom projektu. Također bih želio zahvaliti inženjerima i menadžerima iz nekoliko timova na Twitteru i Googleu koji su nam pomogli te korisnicima BigQueryja na Twitteru koji su dali vrijedne povratne informacije.

Ako ste zainteresirani za rad na ovim problemima, pogledajte naš slobodna radna mjesta u timu Data Platforme.

Kvaliteta podataka u DWH - Dosljednost skladišta podataka

Izvor: www.habr.com

Dodajte komentar