Jinsi BigQuery ya Google ilivyochanganua data kidemokrasia. Sehemu 2

Habari, Habr! Kujiandikisha kwa mtiririko mpya wa kozi kumefunguliwa sasa hivi katika OTUS Mhandisi wa Data. Kwa kutarajia kuanza kwa kozi, tunaendelea kushiriki nawe nyenzo muhimu.

Soma sehemu ya kwanza

Jinsi BigQuery ya Google ilivyochanganua data kidemokrasia. Sehemu 2

Usimamizi wa data

Utawala Bora wa Data ni kanuni ya msingi ya Uhandisi wa Twitter. Tunapotekeleza BigQuery kwenye mfumo wetu, tunaangazia ugunduzi wa data, udhibiti wa ufikiaji, usalama na faragha.

Ili kugundua na kudhibiti data, tumepanua Tabaka letu la Ufikiaji Data hadi Dal) kutoa zana za data ya ndani ya majengo na ya Wingu la Google, kutoa kiolesura kimoja na API kwa watumiaji wetu. Kama Google Katalogi ya Data inaelekea kwenye upatikanaji wa jumla, tutaijumuisha katika miradi yetu ili kuwapa watumiaji vipengele kama vile utafutaji wa safu wima.

BigQuery hurahisisha kushiriki na kufikia data, lakini tulihitaji kuwa na udhibiti fulani juu ya hili ili kuzuia uchujaji wa data. Kati ya zana zingine, tulichagua kazi mbili:

  • Kikoa kimezuia kushiriki: Kipengele cha Beta ili kuzuia watumiaji kushiriki seti za data za BigQuery na watumiaji nje ya Twitter.
  • Vidhibiti vya huduma za VPC: Kidhibiti kinachozuia uchujaji wa data na kuhitaji watumiaji kufikia BigQuery kutoka kwa safu za anwani za IP zinazojulikana.

Tumetekeleza mahitaji ya uthibitishaji, uidhinishaji na ukaguzi (AAA) kwa usalama kama ifuatavyo:

  • Uthibitishaji: Tulitumia akaunti za watumiaji wa GCP kwa maombi ya dharura na akaunti za huduma kwa maombi ya uzalishaji.
  • Uidhinishaji: Tulihitaji kila seti ya data kuwa na akaunti ya huduma ya mmiliki na kikundi cha wasomaji.
  • Ukaguzi: Tulihamisha kumbukumbu za stackdriver za BigQuery, ambazo zilikuwa na maelezo ya kina ya utekelezaji wa hoja, hadi kwenye mkusanyiko wa data wa BigQuery kwa uchanganuzi rahisi.

Ili kuhakikisha data ya kibinafsi ya watumiaji wa Twitter inashughulikiwa ipasavyo, ni lazima tusajili seti zote za data za BigQuery, tufafanue data ya kibinafsi, kudumisha hifadhi ifaayo, na kufuta (kufuta) data ambayo imefutwa na watumiaji.

Tuliangalia Google API ya Kuzuia Kupoteza Data ya Wingu, ambayo hutumia ujifunzaji wa mashine kuainisha na kuhariri data nyeti, lakini imeamua kufadhili mkusanyiko wa data mwenyewe kwa sababu ya usahihi. Tunapanga kutumia API ya Kuzuia Upotevu wa Data ili kuongeza ufafanuzi maalum.

