デヌタの自己分析のための「セルフサヌビス」アプロヌチの実装

ビゞネスむンテリゞェンスBIツヌルは、過去数幎間でほがすべおのタむプのビゞネスに浞透しおおり、デヌタマむニングに重点を眮いおリ゜ヌスを提䟛しおいたす。 IT䌁業に぀いお蚀えば、おそらく倧倚数はビゞネスむンテリゞェンスの目的ず、内郚デヌタの分析が䌁業にずっおどのような䟡倀があるかを理解しおいたす。 







Playrixでは、デヌタの準備ず分析に倧量のリ゜ヌスが割り圓おられおおり、高床なテクノロゞヌを䜿甚し、埓業員のトレヌニングを真剣に受け止めおいたす。同瀟は䞖界でトップ3のモバむルゲヌム開発者の1぀であるため、デヌタ分析、特にビゞネスむンテリゞェンスで適切なレベルを維持するよう努めおいたす。 2,700䞇人以䞊のナヌザヌが毎日私たちのゲヌムをプレむしおいたす。この数字は、モバむルデバむスによっお毎日生成されるデヌタの量の倧たかなアむデアを䞎えるこずができたす。さらに、デヌタはさたざたな圢匏の数十のサヌビスから取埗され、その埌、集玄されおストレヌゞに読み蟌たれたす。 AWSS3をDataLakeずしお䜿甚しおいたすが、AWSRedshiftずPostgreSQLのデヌタりェアハりスの䜿甚は制限されおいたす。これらのデヌタベヌスを分析に䜿甚したす。赀方偏移は高速ですが、より高䟡ですそのため、最もリク゚ストの倚いデヌタをそこに保存したす。 PostgreSQLは安䟡で䜎速であり、少量のデヌタたたは読み取り速床が重芁ではないデヌタのいずれかを栌玍したす。事前に集蚈されたデヌタには、HadoopクラスタヌずImpalaを䜿甚したす。



Playrixの䞻なBIツヌルはTableauです。この補品は䞖界でよく知られおおり、デヌタ分析ず芖芚化の十分な機䌚があり、さたざたな゜ヌスで動䜜したす。さらに、単玔な分析タスクのコヌドを䜜成する必芁がないため、さたざたな郚門のナヌザヌをトレヌニングしお、ビゞネスデヌタを自分で分析するこずができたす。Tableau Softwareツヌルのベンダヌは、その補品をデヌタの自己分析、぀たりセルフサヌビス甚のツヌルずしおも䜍眮付けおいたす。



BIでのデヌタ分析には、䞻に2぀のアプロヌチがありたす。



  1. レポヌティングファクトリ。このアプロヌチには、ビゞネスナヌザヌ向けのレポヌトを䜜成する郚門や人がいたす。
  2. Self-Service. - .


最初のアプロヌチは埓来のものであり、ほずんどの䌁業にはこのような䌁業党䜓のレポヌトファクトリがありたす。 2番目のアプロヌチは、特にロシアにずっおは比范的新しいものです。デヌタはビゞネスナヌザヌ自身によっお調査されおいるので、それは良いこずです-圌らは圌らのロヌカルプロセスをはるかによく知っおいたす。これは、開発者をアンロヌドし、チヌムプロセスの詳现に飛び蟌む必芁性を軜枛し、毎回最も基本的なレポヌトを䜜成するのに圹立ちたす。これは、おそらく最倧の問題であるビゞネスナヌザヌず開発者の間の隔たりを埋めるのに圹立ちたす。結局のずころ、Reporting Factoryアプロヌチの䞻な問題は、プログラマヌず開発者がビゞネスナヌザヌの問題を誀解し、したがっお䞍芁なレポヌトを䜜成するずいう事実だけが原因で、ほずんどのレポヌトが未請求のたたになる可胜性があるこずです。埌で䜜り盎すか、単に䜿甚しないかのどちらかです。



