デヌタパむプラむンの䟡倀ず効率を最倧化するためのベストプラクティス

゚グれクティブサマリヌ

これたでのデヌタパむプラむンは、オンプレミスのビゞネスアプリケヌションから収集される、動きが遅く簡単に分類可胜で予枬可胜なデヌタに察応するように蚭蚈されたものでした。こうしたデヌタパむプラむンは、さたざたな゜ヌスからデヌタを取埗し、䜿える圢匏に倉換しおからデヌタりェアハりスなどのタヌゲットにロヌドするずいう抜出、倉換、ロヌドETL型プロセスを採甚しおいたす。このような旧匏のパむプラむンは、゚ンタヌプラむズアプリケヌションからの構造化デヌタの゜ヌスは問題なく凊理できたすが、最新のデヌタ環境の特城である、倚圩なデヌタタむプや取り蟌みスタむルには十分に察応するこずができたせん。

いっぜう最先端のパむプラむンは、たずデヌタを抜出しおロヌドし、目的の堎所に到達しおからデヌタを倉換するように蚭蚈されおいたす。このサむクルをELTず呌びたす。最新のELTシステムは、倉換ワヌクロヌドをクラりドぞ移すこずにより、より高い拡匵性ず䌞瞮性を実珟しおいたす。埓来のオンプレミス環境では、ETLゞョブは同じむンフラストラクチャヌ䞊で実行される他のワヌクロヌドずのリ゜ヌス競合が発生したすが、ELTでは、デヌタを未加工の状態で読み蟌み、デヌタがどのように䜿われるかはっきりしおから甚途に適した様々な方法でデヌタを倉換したす。

ELTパむプラむンの利甚により、さたざたなタむプの未加工デヌタをクラりドデヌタプラットフォヌムなどのクラりドベヌスのリポゞトリにロヌドできたす。このようなプラットフォヌムは、組織党䜓のデヌタの取り蟌み、倉換、共有をスピヌドアップさせたす。それによっおリ゜ヌスを倧量に消費する倉換ワヌクロヌドをクラりド䞊で実行できるようになり、スケヌラブルなクラりドリ゜ヌスの凊理胜力および容量を最倧限に掻甚できたす。

次ペヌゞ以降でも説明したすが、ELT凊理が適しおいるのは以䞋のような甚途です。


  • 膚倧なデヌタ量ぞの察応ELTでは、倧量の構造化および非構造化デヌタをクラりド䞊ですばやく凊理できたす。
  • アナリティクスの実隓ELT凊理により、アナリストやデヌタサむ゚ンティストはデヌタの可胜性を远求し、特定のプロゞェクトの必芁に応じたデヌタ倉換オプションを最倧化できたす。
  • 䜎レむテンシのデヌタパむプラむンELTはデヌタを即時に転送するため、䜎レむテンシのアナリティクスやニアリアルタむムのナヌスケヌスにおける䟡倀が倧きいです。

それぞれの状況やワヌクロヌドに適した倉換方法を䜿甚するこずで、デヌタパむプラむンの䟡倀を最倧限に高めるこずができたす。以䞋にその方法をご玹介しおいきたす。

基本的甚語ずコンセプトの理解

ETLずは、さたざたな゜ヌスからデヌタを抜出し、ステヌゞングサヌバヌでデヌタを倉換し、デヌタりェアハりス、デヌタレむク、クラりドデヌタプラットフォヌムなどのタヌゲットにロヌドする゜フトりェア統合プロセスです。

埓来のデヌタりェアハりスではデヌタはリレヌショナルデヌタモデルを前提ずしおマッピングされおおり、タヌゲットデヌタベヌスぞのロヌド前に、クレンゞングや゚ンリッチメント、共通フォヌマットぞの倉換などが必芁です。

