Google の BigQuery がどのようにしおデヌタ分析を民䞻化したか。 パヌト1

おい、ハブル 新しいコヌスストリヌムぞの登録は珟圚OTUSで受付䞭です デヌタ゚ンゞニア。 コヌスの開始に備えお、私たちは䌝統的に興味深い資料の翻蚳を甚意しおきたした。

毎日 XNUMX 億人以䞊の人々が Twitter を蚪れ、䞖界で䜕が起こっおいるかを調べ、議論しおいたす。 各ツむヌトやその他のナヌザヌアクションにより、Twitter 内の内郚デヌタ分析に䜿甚できるむベントが生成されたす。 䜕癟人もの埓業員がこのデヌタを分析しお芖芚化しおおり、゚クスペリ゚ンスを向䞊させるこずが Twitter デヌタ プラットフォヌム チヌムの最優先事項です。

私たちは、幅広い技術スキルを持぀ナヌザヌがデヌタを怜玢し、適切に機胜する SQL ベヌスの分析および芖芚化ツヌルにアクセスできる必芁があるず考えおいたす。 これにより、デヌタ アナリストやプロダクト マネヌゞャヌなど、技術に詳しくないたったく新しいナヌザヌ グルヌプがデヌタから掞察を抜出できるようになり、Twitter の力をより深く理解し、掻甚できるようになりたす。 これが、Twitter でのデヌタ分析を民䞻化する方法です。

内郚デヌタ分析のツヌルず機胜が向䞊するに぀れお、Twitter サヌビスも向䞊したした。 ただし、ただ改善の䜙地がありたす。 Scalding などの珟圚のツヌルにはプログラミング経隓が必芁です。 Presto や Vertica などの SQL ベヌスの分析ツヌルには、倧芏暡なパフォヌマンスの問題がありたす。 たた、デヌタに垞時アクセスせずに耇数のシステムにデヌタを分散させるこずにも問題がありたす。

昚幎発衚したした Googleずの新たなコラボレヌション、その䞭で私たちの䞀郚を転送したす デヌタむンフラストラクチャ Google Cloud Platform (GCP) 䞊で。 Google Cloud ツヌルは ビッグデヌタ Twitter 䞊で分析、芖芚化、機械孊習を民䞻化する取り組みに圹立ちたす。

この蚘事では、これらのツヌルを䜿甚した私たちの経隓、぀たり私たちがこれたでに行ったこず、孊んだこず、そしお次に䜕を行うかに぀いお孊びたす。 ここでは、バッチ分析ず察話型分析に焊点を圓おたす。 リアルタむム分析に぀いおは次の蚘事で説明したす。

Twitter 䞊のデヌタ りェアハりスの歎史

BigQuery に぀いお説明する前に、Twitter でデヌタ りェアハりスの歎史を簡単に振り返っおみる䟡倀がありたす。 2011 幎には、Twitter デヌタ分析が Vertica ず Hadoop で実行されたした。 MapReduce Hadoop ゞョブを䜜成するには、Pig を䜿甚したした。 2012 幎に、Pig を Scalding に眮き換えたした。Scalding には、耇雑なパむプラむンの䜜成機胜やテストの容易さなどの利点を備えた Scala API がありたした。 ただし、SQL の操䜜に慣れおいる倚くのデヌタ アナリストやプロダクト マネヌゞャヌにずっお、これは非垞に急な孊習曲線でした。 2016 幎頃、私たちは Hadoop デヌタの SQL フロント゚ンドずしお Presto を䜿い始めたした。 Spark は、アドホック デヌタ サむ゚ンスや機械孊習に適した Python むンタヌフェむスを提䟛したした。

2018 幎以来、デヌタ分析ず芖芚化に次のツヌルを䜿甚しおきたした。

  • 生産ラむンの熱凊理
  • アドホックなデヌタ分析ず機械孊習のための Scalding ず Spark
  • アドホックおよびむンタラクティブな SQL 分析のための Vertica ず Presto
  • Druid は、時系列メトリクスぞの䜎むンタラクティブ、探玢的、䜎レむテンシヌのアクセスを実珟したす。
  • デヌタ芖芚化のための Tableau、Zeppelin、Pivo​​t

これらのツヌルは非垞に匷力な機胜を提䟛したすが、これらの機胜を Twitter でより倚くのナヌザヌが利甚できるようにするのは難しいこずがわかりたした。 Google Cloud でプラットフォヌムを拡匵するこずで、Twitter 党䜓の分析ツヌルを簡玠化するこずに重点を眮いおいたす。

Google の BigQuery デヌタ りェアハりス

Twitter のいく぀かのチヌムは、すでに BigQuery を本番パむプラむンの䞀郚に組み蟌んでいたす。 圌らの経隓を掻甚しお、私たちは Twitter のあらゆるナヌスケヌスに察する BigQuery の可胜性を評䟡し始めたした。 私たちの目暙は、BigQuery を党瀟に提䟛し、Data Platform ツヌルキット内で BigQuery を暙準化しおサポヌトするこずでした。 これは倚くの理由から困難でした。 倧量のデヌタを確実に受信し、党瀟的なデヌタ管理をサポヌトし、適切なアクセス制埡を確保し、顧客のプラむバシヌを確​​保するためのむンフラストラクチャを開発する必芁がありたした。 たた、チヌムが BigQuery を効果的に䜿甚できるように、リ゜ヌスの割り圓お、モニタリング、チャヌゞバックのためのシステムを䜜成する必芁もありたした。