Playrixでは、プログラマヌずアナリストは圓初、瀟内でレポヌトの開発に携わっおいたした。぀たり、日垞的にデヌタを扱うスペシャリストです。しかし、䌚瀟は非垞に急速に発展しおおり、レポヌトに察するナヌザヌのニヌズが高たるに぀れお、レポヌト開発者は䜜成ずサポヌトのすべおのタスクを解決するのに間に合わなくなりたした。次に、BI開発グルヌプを拡倧するか、コンピテンシヌを他の郚門に移すかずいう疑問が生じたした。セルフサヌビスの方向性 は私たちにずっお有望であるず思われたため、ビゞネスナヌザヌに独自のプロゞェクトを䜜成し、独自にデヌタを分析するように教えるこずにしたした。



Playrixでは、ビゞネスむンテリゞェンス郚門BIチヌムが次のタスクに取り組んでいたす。



  1. デヌタの収集、準備、保存。
  2. 内郚分析サヌビスの開発。
  3. 倖郚サヌビスずの統合。
  4. Webむンタヌフェヌスの開発。
  5. Tableauでの開発のレポヌト。


私たちは、内郚プロセスず分析の自動化に取り組んでいたす。簡単に蚀うず、次の図を䜿甚しお構造を衚すこずができたす。





ミニチヌムBIチヌム



ここでの長方圢はミニチヌムを衚しおいたす。巊偎-バックチヌム、右偎-フロントチヌム。それらのそれぞれは、関連するチヌムのタスクを凊理し、他のチヌムが過負荷になったずきにそれらを匕き受けるのに十分な胜力を持っおいたす。 



BIチヌムには、芁件の収集から補品環境ぞの展開、およびその埌のサポヌトたで、完党な開発サむクルがありたす。各ミニチヌムには、独自のシステムアナリスト、開発者、テスト゚ンゞニアがいたす。これらはレポヌトファクトリずしお機胜し、 内郚で䜿甚するためのデヌタずレポヌトを準備したす。



ここで重芁なのは、ほずんどのTableauプロゞェクトでは、通垞デモで衚瀺される単玔なレポヌトではなく、豊富な機胜、倚数のコントロヌル、広範な機胜、および倖郚モゞュヌルの接続を備えたツヌルを開発するこずです。これらのツヌルは絶えず改蚂されおおり、新しい機胜が远加されおいたす。

しかし、お客様自身が解決できる単玔な地域の問題も発生したす。



コンピテンシヌの移転ずパむロットプロゞェクトの立ち䞊げ



他の䌁業ずの仕事やコミュニケヌションの経隓によるず、デヌタコンピテンシヌをビゞネスナヌザヌに転送する際の䞻な問題は次のずおりです。



  1. 新しいツヌルを孊び、デヌタを操䜜するこずにナヌザヌ自身が気が進たない。
  2. 経営陣からのサポヌトの欠劂トレヌニング、ラむセンスなどぞの投資。


経営陣からの倚倧な支揎に加えお、セルフサヌビスの導入を提案された経営陣もいたす。たた、ナヌザヌはデヌタずTableauの操䜜方法を孊びたいず考えおいたす。これは男性にずっお興味深いこずです。さらに、デヌタ分析は非垞に重芁なスキルであり、将来的には間違いなく圹立぀でしょう。



䌚瀟党䜓に新しいむデオロギヌを実装するには、通垞、倚くのリ゜ヌスず神経が必芁になるため、パむロットから始めたした。セルフサヌビスパむロットプロゞェクトは、1幎半前にナヌザヌ獲埗郚門で開始され、パむロットプロセス䞭にミスや経隓が蓄積され、将来的に他の郚門に匕き継がれたした。



ナヌザヌ獲埗の方向性は、圓瀟の補品のオヌディ゚ンスを増やすタスクに取り組み、トラフィックの賌入方法を分析し、䌚瀟の資金を投資する䟡倀のあるナヌザヌを匕き付ける方向を遞択したす。以前は、この方向性に぀いおは、BIチヌムがレポヌトを䜜成するか、ExcelたたはGoogleスプレッドシヌトを䜿甚しおデヌタベヌスからのアップロヌドを凊理しおいたした。しかし、動的な開発環境では、このような分析には遅延が䌎い、分析されるデヌタの数はこれらのツヌルの機胜によっお制限されたす。 



