Si BigQuery i Google demokratizoi analizën e të dhënave. Pjesa 1.

Përshëndetje, Habr! Tani për tani në OTUS është hapur një grup për një raund të ri të kursit. «Inxhiner i Të Dhënave». Me rastin e fillimit të kursit, ne tradicionalisht kemi përgatitur për ju një përkthim të materialeve interesante.

Çdo ditĂ« mĂ« shumĂ« se njĂ«qind milion njerĂ«z vizitojnĂ« Twitter pĂ«r tĂ« mĂ«suar se çfarĂ« po ndodh nĂ« botĂ« dhe pĂ«r ta diskutuar atĂ«. Çdo tweet dhe çdo veprim tjetĂ«r i pĂ«rdoruesve gjeneron njĂ« ngjarje qĂ« Ă«shtĂ« e disponueshme pĂ«r analizĂ«n e brendshme tĂ« tĂ« dhĂ«nave nĂ« Twitter. Qindra punonjĂ«s analizojnĂ« dhe vizualizojnĂ« kĂ«to tĂ« dhĂ«na, dhe pĂ«rmirĂ«simi i pĂ«rvojĂ«s sĂ« tyre Ă«shtĂ« prioriteti kryesor pĂ«r ekipin e PlatformĂ«s sĂ« TĂ« DhĂ«nave tĂ« Twitter.

Ne besojmĂ« se pĂ«rdoruesit me njĂ« gamĂ« tĂ« gjerĂ« aftĂ«sish teknike duhet tĂ« kenĂ« mundĂ«si pĂ«r tĂ« gjetur tĂ« dhĂ«na dhe pĂ«r tĂ« pasur qasje nĂ« mjete analize dhe vizualizimi tĂ« punojnĂ« mirĂ« mbi SQL. Kjo do t’i lejonte njĂ« grup tĂ« ri pĂ«rdoruesish me mĂ« pak orientim teknik, duke pĂ«rfshirĂ« analistĂ«t e tĂ« dhĂ«nave dhe menaxherĂ«t e produkteve, tĂ« nxjerrin informacion nga tĂ« dhĂ«nat, duke i ndihmuar ata tĂ« kuptojnĂ« mĂ« mirĂ« dhe tĂ« pĂ«rdorin mundĂ«sitĂ« e Twitter. KĂ«shtu ne demokratizojmĂ« analizĂ«n e tĂ« dhĂ«nave nĂ« Twitter.

Me përmirësimin e mjeteve tona dhe mundësive për analizën e brendshme të të dhënave, kemi parë përmirësime në shërbimin Twitter. Megjithatë, ka ende hapësirë për rritje. Mjetet aktuale, si Scalding, kërkojnë përvojë në programim. Mjetet e analizës bazuar në SQL, si Presto dhe Vertica, kanë probleme me performancën në shkallë të madhe. Ndërkohë, na shqetëson shpërndarja e të dhënave midis disa sistemeve pa qasje të vazhdueshme ndaj tyre.

Vit më parë shpallëm një bashkëpunim të ri me Google, në kuadër të cilit po transferojmë pjesë të infrastrukturës sonë të të dhënave në Google Cloud Platform (GCP). Kemi arritur në përfundimin se mjetet e Google Cloud Big Data mund të na ndihmojnë në iniciativat tona për demokratizimin e analizës, vizualizimit dhe mësimit të makinerisë në Twitter:

  • BigQuery: njĂ« magazinĂ« tĂ« dhĂ«nash korporative me njĂ« motor SQL tĂ« bazuar nĂ« Dremel, i njohur pĂ«r shpejtĂ«sinĂ« e tij, lehtĂ«sinĂ« dhe aftĂ«sinĂ« pĂ«r tĂ« pĂ«rballuar mĂ«simin e makinerisĂ«.
  • Studio tĂ« DhĂ«nave: njĂ« mjet pĂ«r vizualizimin e tĂ« dhĂ«nave tĂ« mĂ«dha me funksione bashkĂ«punimi, si nĂ« Google Docs.

Nga ky artikull do të mësoni për përvojën tonë me këto mjete: çfarë kemi bërë, çfarë kemi mësuar dhe çfarë do të bëjmë më pas. Tani do të përqendrohemi në analitikën paketore dhe interaktive. Analitikën në kohë reale do ta diskutojmë në artikullin tjetër.

Historia e magazinave të të dhënave në Twitter