2018 幎 250 月に、党瀟向けに BigQuery ずデヌタポヌタルのアルファ リリヌスをリリヌスしたした。 私たちは、最もよく䜿甚されおいる個人デヌタを消去したスプレッドシヌトの䞀郚を Twitter スタッフに提䟛したした。 BigQuery は、゚ンゞニアリング、財務、マヌケティングなどのさたざたなチヌムの 8 人を超えるナヌザヌによっお䜿甚されおいたす。 ごく最近では、スケゞュヌルされたリク゚ストを陀いお、玄 100 件のリク゚ストを実行し、毎月玄 XNUMX PB を凊理しおいたした。 非垞に肯定的なフィヌドバックを受けた埌、私たちはさらに前進し、Twitter 䞊のデヌタを操䜜するための䞻芁なリ゜ヌスずしお BigQuery を提䟛するこずにしたした。

これは、Google BigQuery デヌタ りェアハりスの高レベル アヌキテクチャの図です。

Google の BigQuery がどのようにしおデヌタ分析を民䞻化したか。 パヌト1
内郚 Cloud Replicator ツヌルを䜿甚しお、ロヌカル Hadoop クラスタヌから Google Cloud Storage (GCS) にデヌタをコピヌしたす。 次に、Apache Airflow を䜿甚しお、「bq_load» GCS から BigQuery にデヌタを読み蟌みたす。 Presto を䜿甚しお、GCS で Parquet たたは Thrift-LZO デヌタセットをク゚リしたす。 BQ Blaster は、HDFS Vertica および Thrift-LZO デヌタセットを BigQuery にロヌドするための内郚 Scalding ツヌルです。

次のセクションでは、䜿いやすさ、パフォヌマンス、デヌタ管理、システムの健党性、コストに関する圓瀟のアプロヌチず専門知識に぀いお説明したす。

䜿いやすさ

BigQuery は゜フトりェアのむンストヌルが䞍芁で、盎感的なりェブ むンタヌフェヌスを通じおアクセスできるため、ナヌザヌは簡単に䜿い始めるこずができるこずがわかりたした。 ただし、ナヌザヌは、プロゞェクト、デヌタセット、テヌブルなどのリ゜ヌスを含む、GCP の䞀郚の機胜ず抂念に慣れる必芁がありたした。 ナヌザヌが䜿い始めるのに圹立぀チュヌトリアルずチュヌトリアルを開発したした。 基本的な理解があれば、ナヌザヌはデヌタセットの移動、スキヌマずテヌブル デヌタの衚瀺、単玔なク゚リの実行、デヌタポヌタルでの結果の芖芚化を簡単に行うこずができたす。

BigQuery ぞのデヌタ入力に関する私たちの目暙は、ワンクリックで HDFS たたは GCS デヌタセットをシヌムレスに読み蟌めるようにするこずでした。 怜蚎したした CloudComposer (Airflow によっお管理されおいたす) が、「ドメむン制限付き共有」セキュリティ モデルのため䜿甚できたせんでした (これに぀いおは、以䞋のデヌタ管理セクションで詳しく説明したす)。 Google Data Transfer Service (DTS) を䜿甚しお BigQuery の読み蟌みタスクを敎理するこずを実隓したした。 DTS はセットアップが迅速でしたが、䟝存関係のあるパむプラむンの構築には柔軟性がありたせんでした。 アルファ リリヌスでは、GCE で独自の Apache Airflow 環境を䜜成し、本番環境ず Vertica などのより倚くのデヌタ ゜ヌスをサポヌトできるように準備しおいたす。

デヌタを BigQuery に倉換するには、ナヌザヌはスケゞュヌルされたク゚リを䜿甚しお単玔な SQL デヌタ パむプラむンを䜜成したす。 䟝存関係のある耇雑なマルチステヌゞ パむプラむンの堎合は、独自の Airflow フレヌムワヌクたたは Cloud Composer を䜿甚する予定です。 クラりドデヌタフロヌ.

ПрПОзвПЎОтельМПсть

BigQuery は、倧量のデヌタを凊理する汎甚 SQL ク゚リ向けに蚭蚈されおいたす。 これは、トランザクション デヌタベヌスに必芁な䜎レむテンシ、高スルヌプットのク゚リ、たたはトランザクション デヌタベヌスによっお実装される䜎レむテンシの時系列分析を目的ずしたものではありたせん。 アパッチドルむド。 むンタラクティブな分析ク゚リの堎合、ナヌザヌは XNUMX 分未満の応答時間を期埅しおいたす。 これらの期埅に応えるために、BigQuery の䜿甚を蚭蚈する必芁がありたした。 ナヌザヌに予枬可胜なパフォヌマンスを提䟛するために、固定料金ベヌスで顧客が利甚できる BigQuery 機胜を䜿甚したした。これにより、プロゞェクト オヌナヌはリク゚ストに察しお最小限のスロットを予玄できたす。 スロット BigQuery は、SQL ク゚リを実行するために必芁なコンピュヌティング胜力の単䜍です。

それぞれ玄 800 TB のデヌタを凊理する 1 を超えるク゚リを分析したずころ、平均実行時間は 30 秒であるこずがわかりたした。 たた、パフォヌマンスはさたざたなプロゞェクトやタスクでのスロットの䜿甚に倧きく䟝存するこずもわかりたした。 実皌働ナヌスケヌスず察話型分析のパフォヌマンスを維持するには、実皌働スロットずアドホックスロットの予玄を明確に分離する必芁がありたした。 これは、スロット予玄ずプロゞェクト階局の蚭蚈に倧きな圱響を䞎えたした。

システムのデヌタ管理、機胜、コストに぀いおは、数日以内に翻蚳の第 XNUMX 郚で説明する予定です。 無料のラむブりェビナヌここでは、コヌスの詳现を孊んだり、圓瀟の専門家である Egor Matesshuk (MaximaTelecom のシニア デヌタ ゚ンゞニア) に質問したりするこずができたす。

続きを読む

出所 habr.com

コメントを远加したす