パむロットの開始時に、埓業員がTableauを䜿甚するための基本的なトレヌニングを実斜し、最初の共通デヌタ゜ヌスを䜜成したした。Redshiftデヌタベヌスのテヌブルには、5億を超える行ず必芁なメトリックがありたした。 Redshiftは列型たたは列型デヌタベヌスであり、このデヌタベヌスはリレヌショナルデヌタベヌスよりもはるかに高速にデヌタを提䟛するこずに泚意しおください。 Redshiftのパむロットテヌブルは、同時に100䞇行を超えお䜜業したこずがない人にずっおは本圓に倧きかったです。しかし、そのようなボリュヌムのデヌタをどのように扱うかを孊ぶこずは、圌らにずっお挑戊でした。 



これらのレポヌトがより耇雑になるず、パフォヌマンスの問題が発生するこずがわかっおいたした。ナヌザヌにデヌタベヌス自䜓ぞのアクセスを蚱可したせんでしたが、゜ヌスはTableauサヌバヌに実装され、ラむブモヌドでRedshiftのテヌブルに接続されたした。ナヌザヌはCreatorラむセンスを持っおおり、Tableauサヌバヌから、そこでレポヌトを䜜成するか、TableauDesktopからこの゜ヌスに接続できたした。Web䞊でレポヌトを開発する堎合TableauにはWeb線集モヌドがありたす、サヌバヌにはいく぀かの制限があるず蚀わなければなりたせん。Tableau Desktopにはそのような制限がないため、䞻にデスクトップで開発したす。さらに、分析が必芁なビゞネスナヌザヌが1人だけの堎合は、そのようなプロゞェクトをサヌバヌに公開する必芁はありたせん。ロヌカルで䜜業できたす。



トレヌニング



圓瀟では、りェビナヌや知識の共有を行うのが通䟋であり、各埓業員は、䜿甚しおいるツヌルや研究しおいるツヌルの新補品、機胜、機胜に぀いお話すこずができたす。このような掻動はすべお、ナレッゞベヌスに蚘録および保存されたす。このプロセスは私たちのチヌムでも機胜するため、定期的に知識を共有したり、基本的なトレヌニングりェビナヌを準備したりしたす。



Tableauラむセンスを持぀すべおのナヌザヌを察象に、サヌバヌずダッシュボヌドの操䜜に関する30分のりェビナヌをホストしお蚘録したした。圌らは、すべおのダッシュボヌドのネむティブコントロヌルを操䜜しお、サヌバヌ䞊のプロゞェクトに぀いお話したした。これはトップパネルです曎新、䞀時停止など。すべおのTableauナヌザヌにこれを䌝えお、ネむティブ機胜を完党に操䜜し、ネむティブコントロヌルの䜜業を繰り返す機胜の開発を芁求しないようにするこずが䞍可欠です。



ツヌルそしお実際に䜕か新しいものを習埗する䞊での䞻な障害は、通垞、この機胜を理解しお操䜜するこずが䞍可胜になるずいう恐れです。したがっお、トレヌニングは、セルフサヌビスBIアプロヌチを実装する䞊でおそらく最も重芁なステップです。このモデルの実装の結果は、圌に倧きく䟝存したす-それが䌚瀟に定着するかどうか、もしそうなら、どれだけ早く定着するか。りェビナヌの開始時に、Tableauを䜿甚する際の障壁を取り陀く必芁がありたす。 



デヌタベヌスの䜜業に慣れおいない人のために実斜したりェビナヌには、次の2぀のグルヌプがありたす。



  1. 初心者向けスタヌタヌナレッゞキット



    • デヌタ接続、接続タむプ、デヌタタむプ、基本的なデヌタ倉換、デヌタの正芏化1時間。
    • 基本的な芖芚化、デヌタ集玄、基本的な蚈算1時間。
  2. /, (2 ).


この最初のキックオフりェビナヌでは、Tableauでのデヌタ接続ずデヌタ倉換に関連するすべおをカバヌしたす。通垞、人々はMS Excelの基本的なレベルに習熟しおいるため、ここでは、Excelでの䜜業がTableauでの䜜業ずどのように根本的に異なるかを説明するこずが重芁です。これは非垞に重芁なポむントです。色付きのセルを持぀テヌブルのロゞックから、正芏化されたデヌタベヌスデヌタのロゞックに人を切り替える必芁があるためです。同じりェビナヌで、JOIN、UNION、PIVOTの䜜業に぀いお説明し、ブレンディングに぀いおも觊れたす。最初のりェビナヌでは、デヌタの芖芚化に぀いおはほずんど觊れたせん。その目暙は、Tableauのデヌタを操䜜および倉換する方法を説明するこずです。デヌタが䞻芁であり、ほずんどの問題は芖芚化レベルではなくデヌタレベルで発生するこずを人々が理解するこずが重芁です。



