Ako nástroj BigQuery od Googlu demokratizoval analýzu údajov. Časť 2

Ahoj Habr! Prihlasovanie do nového streamu kurzu je otvorené práve teraz na OTUS dátový inžinier. V očakávaní začiatku kurzu s vami naďalej zdieľame užitočné materiály.

Prečítajte si časť prvá

Ako nástroj BigQuery od Googlu demokratizoval analýzu údajov. Časť 2

Správa údajov

Silná správa údajov je základnou zásadou inžinierstva Twitteru. Pri implementácii BigQuery do našej platformy sa zameriavame na zisťovanie údajov, riadenie prístupu, bezpečnosť a súkromie.

Aby sme mohli objavovať a spravovať údaje, rozšírili sme našu vrstvu prístupu k údajom na DAL), aby sme poskytovali nástroje pre lokálne údaje aj údaje služby Google Cloud a poskytovali našim používateľom jednotné rozhranie a rozhranie API. Ako Google Katalóg údajov smeruje k všeobecnej dostupnosti, zahrnieme ho do našich projektov, aby sme používateľom poskytli funkcie, ako je vyhľadávanie v stĺpcoch.

BigQuery uľahčuje zdieľanie a prístup k údajom, no potrebovali sme mať nad tým určitú kontrolu, aby sme zabránili úniku údajov. Okrem iných nástrojov sme vybrali dve funkcie:

  • Zdieľanie obmedzené na doménu: Funkcia beta, ktorá používateľom zabraňuje zdieľať množiny údajov nástroja BigQuery s používateľmi mimo služby Twitter.
  • Ovládacie prvky služby VPC: Ovládací prvok, ktorý zabraňuje úniku údajov a vyžaduje, aby používatelia pristupovali k nástroju BigQuery zo známych rozsahov adries IP.

Zaviedli sme požiadavky na autentifikáciu, autorizáciu a audit (AAA) na zabezpečenie takto:

  • Autentifikácia: Používali sme používateľské účty GCP pre ad hoc požiadavky a servisné účty pre produkčné požiadavky.
  • Autorizácia: Požadovali sme, aby každý súbor údajov mal servisný účet vlastníka a skupinu čitateľov.
  • Audit: Denníky stackdriver nástroja BigQuery, ktoré obsahovali podrobné informácie o vykonávaní dopytov, sme exportovali do množiny údajov nástroja BigQuery na jednoduchú analýzu.

Aby sme zaistili správne zaobchádzanie s osobnými údajmi používateľov služby Twitter, musíme zaregistrovať všetky množiny údajov nástroja BigQuery, pridávať poznámky k osobným údajom, udržiavať správne úložisko a vymazávať (zoškrabovať) údaje, ktoré používatelia odstránili.

Pozreli sme sa na Google Cloud Data Loss Prevention API, ktorá využíva strojové učenie na klasifikáciu a úpravu citlivých údajov, ale rozhodla sa pre ručné anotovanie súboru údajov kvôli presnosti. Na rozšírenie vlastnej anotácie plánujeme použiť rozhranie Data Loss Prevention API.

V službe Twitter sme vytvorili štyri kategórie ochrany osobných údajov pre množiny údajov v nástroji BigQuery, ktoré sú tu uvedené v zostupnom poradí podľa citlivosti:

  • Vysoko citlivé súbory údajov sa sprístupňujú podľa potreby na základe zásady najmenšieho privilégia. Každý súbor údajov má samostatnú skupinu čítačiek a my budeme sledovať využitie jednotlivými účtami.
  • Stredne citlivé množiny údajov (jednosmerné pseudonymy využívajúce solené hašovanie) neobsahujú osobne identifikovateľné informácie (PII) a sú prístupné väčšej skupine zamestnancov. Ide o dobrú rovnováhu medzi obavami o súkromie a užitočnosťou údajov. To umožňuje zamestnancom vykonávať analytické úlohy, ako je napríklad výpočet počtu používateľov, ktorí použili funkciu, bez toho, aby vedeli, kto sú skutoční používatelia.
  • Súbory údajov s nízkou citlivosťou so všetkými informáciami identifikujúcimi používateľa. Toto je dobrý prístup z hľadiska ochrany osobných údajov, ale nemožno ho použiť na analýzu na úrovni používateľa.
  • Verejné súbory údajov (vydané mimo Twitteru) sú dostupné všetkým zamestnancom Twitteru.

Pokiaľ ide o protokolovanie, použili sme naplánované úlohy na vymenovanie množín údajov BigQuery a ich registráciu pomocou vrstvy prístupu k údajom (DAL), úložisko metadát Twitteru. Používatelia označia súbory údajov informáciami o ochrane osobných údajov a tiež určia dobu uchovávania. Pokiaľ ide o čistenie, hodnotíme výkon a náklady dvoch možností: 1. čistenie množín údajov v GCS pomocou nástrojov ako Scalding a ich načítanie do nástroja BigQuery; 2. Používanie príkazov BigQuery DML. Pravdepodobne použijeme kombináciu oboch metód, aby sme splnili požiadavky rôznych skupín a údajov.

Funkčnosť systému

Keďže BigQuery je riadená služba, nebolo potrebné zapájať tím SRE zo služby Twitter do správy systémov alebo povinností na pracovisku. Bolo ľahké poskytnúť väčšiu kapacitu pre úložisko aj výpočtovú techniku. Rezerváciu slotu by sme mohli zmeniť vytvorením lístka s podporou Google. Identifikovali sme oblasti, ktoré by sa dali zlepšiť, ako je samoobslužné prideľovanie slotov a vylepšenia hlavného panela na monitorovanie, a tieto žiadosti sme odoslali Googlu.