Para se të thellohemi në BigQuery, është e përshtatshme të japim një përmbledhje të shkurtër të historisë së magazinave të të dhënave në Twitter. Në vitin 2011, analiza e të dhënave në Twitter kryhej në Vertica dhe Hadoop. Për të krijuar MapReduce, ne përdorëm Pig. Në vitin 2012, e zëvendësuam Pig me Scalding, i cili kishte një API në Scala me avantazhe si mundësia për të krijuar konvejerë të ndërlikuar dhe lehtësinë në testim. Megjithatë, për shumë analistë të të dhënave dhe menaxherë produktesh, të cilët ishin më të rehatshëm të punonin me SQL, kjo ishte një kurbë mësimi mjaft e pjerrët. Diku në vitin 2016, filluam të përdornim Presto si ndërfaqen SQL për të dhënat në Hadoop. Spark ofronte një ndërfaqe Python, e cila e bën atë një zgjedhje të mirë për hulumtimet ad hoc të të dhënave dhe mësimin e makinave.

Që nga viti 2018, kemi përdorur këto mjete për analizën dhe vizualizimin e të dhënave:

  • Scalding pĂ«r linjat e prodhimit
  • Scalding dhe Spark pĂ«r analiza ad hoc tĂ« tĂ« dhĂ«nave dhe mĂ«sim makinor
  • Vertica dhe Presto pĂ«r analiza SQL ad hoc dhe interaktive
  • Druid pĂ«r qasje interaktive, kĂ«rkuese dhe me vonesĂ« tĂ« ulĂ«t nĂ« metrikat e serive tĂ« kohĂ«s
  • Tableau, Zeppelin dhe Pivot pĂ«r vizualizimin e tĂ« dhĂ«nave

Kemi zbuluar se, megjithëse këto mjete ofrojnë mundësi shumë të fuqishme, kemi hasur vështirësi në realizimin e aksesit të këtyre mundësive për një audiencë më të gjerë në Twitter. Duke zgjeruar platformën tonë me ndihmën e Google Cloud, ne përqendrohemi në thjeshtimin e mjeteve tona analitike për të gjithë Twitter-in.

Depoja e të dhënave BigQuery nga Google

Disa ekipe në Twitter tashmë kanë përfshirë BigQuery në disa nga kanalet e tyre të prodhimit. Duke përdorur përvojën e tyre, filluam të vlerësojmë mundësitë e BigQuery për të gjitha skenarët e përdorimit të Twitter. Qëllimi ynë ishte të ofronim BigQuery për të gjithë kompaninë, si dhe të standardizonim dhe mbështesnim atë brenda paketës së veglave të Platformës së të Dhënave. Kjo ishte e vështirë për shumë arsye. Na nevojitej të zhvillonim një infrastrukturë për të pranuar sasi të mëdha të dhënash në mënyrë të besueshme, për të mbështetur menaxhimin e të dhënave në shkallë të plotë të kompanisë, për të siguruar kontrollin e duhur të qasjes dhe për të garantuar privatësinë e klientëve. Na duhej gjithashtu të krijonim sisteme për shpërndarjen e burimeve, monitorimin dhe kthimin e pagesave, në mënyrë që ekipet të mund të përdorin efektivisht BigQuery.

Në nëntor 2018, ne publikuam një version alfa të BigQuery dhe Data Studio për të gjithë kompaninë. Ne ofruam punonjësve të Twitter disa nga tabelat tona më të përdorura me të dhëna personale të pastra. Më shumë se 250 përdorues nga ekipet e ndryshme, duke përfshirë inxhinierinë, financat dhe marketingun, përdorën BigQuery. Së fundmi, ata bënin rreth 8,000 kërkesa, duke procesuar rreth 100 PB në muaj, përveç kërkesave të planifikuara. Pas marrjes së komenteve shumë pozitive, ne vendosëm të ecim përpara dhe të ofrojmë BigQuery si burimin kryesor për bashkëveprimin me të dhënat në Twitter.

Ja skema e arkitekturës së nivelit të lartë të depozitës sonë të të dhënave Google BigQuery.

Si BigQuery i Google demokratizoi analizën e të dhënave. Pjesa 1.
Ne kopjojmë të dhënat nga klasterët lokalë Hadoop në Google Cloud Storage (GCS), duke përdorur mjetin tonë të brendshëm Cloud Replicator. Më pas, ne përdorim Apache Airflow për të krijuar kanale, të cilat përdorin "bq_load" për të ngarkuar të dhënat nga GCS në BigQuery. Ne përdorim Presto për të pyetur grumbuj të dhënash Parquet ose Thrift-LZO në GCS. BQ Blaster është një mjet i brendshëm Scalding për ngarkimin e grumbujve të të dhënave HDFS Vertica dhe Thrift-LZO në BigQuery.

Në seksionet në vazhdim, ne do të diskutojmë qasjen dhe njohuritë tona për thjeshtësinë e përdorimit, performancën, menaxhimin e të dhënave, funksionalitetin e sistemit dhe kostot.