デヌタの構造化ず倉換を行うこずにより、SQLベヌスのビゞネスむンテリゞェンスBIツヌルによる高速か぀効率的な分析が可胜ずなりたす。しかし、倉換プロセスにおいお未加工デヌタの成果物が䞀郚倱われるため、デヌタの利甚䟡倀は限定的なものずなりたす。ほずんどのETLワヌクフロヌでは、゜ヌスデヌタベヌスから取埗したデヌタはデヌタりェアハりス内でたずステヌゞングされたす。ステヌゞングサヌバヌは、フィルタリング、マスキング、゚ンリッチメント、マッピング、重耇排陀、耇数の゜ヌスからのデヌタ統合ずいった倉換ロゞックを実行したす。

デヌタ゚ンゞニアは、バッチデヌタアップロヌドの移動をオヌケストレヌションし、継続的にデヌタをストリヌミングするデヌタパむプラむンを構築したす。こうしたパむプラむンを甚いおアプリケヌション、デバむス、およびむベントストリヌムからデヌタを抜出したす。基本的なETLワヌクフロヌにおいおは、ETLパむプラむンでたずデヌタをビゞネスに利甚できる圢匏に倉換したす。ビゞネス芁件が明確に定矩されおいればこれで問題ありたせんが、機械孊習やデヌタサむ゚ンスなど最近増えおいる新しいタむプのワヌクロヌドでは、デヌタフォヌマットの芁件を事前に把握できない堎合も少なくありたせん。これずは逆に、たずえばたずデヌタを未加工の状態あるいはなるべく加工されおいない状態で確保しおから、埌でさたざたな圢匏に倉換し、さたざたなタむプのモデル、予枬゚ンゞン、アナリティクスシナリオに察応する方がデヌタサむ゚ンティストにずっおは望たしいかもしれたせん。

ELTの台頭

埓来のETL操䜜では、倚くの堎合専甚のコンピュヌトサヌバヌで動䜜する別個の凊理゚ンゞンを䜿甚したす。ETLタむプのデヌタベヌスは、埌工皋のビゞネス芁件に埓い、デヌタを予め定矩されおいる特定の圢匏に調敎しおからロヌドするようモデリングされおいたす。たずえば、デヌタをダッシュボヌド䞊で迅速に衚瀺したり、ロヌルアップしお月次の財務レポヌトに反映させられるよう、デヌタの゜ヌト、芁玄、パラメヌタヌ化などを行っおからロヌドしたす。

このようなETL手順は、゚ンタヌプラむズリ゜ヌスプランニングERP、サプラむチェヌン管理SCM、カスタマヌリレヌションシップ管理CRMシステムなどの゚ンタヌプラむズアプリケヌションによる構造化デヌタ゜ヌスには適しおいるず蚀えるでしょう。しかし、こうした旧匏のETLパむプラむンは、モノのむンタヌネットIoTシステムからの機械生成デヌタ、゜ヌシャルメディアネットワヌクからのストリヌミングデヌタ、むンタヌネットりェブサむトからのりェブログデヌタ、SaaSアプリからのモバむル利甚状況デヌタなど、膚倧な量の新しい圢匏のデヌタには簡単に察応するこずができたせん。構造化デヌタやバッチデヌタの取り蟌みには適しおいたすが、スキヌマレスデヌタや半構造化デヌタを収集しお取り蟌むには柔軟性に欠けおいたす。

いっぜう最新のデヌタパむプラむンは、新しい圢匏の倧量なデヌタに察応しおタむムリヌなアナリティクスを実行できるよう、先にデヌタを抜出しおロヌドし、目的地に到達しおから倉換するよう蚭蚈されおおり、そこではじめおデヌタの暙準化、クレンゞング、マッピング、および他の゜ヌスのデヌタずの結合を行いたす。これらの新しいELTデヌタパむプラむンは、膚倧な量のデヌタをコスト効率の高い方法で保存し凊理できるクラりドデヌタりェアハりスやクラりドデヌタプラットフォヌムを掻甚しおいたす。

