Jak BigQuery od Googlu demokratizoval analýzu dat. Část 2

Čau Habr! Přihlašování do nového streamu kurzu je na OTUS právě otevřeno datový inženýr. V očekávání začátku kurzu s vámi nadále sdílíme užitečné materiály.

Přečtěte si část první

Jak BigQuery od Googlu demokratizoval analýzu dat. Část 2

Správa dat

Silná správa dat je základní zásadou Twitter Engineering. Při implementaci BigQuery do naší platformy se zaměřujeme na zjišťování dat, řízení přístupu, zabezpečení a soukromí.

Abychom mohli objevovat a spravovat data, rozšířili jsme naši vrstvu přístupu k datům na DAL), abychom poskytovali nástroje pro místní data i data Google Cloud a poskytovali našim uživatelům jednotné rozhraní a rozhraní API. Jako Google Katalog dat se posouvá k obecné dostupnosti, zahrneme jej do našich projektů, abychom uživatelům poskytli funkce, jako je vyhledávání ve sloupcích.

BigQuery usnadňuje sdílení a přístup k datům, ale potřebovali jsme mít nad tím určitou kontrolu, abychom zabránili exfiltraci dat. Mezi dalšími nástroji jsme vybrali dvě funkce:

  • Sdílení omezené na doménu: Funkce beta, která uživatelům brání ve sdílení datových sad BigQuery s uživateli mimo Twitter.
  • Ovládací prvky služby VPC: Ovládací prvek, který zabraňuje exfiltraci dat a vyžaduje, aby uživatelé přistupovali k BigQuery ze známých rozsahů IP adres.

Pro zabezpečení jsme implementovali požadavky na ověřování, autorizaci a auditování (AAA) takto:

  • Autentizace: Použili jsme uživatelské účty GCP pro požadavky ad hoc a servisní účty pro požadavky na produkci.
  • Autorizace: Požadovali jsme, aby každá datová sada měla servisní účet vlastníka a skupinu čtenářů.
  • Audit: Pro snadnou analýzu jsme exportovali protokoly BigQuery stackdriver, které obsahovaly podrobné informace o provádění dotazů, do datové sady BigQuery.

Aby bylo zajištěno správné nakládání s osobními údaji uživatelů Twitteru, musíme registrovat všechny datové sady BigQuery, komentovat osobní údaje, udržovat správné úložiště a mazat (seškrabovat) data, která uživatelé smazali.

Podívali jsme se na Google Cloud Data Loss Prevention API, která používá strojové učení ke klasifikaci a úpravě citlivých dat, ale rozhodla se pro ruční anotaci datové sady kvůli přesnosti. K rozšíření vlastní anotace plánujeme použít rozhraní Data Loss Prevention API.

Na Twitteru jsme vytvořili čtyři kategorie ochrany osobních údajů pro datové sady v BigQuery, které jsou zde uvedeny v sestupném pořadí podle citlivosti:

  • Vysoce citlivé datové soubory jsou zpřístupňovány podle potřeby na základě zásady nejmenšího privilegia. Každá datová sada má samostatnou skupinu čteček a my budeme sledovat využití jednotlivými účty.
  • Středně citlivé datové sady (jednosměrné pseudonymy využívající salted hash) neobsahují osobně identifikovatelné informace (PII) a jsou přístupné větší skupině zaměstnanců. To je dobrá rovnováha mezi obavami o soukromí a užitečností dat. To umožňuje zaměstnancům provádět analytické úlohy, jako je výpočet počtu uživatelů, kteří použili funkci, aniž by věděli, kdo jsou skuteční uživatelé.
  • Datové sady s nízkou citlivostí se všemi informacemi identifikujícími uživatele. Toto je dobrý přístup z hlediska ochrany osobních údajů, ale nelze jej použít pro analýzu na úrovni uživatele.
  • Veřejné datové sady (vydané mimo Twitter) jsou dostupné všem zaměstnancům Twitteru.

Pokud jde o protokolování, použili jsme naplánované úlohy k výčtu datových sad BigQuery a jejich registraci v Data Access Layer (DAL), úložiště metadat Twitteru. Uživatelé označí datové sady informacemi o ochraně osobních údajů a také určí dobu uchování. Pokud jde o čištění, hodnotíme výkon a cenu dvou možností: 1. Čištění datových sad v GCS pomocí nástrojů jako Scalding a jejich načítání do BigQuery; 2. Použití příkazů BigQuery DML. Pravděpodobně použijeme kombinaci obou metod, abychom vyhověli požadavkům různých skupin a dat.

Funkčnost systému

Vzhledem k tomu, že BigQuery je spravovaná služba, nebylo nutné zapojovat tým SRE Twitteru do správy systémů nebo povinností na stole. Bylo snadné poskytnout větší kapacitu pro úložiště i výpočetní techniku. Rezervaci slotu bychom mohli změnit vytvořením lístku s podporou Google. Identifikovali jsme oblasti, které by bylo možné zlepšit, jako je samoobslužné přidělování slotů a vylepšení řídicího panelu pro monitorování, a tyto požadavky jsme odeslali společnosti Google.