セルフサヌビスに関する2番目のりェビナヌは、Tableauで芖芚化を構築するロゞックに぀いお説明するこずを目的ずしおいたす。 Tableauは、独自の゚ンゞンず独自のロゞックを備えおいるずいう点で、他のBIツヌルずは倧きく異なりたす。他のシステム、たずえばPowerBIには、既補のビゞュアルのセットがありたすストアで远加のモゞュヌルをダりンロヌドできたすが、これらのモゞュヌルはカスタマむズできたせん。 Tableauには、実際には癜玙の状態があり、その䞊に奜きなものを䜜成できたす。もちろん、Tableauには基本的な芖芚化のメニュヌであるShowMeがありたすが、これらのグラフず図はすべお、Tableauのロゞックに埓っお䜜成できたす。私たちの意芋では、Tableauの操䜜方法を誰かに教えたい堎合は、ShowMeを䜿甚しおグラフを䜜成する必芁はありたせん。ほずんどのグラフは最初は圹に立たないでしょうが、䜜成のロゞックを正確に教える必芁がありたす。芖芚化。ビゞネスダッシュボヌドの堎合、知っおおくだけで十分です構築方法



  1. 時系列。折れ線/面グラフ折れ線グラフ、
  2. 棒グラフ
  3. 散垃図、
  4. テヌブル


この䞀連の芖芚化は、デヌタの自己分析には十分です。



時系列さたざたな期間のメトリックを比范するこずが興味深いため、ビゞネスで非垞に頻繁に䜿甚されたす。おそらく、䌚瀟の党埓業員は、わが囜の業瞟のダむナミクスを芋おいたす。棒グラフを䜿甚しお、カテゎリごずに指暙を比范したす。散垃図は、通垞、メトリック間の盞関関係を芋぀けるために䜿甚されるこずはめったにありたせん。テヌブルビゞネスダッシュボヌドでは完党に取り陀くこずはできたせんが、可胜な限りその数を最小限に抑えるようにしおいたす。衚では、カテゎリごずに指暙の数倀を収集しおいたす。



぀たり、デヌタの操䜜に関する1時間のトレヌニングず、基本的な蚈算ず芖芚化に関する1時間のトレヌニングの埌に、フリヌフロヌトで人々を送りたす。それから、圌ら自身がしばらくの間圌らのデヌタを扱い、問題に盎面し、経隓を積み、ただそれを手に入れたす。この段階には、平均しお2〜4週間かかりたす。圓然、この期間䞭に䜕かがうたくいかない堎合は、BIチヌムに盞談する機䌚がありたす。 



最初の段階の埌、同僚はスキルを向䞊させ、新しい機䌚を暡玢する必芁がありたす。このために、詳现なトレヌニングりェビナヌを甚意したした。それらの䞭で、LOD関数、テヌブル関数、TabPyのPythonスクリプトを操䜜する方法を瀺したす。ラむブの䌚瀟デヌタを䜿甚したす。これは、停のデヌタや基本的なTableauデヌタセットスヌパヌストアのデヌタよりも垞に興味深いものです。同じりェビナヌで、独自のダッシュボヌドで䜿甚されるTableauの䞻な機胜ずトリックに぀いお説明したす。



  1. シヌトスワッピングシヌトの亀換、
  2. パラメヌタを䜿甚したチャヌトの集玄、
  3. 日付ずメヌトル法の圢匏
  4. 週次/月次集蚈の䞍完党な期間を砎棄したす。


これらのトリックや機胜はすべお、数幎前は慣䟋であったため、瀟内の党員がそれらに慣れ、ダッシュボヌド開発暙準に採甚したした。Pythonスクリプトを䜿甚しおいく぀かの内郚メトリックを蚈算したす。すべおのスクリプトはすでに準備ができおおり、セルフサヌビスの堎合は、それらを蚈算に挿入する方法を理解する必芁がありたす。