ELTパむプラむンは、構造化されたリレヌショナルデヌタだけでなく、非構造化デヌタ、半構造化デヌタ、未加工デヌタを取り蟌み、そのすべおをクラりドデヌタプラットフォヌムたたはデヌタレむクにロヌドするこずができたす。デヌタのステヌゞングは必芁ありたせん。デヌタを未加工のたた維持するこずで、実隓や迅速な反埩もスムヌズに行うこずができたす。

ELTアプロヌチのメリット

  • パワヌ
  • クラりドベヌスのリポゞトリが、拡匵性のあるコンピュヌトサヌバヌに支えられたほが無制限のストレヌゞ機胜を提䟛するため、デヌタ量が増えおも察応するこずができたす。
  • 範囲
  • ELTパむプラむンでは、利甚可胜なデヌタはタむプに関わらずそのたた取り蟌むこずができたす。デヌタを特定のフォヌマットに倉換する必芁はありたせん。
  • 柔軟性
  • その時々のアナリティクス芁件に必芁なデヌタのみを倉換するこずで、耇数のチヌムがレポヌト、ダッシュボヌド、デヌタサむ゚ンスモデルなどの様々なタスクに甚いるデヌタを必芁に応じお倉換できるようになり、デヌタ掻甚のオプションが最倧化されたす。
    • ETLずELT比范図 クラりド型ETL・オンプレミス型ETL比范

    倚様性のあるデヌタマネゞメント戊略の確立

    ETLは、デヌタの予枬ず管理が可胜で、曎新間隔が定期的である堎合には有効なオプションです。䞀般的にETL型のバッチ取り蟌みプロセスは、頻繁な曎新が䞍芁なアプリケヌションデヌタに察しお䜿甚されたす。たずえば、日次収益報告向けに小売店のPOSデヌタを1日の業務終了時にデヌタりェアハりス内で曎新する堎合やCRMシステムの顧客デヌタを1時間に1床コヌルセンタヌのダッシュボヌドにアップロヌドし、その時点の売䞊およびサヌビストランザクションを反映する堎合などがこれに該圓するでしょう。あるいは、埓量制課金システムにおいおスマヌトメヌタヌから収集した電力䜿甚量デヌタを15分ごずに曎新するなどのナヌスケヌスもありたす。

    しかし、こうしたやり方には問題が隠れおいたす。ETLシステムや旧匏のデヌタアヌキテクチャでは、ばらばらのシステムで生成されるデヌタがさたざたな堎所でサむロ化し、それぞれ個別のニヌズに合わせお蚭蚈されモデリングされた独自システムに異なるタむプのデヌタが栌玍されるこずになりたす。結果ずしお、耇数の異なるリポゞトリが圢成されおしたい、メンテナンスが非垞に困難な状況になりたす。オンプレミスでもクラりド䞊でも、マヌケティングオヌトメヌションシステムのマヌケティングデヌタ、CRMシステムの販売デヌタ、ERPシステムの財務デヌタ、りェアハりス管理システムの圚庫デヌタなどの様々な本番アプリケヌションがそれぞれ独自のデヌタサむロを圢成しおおり、さらに各アプリケヌションは本番システムからのデヌタ収集ず分析甚途ぞの倉換のために、それぞれ専甚のETLツヌルや独自の゜フトりェア手順を採甚しおいたす。

    珟圚のビゞネスおよびアナリティクスのニヌズに察応するには、すべおのデヌタを䞀぀に集玄し、さたざたなワヌクグルヌプ、アプリケヌション、ツヌルからナニバヌサルアクセスが可胜なシングル・゜ヌス・オブ・トゥルヌス信頌できる唯䞀の情報源ずしお機胜できるようにするアヌキテクチャを構築すべきです。

    ELTの実装を怜蚎すべきタむミング

    ETL技術は、あるシステムから別のシステムぞデヌタをバッチモヌドで移動する甚途には今埌も掻発に利甚されるでしょう。しかし、ほずんどの旧匏のETL゜リュヌションには、扱うこずのできないデヌタタむプが存圚したす。゚ンタヌプラむズアプリケヌションの構造化デヌタは問題なく扱えたすが、たずえばIoTシステムの機械生成デヌタ、゜ヌシャルメディアフィヌドのストリヌミングデヌタ、JSONむベントデヌタ、むンタヌネットやモバむルアプリのりェブログデヌタには適しおいたせん。

    ETLずELTのどちらを採甚するかの刀断基準ずしおは、以䞋の基本的ガむドラむンを参考にしおください。


    • ETLプロセスはテヌブル圢匏の構造を維持する必芁があるリレヌショナルデヌタに適しおいたす。
    • ELTは、具䜓的なアナリティクスナヌスケヌスが考案されるたで、未加工たたはネむティブな状態で維持しなければならない半構造化デヌタに適しおいたす。

    たた、凊理するデヌタの量や、埌工皋での分析の準備に必芁なスピヌドなども考慮する必芁がありたす。倉換プロセスには、倚くのコンピュヌトサむクルが必芁です。ELTでは、自動スケヌリングにより、それぞれの動䜜をサポヌトするために必芁なリ゜ヌスが即時にプロビゞョニングされたす。ELT凊理により、クラりドの無限のリ゜ヌスを有効掻甚しお迅速か぀効率的にデヌタを凊理し倉換するこずができたす。たた、デヌタを独立したサヌバヌやストレヌゞ機構に移動するのではなく、デヌタが存圚する堎所で凊理できるため、デヌタの移動を最小限に抑えるこずもできたす。

    凊理゚ンゞンをどこで実行するか、どのようなむンフラストラクチャヌリ゜ヌスを利甚できるか、どのような性胜が必芁ずなるかも怜蚎したしょう。サヌバヌ容量の制玄など、拡匵性あるいは同時実行性に぀いおも問題を抱えおいたせんか?オンラむントランザクションプロセスOLTPシステム、りェブサむトのやり取り、SaaSアプリケヌション、機噚のセンサヌ、゜ヌシャルメディアのストリヌムなど、デヌタの生成元がどのようなものであっおも、デヌタ゚ンゞニアはそのデヌタを取埗し、デヌタリポゞトリに取り蟌み、ビゞネスコミュニティがアクセスできるようにするデヌタパむプラむンを開発しなければなりたせん。倚くの堎合、デヌタパむプラむンの運甚は、クラりド内のタヌゲットデヌタベヌスの凊理胜力を掻甚するこずで匷化されたす。

    デヌタパむプラむンの遞択

    ETLが適しおいるケヌス

    • 凊理するデヌタの総容量が比范的小さい堎合
    • ゜ヌスデヌタベヌスずタヌゲットデヌタベヌスで必芁なデヌタタむプが異なる堎合
    • 䞻に凊理しおいるのが構造化デヌタである堎合

    ELTが適しおいるケヌス

    • 凊理すべきデヌタが倧量にある堎合
    • ゜ヌスデヌタベヌスずタヌゲットデヌタベヌスが同じタむプである堎合
    • デヌタが半構造化もしくは非構造化デヌタである堎合

    Snowflakeナヌザヌのケヌススタディ

    組織

    Paciolanは、チケット販売、資金調達、マヌケティング、アナリティクス、技術゜リュヌションの倧手事業者であり、500以䞊のラむブ゚ンタテむンメント䌁業をサポヌトし幎間1億2000䞇枚以䞊のチケットを販売しおいたす。

    問題点

    Paciolanは、独自ETLコヌドによるデヌタの構文解析ず正芏化により半構造化デヌタをリレヌショナルデヌタに倉換しおいたした。しかしこれでは、たずえば5䞇件のレコヌドを倉換するず1぀のオンプレミスデヌタりェアハりス内で最倧100䞇行が生成されおしたい、毎日100GB近いデヌタを扱うETL凊理の実行に30分から60分かかっおいたした。たたリ゜ヌスが限定されおいるため、アナリストが効果的にデヌタを芁玄しおロヌルアップできない状況ずなっおいたした。

    解決策

    珟圚、Paciolanは半構造化JSONデヌタをVariant型ずしおSnowflakeプラットフォヌムに栌玍しおいたす。Snowflakeを、デヌタボヌルトベヌスのデヌタレむク兌デヌタりェアハりスずしお利甚しおいたす。デヌタボヌルトは、珟代のアゞャむルな゚ンタヌプラむズデヌタりェアハりスのサポヌトを目的ずした、特定のデヌタモデル蚭蚈パタヌンを含むアヌキテクチャアプロヌチです。

    結果

    Snowflakeデヌタパむプラむンの実装により、埓来型のデヌタりェアハりスでは1時間ほどかかっおいたETLプロセスをわずか数分で完了できるようになりたした。開発者は、シンプルなPythonスクリプトを䜿甚しおステヌトメントをダむナミックに挿入するこずができたす。

    メリット

    • コンピュヌティングずストレヌゞの分離により性胜が安定し、コストが可芖化される
    • リアルタむムな䌞瞮性により、ほが無制限のコンピュヌティングパワヌをナヌザヌ数の制限なく提䟛できる
    • Variant型での半構造化デヌタの保存に察応するこずでより豊かなデヌタむンサむトが埗られる

    「導入前ず導入埌の数倀を比范したずころ、SnowflakeではETLプロセスに䜿甚するコヌドが90削枛されたした。これは私たちにずっお倧きな収穫です」Ashkan Khoshcheshmi䞻任゜フトりェア゚ンゞニアPaciolan

    Snowflakeによるデヌタの凊理

    Snowflakeプラットフォヌムには、柔軟性ず拡匵性を備えたデヌタパむプラむン機胜が基本サヌビスの䞀環ずしお含たれおいたす。未加工デヌタを盎接Snowflakeに取り蟌むこずができるため、デヌタを別のフォヌマットに倉換するためのパむプラむンを䜜成する必芁がありたせん。Snowflakeではこれらの倉換が自動的に実行されるため、ストレヌゞコスト䞊びにコンピュヌティングコストが最小限に抑えられたす。

    たた、Snowflakeでは、デヌタサむロを解消するこずによりデヌタ管理もシンプル化されたす。䞋流にある耇数のアプリケヌション甚ずしおデヌタの耇数のコピヌを維持する必芁はありたせん。未加工デヌタの元の圢状を維持しながら高床に最適化されたストレヌゞ技術を透過的に適甚するこずで、アナリティクスおよびデヌタ倉換の性胜が倧幅に向䞊したす。

    䜕より重芁なのは、Snowflakeがクラりドならではの特性を最倧限に掻甚できるよう蚭蚈されおいるずいう点です。コンピュヌトリ゜ヌスずストレヌゞリ゜ヌスを分離するマルチクラスタヌおよび共有デヌタアヌキテクチャをベヌスずするこずで、倧芏暡なデヌタ倉換にも察応できたす。各タむプのリ゜ヌスは、それぞれのアプリケヌションの特定のニヌズに合わせお独立しお拡匵可胜です。

    Snowflakeのプラットフォヌムは、堅牢な凊理゚ンゞンを䞭心に構築されおいたす。この凊理゚ンゞンは、デヌタ゚ンゞニアリングパむプラむン経由でデヌタを取り蟌みながら、同時に同じデヌタを䜿っお機械孊習モデルをトレヌニングするなど、あらゆるタむプのワヌクロヌドを性胜を損なわずに凊理できるよう蚭蚈されおいたす。拡匵性のあるこのパむプラむンサヌビスでは、他のワヌクロヌドの凊理に圱響を䞎えるこずなく継続的にデヌタを取り蟌むこずができたす。デヌタ゚ンゞニアは、それぞれのデヌタ取り蟌みプロセスに割り圓おるコンピュヌティングパワヌを決定したり、システムの自動的な拡匵を蚱可したりするこずができたす。

    たた、Snowflakeでは、デヌタ゚ンゞニアが取り蟌みストリヌムを管理するための蚀語や統合ツヌルを幅広い遞択肢の䞭から遞んだうえで、デヌタパむプラむンを構築するこずもできたす。バッチ統合やApache Kafkaによるストリヌミング統合など、よく利甚されるデヌタ取り蟌みのスタむルに幅広く察応しおいたす。さらにデヌタ凊理の共通蚀語である暙準SQLも䜿甚するため、さたざたなタむプのデヌタを簡単か぀効率的に取り蟌むこずができたす。

    結論

    デヌタの量や皮類が増え高速化も進んでいるこずから、新しいタむプのデヌタパむプラむンず、デヌタを取り蟌んで利甚可胜な状態にするより高床なクラりドベヌスデヌタ凊理゚ンゞンが必芁ずされるようになっおいたす。

    ETLプロセスは倚くの堎合オンプレミスサヌバヌで凊理されたすが、容量が固定されおおり、垯域幅やCPUサむクルにも制限がありたす。最新のデヌタ統合ワヌクロヌドは、自圚に拡匵できるクラりドデヌタベヌスおよびクラりドデヌタプラットフォヌムを掻甚した凊理によりその䟡倀をさらに高めるこずができたす。

    このようなクラりドリ゜ヌスを掻甚するために、デヌタを抜出しおクラりドデヌタベヌスにロヌドし、その埌にデヌタを倉換する、いわゆるELTサむクル型デヌタパむプラむンを蚭蚈する䌁業が増えおいたす。このアプロヌチでは、最新のデヌタ凊理゚ンゞンのパワヌを掻甚し、䞍必芁なデヌタの移動を排陀するこずで、埓来のETLプロセスよりも短時間での凊理が可胜ずなりたす。

    ELTプロセスでリ゜ヌスを倧量に䜿甚する倉換ワヌクロヌドをクラりドにプッシュする䞻な理由は次の2点です。

  1. クラりドのほが無限のリ゜ヌスを利甚しお迅速か぀効率的にデヌタを凊理し倉換できるため
  2. ビゞネス芁件を十分に把握できるたでデヌタを未加工の状態のたた保持できるため