Stát

Naše předběžná analýza ukázala, že náklady na dotazy pro BigQuery a Presto byly na stejné úrovni. Zakoupili jsme sloty pro pevný cenu, abyste měli stabilní měsíční náklady místo platby na vyžádání za TB zpracovávaných dat. Toto rozhodnutí bylo také založeno na zpětné vazbě od uživatelů, kteří nechtěli přemýšlet o nákladech před podáním každé žádosti.

Ukládání dat v BigQuery přineslo kromě nákladů GCS i další náklady. Nástroje jako Scalding vyžadují datové sady v GCS a pro přístup k BigQuery jsme museli načíst stejné datové sady do formátu BigQuery Kondenzátor. Pracujeme na připojení Scalding k datovým sadám BigQuery, které eliminuje potřebu ukládat datové sady v GCS i BigQuery.

Ve vzácných případech, které vyžadovaly občasné dotazy o velikosti desítek petabajtů, jsme se rozhodli, že ukládání datových sad v BigQuery není nákladově efektivní, a pro přímý přístup k datovým sadám v GCS jsme použili Presto. Za tímto účelem se podíváme na externí zdroje dat BigQuery.

Další kroky

Od vydání alfa verze jsme o BigQuery zaznamenali velký zájem. Do BigQuery přidáváme další datové sady a další příkazy. Vyvíjíme konektory pro nástroje pro analýzu dat, jako je Scalding, pro čtení a zápis do úložiště BigQuery. Zaměřujeme se na nástroje jako Looker a Apache Zeppelin pro vytváření zpráv a poznámek podnikové kvality pomocí datových sad BigQuery.

Naše spolupráce se společností Google byla velmi produktivní a jsme rádi, že můžeme pokračovat a rozvíjet toto partnerství. Na implementaci vlastních jsme spolupracovali s Googlem Sledování problémů partnerůzasílat dotazy přímo společnosti Google. Některé z nich, například BigQuery Parquet loader, již Google implementoval.

Zde jsou některé z našich požadavků na funkce s vysokou prioritou pro Google:

  • Nástroje pro pohodlný příjem dat a podpora formátu LZO-Thrift.
  • Hodinová segmentace
  • Vylepšení řízení přístupu, jako jsou oprávnění na úrovni tabulky, řádků a sloupců.
  • BigQuery Externí zdroje dat s integrací Hive Metastore a podporou formátu LZO-Thrift.
  • Vylepšená integrace datového katalogu v uživatelském rozhraní BigQuery
  • Samoobslužné přidělování a monitorování slotů.

Závěr

Demokratizace analýzy dat, vizualizace a strojového učení bezpečným způsobem je nejvyšší prioritou týmu Data Platform. Identifikovali jsme Google BigQuery a Datové studio jako nástroje, které by mohly pomoci dosáhnout tohoto cíle, a loni jsme vydali BigQuery Alpha pro celou společnost.

Zjistili jsme, že dotazy v BigQuery jsou jednoduché a efektivní. Použili jsme nástroje Google ke zpracování a transformaci dat pro jednoduché kanály, ale pro složité kanály jsme museli vytvořit vlastní rámec Airflow. V oblasti správy dat splňují naše potřeby služby BigQuery pro ověřování, autorizaci a audit. Abychom mohli spravovat metadata a zachovat soukromí, potřebovali jsme větší flexibilitu a museli jsme vybudovat vlastní systémy. BigQuery jako spravovaná služba se snadno používal. Náklady na dotaz byly podobné jako u stávajících nástrojů. Ukládání dat v BigQuery je spojeno s náklady na GCS.

Celkově BigQuery funguje dobře pro obecnou analýzu SQL. Zaznamenáváme velký zájem o BigQuery a pracujeme na migraci více datových sad, zapojení více týmů a budování dalších kanálů s BigQuery. Twitter používá řadu dat, která budou vyžadovat kombinaci nástrojů jako Scalding, Spark, Presto a Druid. Máme v úmyslu nadále posilovat naše nástroje pro analýzu dat a poskytovat našim uživatelům jasné pokyny, jak co nejlépe využít naše nabídky.

Slova vděčnosti

Rád bych poděkoval svým spoluautorům a spoluhráčům Anju Jha a Willu Pascuccimu za skvělou spolupráci a tvrdou práci na tomto projektu. Rád bych také poděkoval inženýrům a manažerům z několika týmů ve službách Twitter a Google, kteří nám pomohli, a uživatelům BigQuery na Twitteru, kteří nám poskytli cennou zpětnou vazbu.

Pokud máte zájem pracovat na těchto problémech, podívejte se na naše volná místa v týmu Data Platform.

Kvalita dat v DWH - Konzistence datového skladu

Zdroj: www.habr.com

Přidat komentář