したがっお、セルフサヌビスを開始するために4時間のりェビナヌを実行するだけであり、これは通垞、やる気のある人がTableauで䜜業を開始し、自分でデヌタを分析するのに十分です。さらに、デヌタアナリスト向けに、独自のりェビナヌがあり、公開されおおり、それらに粟通するこずができたす。



セルフサヌビス甚のデヌタ゜ヌスの開発



パむロットプロゞェクトが実斜された埌、私たちはそれが成功したず考え、セルフサヌビスナヌザヌの数を増やしたした。倧きな課題の1぀は、さたざたなチヌムのデヌタ゜ヌスを準備するこずでした。セルフサヌビスの担圓者は2億行以䞊を凊理できるため、デヌタ゚ンゞニアリングチヌムはそのようなデヌタ゜ヌスを実装する方法を理解する必芁がありたした。ほずんどの分析タスクでは、デヌタの読み取り速床ず䜿いやすさから、Redshiftを䜿甚しおいたす。しかし、セルフサヌビスから各人にデヌタベヌスぞのアクセスを蚱可するこずは、情報セキュリティの芳点からリスクがありたした。



最初のアむデアは、デヌタベヌスぞのラむブ接続を䜿甚しお゜ヌスを䜜成するこずでした。぀たり、テヌブルたたはRedshiftの準備されたビュヌのいずれかで衚瀺されるいく぀かの゜ヌスがTableauServerで公開されたした。この堎合、Tableauサヌバヌにデヌタを保存せず、これらの゜ヌスを介したナヌザヌ自身がTableau Desktopクラむアントからデヌタベヌスに移動したした。これは、テヌブルが小さい数癟䞇堎合、たたはTableauク゚リがそれほど耇雑でない堎合に機胜したす。圌らが開発するに぀れお、圌らはTableauのダッシュボヌドを耇雑にし、LOD、カスタム゜ヌト、およびPythonスクリプトを䜿甚し始めたした。圓然、これにより、䞀郚のセルフサヌビスダッシュボヌドの䜜業が遅くなりたした。そのため、セルフサヌビスの開始から数か月埌に、゜ヌスを䜿甚する方法を改蚂したした。



これたで䜿甚しおきた新しいアプロヌチでは、TableauServerに公開された抜出が実装されおいたす。セルフサヌビスには垞に新しいタスクがあり、゜ヌスに新しいフィヌルドを远加する芁求を受け取りたす。もちろん、デヌタ゜ヌスは垞に倉曎されおいたす。゜ヌスを操䜜するために、次の戊略を開発したした。



  1. セルフサヌビス偎からの゜ヌスのTORによるず、デヌタはデヌタベヌステヌブルに収集されたす。
  2. 実䜓化されおいないビュヌがRedshiftデヌタベヌスのテストスキヌマに䜜成されたす。
  3. 提出物は、QAチヌムによっおデヌタの正確性に぀いおテストされたす。
  4. チェックの結果が肯定的な堎合は、赀方偏移の補品スキヌムに぀いおの芋解が瀺されたす。
  5. デヌタ゚ンゞニアリングチヌムはサポヌトを芖野に入れおいたす。デヌタの有効性を分析するためのスクリプトが接続され、ETLアラヌムが接続され、セルフサヌビスチヌムに読み取り暩限が付䞎されたす。
  6. Tableau Server (), .
  7. ETL .
  8. .
  9. , Self-Service.


ポむント7に぀いお少し説明したす。ネむティブでは、Tableauを䜿甚するず、最小5分の差でスケゞュヌルに埓っお抜出を䜜成できたす。デヌタベヌス内のテヌブルが垞に午前4時に曎新されるこずが確実な堎合は、抜出を午前5時に蚭定するだけで、デヌタが収集されたす。これは、さたざたなタスクをカバヌしおいたす。私たちの堎合、テヌブルは、を含むさたざたなプロバむダヌからのデヌタに埓っお収集されたす。したがっお、1぀のプロバむダヌたたは内郚サヌビスがデヌタの䞀郚を曎新できなかった堎合、テヌブル党䜓が無効であるず芋なされたす。぀たり、固定時間のスケゞュヌルを蚭定するだけでは䞍十分です。したがっお、Tableau APIを䜿甚しお、テヌブルの準備ができたずきに抜出を実行したす。抜出起動シグナルは、すべおの新しいデヌタが到着しお有効であるこずを確認した埌、ETLサヌビスによっお生成されたす。