Katika Twitter, tumeunda kategoria nne za faragha za seti za data katika BigQuery, zilizoorodheshwa hapa kwa mpangilio wa chini wa unyeti:

  • Seti za data nyeti sana hutolewa kwa msingi unaohitajika kulingana na kanuni ya upendeleo mdogo. Kila seti ya data ina kikundi tofauti cha wasomaji, na tutafuatilia matumizi kwa akaunti mahususi.
  • Seti za data zenye usikivu wa wastani (majina bandia ya njia moja kwa kutumia hashing iliyotiwa chumvi) hazina Taarifa Zinazoweza Kumtambulisha Mtu Binafsi (PII) na zinaweza kufikiwa na kundi kubwa la wafanyakazi. Huu ni uwiano mzuri kati ya masuala ya faragha na matumizi ya data. Hii inaruhusu wafanyakazi kufanya kazi za uchanganuzi, kama vile kukokotoa idadi ya watumiaji waliotumia kipengele, bila kujua watumiaji halisi ni akina nani.
  • Seti za data zenye usikivu wa chini zenye maelezo yote ya kutambua mtumiaji. Hii ni mbinu nzuri kutoka kwa mtazamo wa faragha, lakini haiwezi kutumika kwa uchanganuzi wa kiwango cha mtumiaji.
  • Seti za data za umma (zilizotolewa nje ya Twitter) zinapatikana kwa wafanyikazi wote wa Twitter.

Kuhusu ukataji miti, tulitumia kazi zilizoratibiwa kuorodhesha hifadhidata za BigQuery na kuzisajili kwa Tabaka la Ufikiaji Data (Dal), hazina ya metadata ya Twitter. Watumiaji watafafanua seti za data kwa maelezo ya faragha na pia kubainisha muda wa kubaki. Kuhusu kusafisha, tunatathmini utendaji na gharama ya chaguzi mbili: 1. Kusafisha seti za data katika GCS kwa kutumia zana kama vile Scalding na kuzipakia kwenye BigQuery; 2. Kwa kutumia taarifa za BigQuery DML. Huenda tukatumia mchanganyiko wa mbinu zote mbili ili kukidhi mahitaji ya vikundi na data tofauti.

Utendaji wa mfumo

Kwa sababu BigQuery ni huduma inayodhibitiwa, hakukuwa na haja ya kuhusisha timu ya Twitter ya SRE katika usimamizi wa mifumo au majukumu ya mezani. Ilikuwa rahisi kutoa uwezo zaidi kwa uhifadhi na kompyuta. Tunaweza kubadilisha uwekaji nafasi kwa kuunda tikiti kwa usaidizi wa Google. Tulibainisha maeneo ambayo yanaweza kuboreshwa, kama vile ugawaji wa nafasi ya huduma binafsi na uboreshaji wa dashibodi kwa ajili ya ufuatiliaji, na tukawasilisha maombi hayo kwa Google.

Gharama

Uchanganuzi wetu wa awali ulionyesha kuwa gharama za hoja za BigQuery na Presto zilikuwa katika kiwango sawa. Tulinunua nafasi za fasta bei kuwa na gharama thabiti ya kila mwezi badala ya malipo juu ya mahitaji kwa TB ya data iliyochakatwa. Uamuzi huu pia ulitokana na maoni kutoka kwa watumiaji ambao hawakutaka kufikiria gharama kabla ya kufanya kila ombi.

Kuhifadhi data katika BigQuery kulileta gharama pamoja na gharama za GCS. Zana kama vile Scalding zinahitaji seti za data katika GCS, na ili kufikia BigQuery tulilazimika kupakia seti sawa za data katika umbizo la BigQuery. Capacitor. Tunashughulikia muunganisho wa Kuongeza kasi kwa seti za data za BigQuery ambazo zitaondoa hitaji la kuhifadhi seti za data katika GCS na BigQuery.

Kwa matukio nadra ambayo yalihitaji maswali yasiyo ya mara kwa mara ya makumi ya petabytes, tuliamua kuwa kuhifadhi hifadhidata katika BigQuery hakukuwa na gharama nafuu na tulitumia Presto kufikia moja kwa moja hifadhidata katika GCS. Ili kufanya hivyo, tunaangalia Vyanzo vya Data vya Nje vya BigQuery.

Hatua zifuatazo

Tumeona watu wengi wanaovutiwa na BigQuery tangu kutolewa kwa alpha. Tunaongeza seti zaidi za data na amri zaidi kwenye BigQuery. Tunatengeneza viunganishi vya zana za uchanganuzi wa data kama vile Scalding ili kusoma na kuandika kwenye hifadhi ya BigQuery. Tunaangalia zana kama vile Looker na Apache Zeppelin za kuunda ripoti na vidokezo vya ubora wa biashara kwa kutumia seti za data za BigQuery.