Štát

Naša predbežná analýza ukázala, že náklady na dopyty pre BigQuery a Presto boli na rovnakej úrovni. Kúpili sme sloty pre fixné cena, aby ste mali stabilné mesačné náklady namiesto platby na vyžiadanie na TB spracovaných údajov. Toto rozhodnutie bolo založené aj na spätnej väzbe od používateľov, ktorí nechceli premýšľať o nákladoch pred podaním každej požiadavky.

Ukladanie údajov v BigQuery prinieslo okrem nákladov GCS aj ďalšie náklady. Nástroje ako Scalding vyžadujú množiny údajov v GCS a na prístup k nástroju BigQuery sme museli načítať rovnaké množiny údajov do formátu BigQuery Kondenzátor. Pracujeme na pripojení Scalding k množinám údajov BigQuery, ktoré eliminuje potrebu ukladať množiny údajov v GCS aj BigQuery.

V zriedkavých prípadoch, ktoré si vyžadovali občasné dopyty s veľkosťou desiatok petabajtov, sme sa rozhodli, že ukladanie množín údajov v nástroji BigQuery nie je nákladovo efektívne, a na priamy prístup k množinám údajov v GCS sme použili Presto. Na tento účel sa pozeráme na externé zdroje údajov BigQuery.

Ďalšie kroky

Od vydania alfa verzie sme o BigQuery zaznamenali veľký záujem. Do BigQuery pridávame ďalšie množiny údajov a ďalšie príkazy. Vyvíjame konektory pre nástroje na analýzu údajov, ako je Scalding, na čítanie a zápis do úložiska BigQuery. Pozeráme sa na nástroje ako Looker a Apache Zeppelin na vytváranie správ a poznámok podnikovej kvality pomocou množín údajov BigQuery.

Naša spolupráca so spoločnosťou Google bola veľmi produktívna a sme radi, že môžeme v tomto partnerstve pokračovať a rozvíjať ho. Na implementácii vlastných sme spolupracovali so spoločnosťou Google Sledovanie problémov partnerana odosielanie dopytov priamo spoločnosti Google. Niektoré z nich, ako napríklad BigQuery Parquet loader, už Google implementoval.

Tu sú niektoré z našich požiadaviek na funkcie s vysokou prioritou pre Google:

  • Nástroje pre pohodlný príjem dát a podpora formátu LZO-Thrift.
  • Hodinová segmentácia
  • Vylepšenia riadenia prístupu, ako sú povolenia na úrovni tabuľky, riadkov a stĺpcov.
  • BigQuery Externé zdroje údajov s integráciou Hive Metastore a podporou formátu LZO-Thrift.
  • Vylepšená integrácia katalógu údajov v používateľskom rozhraní BigQuery
  • Samoobslužné prideľovanie a monitorovanie slotov.

Záver

Demokratizácia analýzy údajov, vizualizácie a strojového učenia bezpečným spôsobom je najvyššou prioritou tímu Data Platform. Identifikovali sme Google BigQuery a Dátové štúdio ako nástroje, ktoré by mohli pomôcť dosiahnuť tento cieľ, a minulý rok sme vydali BigQuery Alpha pre celú spoločnosť.

Zistili sme, že dopyty v BigQuery sú jednoduché a efektívne. Použili sme nástroje Google na prijímanie a transformáciu údajov pre jednoduché potrubia, ale pre zložité potrubia sme museli vytvoriť vlastný rámec Airflow. V priestore správy údajov spĺňajú naše potreby služby BigQuery na overenie, autorizáciu a audit. Na správu metadát a zachovanie súkromia sme potrebovali väčšiu flexibilitu a museli sme si vybudovať vlastné systémy. BigQuery ako spravovaná služba sa ľahko používal. Náklady na dopyt boli podobné ako pri existujúcich nástrojoch. Ukladanie údajov v nástroji BigQuery znamená okrem nákladov GCS aj ďalšie náklady.

Celkovo BigQuery funguje dobre na všeobecnú analýzu SQL. O nástroj BigQuery zaznamenávame veľký záujem a pracujeme na migrácii ďalších množín údajov, pritiahnutí viacerých tímov a budovaní ďalších kanálov pomocou nástroja BigQuery. Twitter používa rôzne údaje, ktoré si budú vyžadovať kombináciu nástrojov ako Scalding, Spark, Presto a Druid. Máme v úmysle naďalej posilňovať naše nástroje na analýzu údajov a poskytovať našim používateľom jasné pokyny, ako čo najlepšie využiť naše ponuky.

Slová vďačnosti

Chcel by som poďakovať svojim spoluautorom a spoluhráčom Anju Jha a Willovi Pascuccimu za skvelú spoluprácu a tvrdú prácu na tomto projekte. Chcel by som tiež poďakovať inžinierom a manažérom z niekoľkých tímov v službách Twitter a Google, ktorí nám pomohli, a používateľom BigQuery na Twitteri, ktorí nám poskytli cennú spätnú väzbu.

Ak máte záujem pracovať na týchto problémoch, pozrite si naše voľných pracovných miest v tíme Data Platform.

Kvalita dát v DWH – konzistentnosť dátového skladu

Zdroj: hab.com

Pridať komentár