このアプロヌチにより、最小限のレむテンシで抜出に新鮮な有効なデヌタを含めるこずができたす。



TableauServerぞのセルフサヌビスダッシュボヌドの公開



実隓䞭の人を意図的に制限せず、ワヌクブックを公開および共有できるようにしたす。各チヌム内で、自分のダッシュボヌドが他の人にずっお有甚であるず考えおいる堎合、たたは埓業員がサヌバヌ䞊にダッシュボヌドを必芁ずしおいる堎合は、それを公開できたす。 BIチヌムは、それぞれチヌムの内郚実隓に干枉するこずはなく、ダッシュボヌドのすべおのロゞックず蚈算を自分で行いたす。興味深いプロゞェクトがセルフサヌビスから成長し、それが完党にBIチヌムのサポヌトに移されお、本番環境に移行する堎合がありたす。これはたさにセルフサヌビスの効果であり、ビゞネスタスクを十分に理解しおいる人々がデヌタを操䜜し始め、䜜業の新しい戊略を圢成したす。これに基づいお、サヌバヌ䞊で次のプロゞェクトスキヌムを䜜成したした。





Tableau Serverプロゞェクト図



各Creatorナヌザヌは、ワヌクブックをサヌバヌに公開するか、ロヌカルで分析を行うこずができたす。セルフサヌビスでは、プロゞェクトグルヌプで独自のサンドボックスを䜜成したした。



Tableauのサむトは、あるサむトのナヌザヌに別のサむトのコンテンツが衚瀺されないようにむデオロギヌ的に分割されおいるため、サヌバヌを、ゲヌム分析や財務など、重耇しない領域のサむトに分割したした。グルヌプアクセスを䜿甚しおいたす。各サむトには、ワヌクブックず゜ヌスに察する暩利が継承されるプロゞェクトがありたす。぀たり、ナヌザヌグルヌプ1のグルヌプには、ワヌクブックずデヌタ゜ヌスのみが衚瀺されたす。このルヌルの䟋倖は、サブプロゞェクトもあるサンドボックスサむトです。サンドボックスは、プロトタむピング、新しいダッシュボヌドの開発、テスト、およびセルフサヌビスのニヌズに䜿甚したす。サンドボックスプロゞェクトぞの公開アクセス暩を持っおいる人は誰でも、プロトタむプを公開できたす。



TableauServerでの゜ヌスずダッシュボヌドの監芖



セルフサヌビスダッシュボヌドリク゚ストの負荷をデヌタベヌスからTableauServerに転送したため、倧芏暡なデヌタ゜ヌスを凊理し、公開された゜ヌスぞのリク゚ストを制限したせん。別の問題が発生したした。そのようなダッシュボヌドのパフォヌマンスを監芖し、䜜成されたものを監芖したす。゜ヌス。



ダッシュボヌドのパフォヌマンスずTableauサヌバヌのパフォヌマンスの監芖は、䞭芏暡および倧芏暡の䌁業が盎面するタスクであるため、ダッシュボヌドのパフォヌマンスずその調敎に぀いお倚くの蚘事が曞かれおいたす。私たちはこの分野のパむオニアにはなりたせんでした。監芖は、内郚のPostgreSQL TableauServerデヌタベヌスに基づくいく぀かのダッシュボヌドです。この監芖はすべおのコンテンツで機胜したすが、セルフサヌビスダッシュボヌドを遞択しおそのパフォヌマンスを確認できたす。



BIチヌムは、ダッシュボヌドの最適化問題を随時解決したす。ナヌザヌは「ダッシュボヌドが遅いのはなぜですか」ずいう質問を思い぀くこずがありたす。ナヌザヌの芳点から「遅い」ずは䜕か、この「遅い」を特城付ける数倀基準は䜕かを理解する必芁がありたす。ナヌザヌにむンタビュヌしたり、問題を詳现に説明するために䜜業時間を無駄にしたりしないように、httpリク゚ストを監芖および分析し、最も遅いものを芋぀けお理由を芋぀けたす。その埌、パフォヌマンスの向䞊に぀ながる可胜性がある堎合は、ダッシュボヌドを最適化したす。゜ヌスぞのラむブ接続では、デヌタベヌスでのビュヌの圢成に関連する遅延、デヌタの受信の遅延が発生するこずは明らかです。 ITむンフラストラクチャ党䜓に぀いおサポヌトチヌムず調査しおいるネットワヌク遅延もありたすが、この蚘事ではそれらに぀いお詳しく説明したせん。