Ushirikiano wetu na Google umekuwa wenye tija na tuna furaha kuendelea na kuendeleza ushirikiano huu. Tulifanya kazi na Google kutekeleza yetu Mfuatiliaji wa Masuala ya Washirikakutuma maswali moja kwa moja kwa Google. Baadhi yao, kama vile kipakiaji cha BigQuery Parquet, tayari yametekelezwa na Google.

Haya ni baadhi ya maombi yetu ya kipengele cha kipaumbele kwa Google:

  • Zana za upokeaji data kwa urahisi na usaidizi wa umbizo la LZO-Thrift.
  • Mgawanyiko wa kila saa
  • Maboresho ya udhibiti wa ufikiaji kama vile ruhusa za kiwango cha jedwali, safu mlalo na safu wima.
  • BigQuery Vyanzo vya Data vya Nje с ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Hive Metastore для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° LZO-Thrift.
  • Ujumuishaji wa katalogi ya data ulioboreshwa katika kiolesura cha BigQuery
  • Kujihudumia kwa ugawaji na ufuatiliaji wa yanayopangwa.

Hitimisho

Uchanganuzi wa data wa kidemokrasia, taswira na ujifunzaji wa mashine kwa njia salama ni kipaumbele cha kwanza kwa timu ya Data Platform. Tulitambua Google BigQuery na Studio ya Data kama zana zinazoweza kusaidia kufikia lengo hili, na tukatoa BigQuery Alpha kampuni nzima mwaka jana.

Tulipata hoja katika BigQuery kuwa rahisi na bora. Tulitumia zana za Google kumeza na kubadilisha data kwa mabomba rahisi, lakini kwa mabomba changamano tulilazimika kuunda mfumo wetu wenyewe wa Airflow. Katika nafasi ya usimamizi wa data, huduma za BigQuery za uthibitishaji, uidhinishaji na ukaguzi zinakidhi mahitaji yetu. Ili kudhibiti metadata na kudumisha faragha, tulihitaji kubadilika zaidi na ilibidi tuunde mifumo yetu wenyewe. BigQuery, kwa kuwa huduma inayosimamiwa, ilikuwa rahisi kutumia. Gharama za hoja zilikuwa sawa na zana zilizopo. Kuhifadhi data katika BigQuery kunaingiza gharama pamoja na gharama za GCS.

Kwa ujumla, BigQuery inafanya kazi vizuri kwa uchambuzi wa jumla wa SQL. Tunaona watu wengi wanaovutiwa na BigQuery, na tunajitahidi kuhamisha seti zaidi za data, kuleta timu zaidi, na kuunda bomba zaidi kwa BigQuery. Twitter hutumia data mbalimbali ambazo zitahitaji mchanganyiko wa zana kama vile Scalding, Spark, Presto, na Druid. Tunanuia kuendelea kuimarisha zana zetu za uchanganuzi wa data na kutoa mwongozo wazi kwa watumiaji wetu kuhusu jinsi ya kutumia matoleo yetu vyema.

Maneno ya shukrani

Ningependa kuwashukuru waandishi wenzangu na wachezaji wenzangu, Anju Jha na Will Pascucci, kwa ushirikiano wao mzuri na bidii katika mradi huu. Ningependa pia kuwashukuru wahandisi na wasimamizi kutoka timu kadhaa kwenye Twitter na Google ambao walitusaidia na watumiaji wa BigQuery kwenye Twitter ambao walitoa maoni muhimu.

Ikiwa una nia ya kufanya kazi juu ya matatizo haya, angalia yetu nafasi za kazi katika timu ya Data Platform.

Ubora wa Data katika DWH - Uthabiti wa Ghala la Data

Chanzo: mapenzi.com

Kuongeza maoni