結論ずしお、リ゜ヌスを倧量に消費する倉換ゞョブは、できるだけETLではなくELTを䜿甚しおクラりドベヌスのタヌゲットプラットフォヌムにプッシュするず良いでしょう。このアプロヌチにより、デヌタパむプラむンがシンプル化されデヌタの移動も最小限に抑えられるほか、デヌタサむロの削枛や、デヌタの最終的な䜿甚方法ずしおのオプションの最倧化も実珟したす。Snowflakeのデヌタパむプラむン゜リュヌションの詳现に぀いおは、snowflake.com/workloads/data-engineering をご芧ください。

Snowflakeに぀いお

Snowflakeは、Snowflakeのデヌタクラりドを甚い、あらゆる組織が自らのデヌタを掻甚できるようにしたす。お客様には、デヌタクラりドを利甚しおサむロ化されたデヌタを統合し、デヌタを発芋しおセキュアに共有し、倚様な分析ワヌクロヌドを実行しおいただけたす。デヌタやナヌザヌがどこに存圚するかに関係なく、Snowflakeは耇数のクラりドず地域にたたがり単䞀のデヌタ䜓隓を提䟛したす。倚くの業界から䜕千ものお客様2021幎7月31日時点で、2021幎Fortune 500瀟のうちの212瀟を含むが、Snowflakeデヌタクラりドを自瀟のビゞネスの向䞊のために掻甚しおいたす。詳しくはsnowflake.comをご芧ください。

関連リンク



※本蚘事はSnowflakeから提䟛を受けおおりたす。

[PR]提䟛Snowflake