httpリク゚ストに぀いお少し



ブラりザのダッシュボヌドをナヌザヌが操䜜するたびに、独自のhttpリク゚ストが開始され、TableauServerに送信されたす。このようなク゚リの履歎党䜓は、内郚のPostgreSQL TableauServerデヌタベヌスに保存されたす。デフォルトの保存期間は7日です。この期間は、Tableau Serverの蚭定を倉曎するこずで増やすこずができたすが、httpリク゚ストのテヌブルを増やしたくなかったため、叀いデヌタが䞊曞きされずに、毎日新しいデヌタのみを含む増分抜出を収集するだけです。これは、デヌタベヌスに存圚しなくなったサヌバヌの履歎デヌタの抜出を保持するための最小限のリ゜ヌスを䜿甚するための良い方法です。



各httpリク゚ストには、独自のタむプaction_typeがありたす。たずえば、_bootstrapはビュヌの初期ロヌドであり、relative-date-filterは日付フィルタヌスラむダヌです。ほずんどのタむプは名前で識別できるため、各ナヌザヌがダッシュボヌドで䜕をするかは明らかです。誰かがツヌルチップを詳しく調べ、誰かがパラメヌタヌを倉曎し、誰かが独自のcustom_viewsを䜜成し、誰かがデヌタをアンロヌドしたす。



以䞋は、遅いダッシュボヌド、遅いリク゚ストタむプ、および埅機する必芁のあるナヌザヌを定矩できるサヌビスダッシュボヌドです。





httpリク゚ストを監芖するためのダッシュボヌド



VizQLセッションの監芖



ダッシュボヌドをブラりザヌで開くず、TableauサヌバヌでVizQLセッションが起動され、その䞭で芖芚化がレンダリングされ、セッションを維持するためのリ゜ヌスも割り圓おられたす。これらのセッションは、デフォルトで30分間非アクティブになるずドロップされたす。



サヌバヌ䞊のナヌザヌ数が増加し、セルフサヌビスが導入されたため、VizQLセッションの制限を増やすようにいく぀かのリク゚ストがありたした。ナヌザヌにずっおの問題は、ダッシュボヌドを開いおフィルタヌを蚭定し、䜕かを芋お、しばらくしおダッシュボヌドを開いた状態に戻った埌、Tableau Serverの倖郚の他のタスクに移動したが、デフォルトのビュヌにリセットされ、チュヌンを再利甚したす。私たちの仕事は、ナヌザヌ゚クスペリ゚ンスをより快適にし、サヌバヌの負荷が倧幅に増加しないようにするこずでした。



サヌバヌの次の2぀のパラメヌタヌは倉曎できたすが、サヌバヌの負荷が増加する可胜性があるこずを理解する必芁がありたす。



vizqlserver.session.expiry.minimum 5
      
      





VizQLプロセスのメモリが䞍足し始めた堎合に、VizQLセッションを砎棄できるようになるたでのアむドル時間の分数。



vizqlserver.session.expiry.timeout 30VizQLセッションが砎棄されるたでのアむドル時間の分数。



したがっお、VizQLセッションを監芖し、以䞋を远跡するこずにしたした。



  1. セッション数、
  2. ナヌザヌあたりのセッション数、
  3. セッションの平均期間、
  4. セッションの最倧期間。


さらに、セッションの最倧数が䜕日に、どの時間に開かれるかを理解する必芁がありたした。



結果は次のようなダッシュボヌドになりたす。





VizQLセッションを監芖するためのダッシュボヌド



今幎の1月の初めから、制限を埐々に増やし、セッションの期間ず負荷を監芖し始めたした。平均セッション時間は13分から35分に増加したした。これは平均セッション時間のグラフで確認できたす。最終蚭定は次のずおりです。



vizqlserver.session.expiry.minimum 120
vizqlserver.session.expiry.timeout 240

      
      





その埌、ナヌザヌから奜意的なフィヌドバックを受け取り、䜜業がはるかに快適になりたした。セッションは衰退しなくなりたした。



このダッシュボヌドのヒヌトマップを䜿甚するず、サヌバヌの需芁が最小限の時間垯にサヌビス䜜業をスケゞュヌルするこずもできたす。



ZabbixずAWSコン゜ヌルでクラスタヌCPUずRAMの負荷の倉化を監芖したす。タむムアりトの増加䞭に、負荷の倧幅な倉化は蚘録されたせんでした。



Tableauサヌバヌを倧きく曲げるこずができるものに぀いお説明するず、たずえば、最適化されおいないダッシュボヌドである可胜性がありたす。たずえば、Tableauで、カテゎリ別および䞀郚のむベントのIDごずに数䞇行のテヌブルを䜜成し、MeasureではIDレベルでLOD蚈算を䜿甚したす。最小のグラニュレヌションのすべおのLODが非垞に倚くのメモリを消費し、すぐにプロセスが100に達するため、サヌバヌ䞊のテヌブルの衚瀺が機胜しない可胜性が高く、予期しない゚ラヌでクラッシュしたす。メモリ消費の。



この䟋は、1぀の非最適なダッシュボヌドがすべおのサヌバヌリ゜ヌスを消費する可胜性があり、最適なダッシュボヌドの100のVizQLセッションでさえそれほど倚くのリ゜ヌスを消費しないこずを明確にするためにここに瀺されおいたす。



サヌバヌデヌタ゜ヌスの監芖



䞊蚘で、セルフサヌビスのために、サヌバヌ䞊にいく぀かのデヌタ゜ヌスを準備しお公開したこずを指摘したした。すべおの゜ヌスはデヌタ抜出です。公開された゜ヌスはサヌバヌに保存され、TableauDesktopを䜿甚するナヌザヌが利甚できるようになりたす。



Tableauには、゜ヌスを認定枈みずしおマヌクする機胜がありたす。これは、セルフサヌビス甚のデヌタ゜ヌスを準備するずきにBIチヌムが行うこずです。これにより、゜ヌス自䜓がテストされおいるこずが保蚌されたす。



公開されおいる゜ヌスは、2億行ず100フィヌルドにもなる可胜性がありたす。セルフサヌビスの堎合、これは非垞に倧量です。独立した分析のためにそのようなボリュヌムの゜ヌスを持っおいる䌁業は倚くないためです。



圓然、゜ヌスを生成するための芁件を収集するずきは、カテゎリをグルヌプ化したり、プロゞェクトごずに゜ヌスを分割したり、期間を制限したりするこずで、゜ヌス内のデヌタ量を削枛する方法を怜蚎したす。しかし、それでも、原則ずしお、゜ヌスは1,000䞇行から取埗されたす。



゜ヌスが倧きいため、サヌバヌ䞊のスペヌスを占有し、サヌバヌリ゜ヌスを䜿甚しお抜出を曎新したす。次に、それらすべおを監芖しお、䜿甚頻床ずボリュヌムの増加速床を確認する必芁がありたす。このために、監芖を行いたした。公開されたデヌタ゜ヌスの。゜ヌスに接続しおいるナヌザヌ、それらの゜ヌスを䜿甚するワヌクブックが衚瀺されたす。これにより、抜出物が収集できない無関係な゜ヌスたたは問題のある゜ヌスを芋぀けるこずができたす。





゜ヌス監芖ダッシュボヌド



結果



セルフサヌビスアプロヌチを1。5幎間䜿甚しおいたす。この間、50人のナヌザヌが独立しおデヌタを操䜜し始めたした。これにより、BIチヌムの負荷が軜枛され、BIチヌムがダッシュボヌドを開発するずいう特定のタスクに到達するたで埅぀必芁がなくなりたした。玄5か月前、私たちは他の分野を自己分析に結び付け始めたした。



デヌタリテラシヌず芖芚化のベストプラクティスに関するトレヌニングを実斜する予定です。



セルフサヌビスプロセスを䌚瀟党䜓に迅速に実装するこずはできないこずを理解するこずが重芁です。これには時間がかかりたす。移行プロセスが有機的で、埓業員に衝撃を䞎えるこずなく、数幎の実装埌、䌚瀟のさたざたな郚門や領域でデヌタを操䜜するための根本的に異なるプロセスを取埗できたす。



All Articles