Thjeshtësia e përdorimit

Ne zbuluam se përdoruesit kishin lehtësi të madhe për t'u nisur me BigQuery, pasi nuk kërkonte instalim të softuerit dhe përdoruesit mund të hynin në të përmes një ndërfaqeje të kuptueshme në internet. Megjithatë, përdoruesit duhej të njiheshin me disa funksione të GCP dhe konceptet e tij, duke përfshirë burime si projektet, grumbujt e dhënash dhe tabelat. Ne zhvilluam materiale mësimore dhe udhëzues për të ndihmuar përdoruesit të fillojnë punën. Me një kuptim basal, përdoruesit mund të lëvizin lehtësisht nëpër grumbujt e dhënash, të shohin skemën dhe të dhënat e tabelave, të kryejnë kërkesa të thjeshta dhe të vizualizojnë rezultatet në Data Studio.

Qëllimi ynë për sa i përket futjes së të dhënave në BigQuery ishte të sigurojmë ngarkim të qetë të grumbujve të të dhënave HDFS ose GCS me një klikim të vetëm. Ne shqyrtuam Cloud Composer (Airflow i menaxhuar), por nuk arritëm ta përdorim për shkak të modelit tonë të sigurisë "Domain Restricted Sharing" (më shumë për këtë në seksionin "Menaxhimi i të dhënave" më poshtë). Ne eksperimentuam me përdorimin e Shërbimit të Transferimit të të Dhënave Google (DTS) për organizimin e detyrave ngarkesë në BigQuery. Ndërkohë që DTS u konfigurua shpejt, nuk ishte fleksibël për ndërtimin e konvejerëve me varësi. Për versionin tonë alpha, krijuam një ambient të vetin Apache Airflow në GCE dhe e po përgatitim për të punuar në prodhim dhe për të mbështetur më shumë burime të dhënash, si Vertica.

Për të transformuar të dhënat në BigQuery, përdoruesit krijojnë konvejerë të thjeshtë të të dhënave SQL, duke përdorur kërkesa të planifikuara. Për konvejerët kompleksë me shumë hapa me varësi, planifikojmë të përdorim ose infrastrukturën tonë Airflow ose Cloud Composer së bashku me Cloud Dataflow.

Performanca

BigQuery është krijuar për kërkesa SQL siç janë ato me qëllim të përgjithshëm, të cilat përpunojnë sasi të mëdha të dhënash. Ai nuk është i dizajnuar për kërkesa me vonesë të ulët, me kapacitet të lartë kalimi, të nevojshme për baza të dhënash transaksionale, ose për analizën e serive temporale me vonesë të ulët. Apache Druid. Për kërkesat analitike interaktive, përdoruesit tanë presin një kohë përgjigjeje më pak se një minutë. Duhej ta projektin përdorimin e BigQuery në mënyrë që të përmbushim këto pritshmëri. Për të siguruar një performancë të parashikueshme për përdoruesit tanë, ne përdorëm funksionalitetin e BigQuery, të disponueshëm për klientët me pagesë fikse, që lejon pronarët e projekteve të rezervojnë slotet minimale për kërkesat e tyre. Slot BigQuery është një njësi fuqie llogaritëse e nevojshme për të ekzekutuar kërkesat SQL.

Kemi analizuar më shumë se 800 kërkesa, duke përpunuar rreth 1 TB të dhënash çdo, dhe zbuluam se koha mesatare e ekzekutimit ishte 30 sekonda. Mësuam gjithashtu se performanca varet fort nga përdorimi i slots tonë në projekte dhe detyra të ndryshme. Duhet të jemi të qartë në ndarjen e rezervave tona të slots për prodhim dhe ad hoc, për të mbajtur performancën për skenarët e përdorimit të prodhimit dhe analizën interaktive. Kjo ndikuar shumë në dizajnin tonë për rezervimin e slots dhe hierarkinë e projekteve.

PĂ«r menaxhimin e tĂ« dhĂ«nave, funksionalitetin dhe koston e sistemeve, do tĂ« flasim nĂ« ditĂ«t nĂ« vijim nĂ« pjesĂ«n e dytĂ« tĂ« pĂ«rkthimit, ndĂ«rsa tani ftojmĂ« tĂ« gjithĂ« tĂ« interesuarit pĂ«r njĂ« webinar tĂ« drejtpĂ«rdrejt falas, ku do tĂ« jetĂ« e mundur tĂ« informoheni nĂ« detaje rreth kursit dhe tĂ« bĂ«ni pyetje ekspertit tonĂ« — Egor Mateshuk (Inxhinier i DhĂ«nave Senior, MaximaTelecom).

Lexoni më shumë:

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster