<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Data Warehousing</title><link>https://cloud.google.com/blog/ja/topics/data-warehousing/</link><description>Data Warehousing</description><atom:link href="https://cloudblog.withgoogle.com/blog/ja/topics/data-warehousing/rss/" rel="self"></atom:link><language>ja</language><lastBuildDate>Fri, 30 Sep 2022 01:34:08 +0000</lastBuildDate><image><url>https://cloud.google.com/blog/ja/topics/data-warehousing/static/blog/images/google.a51985becaa6.png</url><title>Data Warehousing</title><link>https://cloud.google.com/blog/ja/topics/data-warehousing/</link></image><item><title>出前館：データ ウェアハウスを BigQuery に移行し、データ分析のパフォーマンスが大幅に向上</title><link>https://cloud.google.com/blog/ja/topics/customers/demaecan-data-warehouse-migration-to-bigquery/</link><description>&lt;div class="block-paragraph"&gt;&lt;p&gt;国内最大級のフードデリバリー サービスを運営する株式会社出前館（以下、出前館）。地域の人々の幸せをつなぐライフインフラになることをビジョンに掲げる同社では、エンドユーザー、加盟店、配達員という 3 者の満足度をさらに高め、より品質の高いサービスの提供につなげるために、データ分析の基盤となるデータ ウェアハウスの BigQuery への移行を実施しました。この移行プロジェクトの担当者 2 名に話を伺いました。&lt;/p&gt;&lt;p&gt;&lt;b&gt;利用しているサービス：&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://cloud.google.com/bigquery?hl=ja"&gt;BigQuery&lt;/a&gt;、&lt;a href="https://cloud.google.com/storage?hl=ja"&gt;Cloud Storage&lt;/a&gt;、&lt;a href="https://marketingplatform.google.com/intl/ja/about/analytics/" target="_blank"&gt;Google アナリティクス&lt;/a&gt;、&lt;a href="https://firebase.google.com/?hl=ja" target="_blank"&gt;Firebase&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;利用しているソリューション：&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://cloud.google.com/solutions/data-warehouse-modernization?hl=ja"&gt;データ ウェアハウスのモダナイゼーション&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;データ ウェアハウスを BigQuery に一本化することで、集客・注文・ユーザーを組み合わせたデータ分析を実現&lt;/h3&gt;&lt;p&gt;出前館では、注文の処理やドライバーへの指示を行うバックエンドのシステムを他社のクラウド サービスを利用して構築しています。そのため、データ分析の基盤となるデータ ウェアハウスについても、同じクラウド サービスのプロダクトを利用していました。一方で、Web サイトおよびモバイルアプリのアクセスログを格納するデータ ウェアハウスについては、従来から BigQuery を利用していました。&lt;/p&gt;&lt;p&gt;今回、出前館が実施した移行プロジェクトの目的は、この 2 つに分かれたデータ ウェアハウスを統合し、BigQuery に一本化することでした。2 か所に分断されているデータを統合することで、分析パターンの拡充や、パフォーマンスの向上といったメリットを得ることができるからです。&lt;/p&gt;アクセスログに対してのみ BigQuery が採用されていた理由としては、 クエリ レスポンスの速さや、&lt;a href="https://marketingplatform.google.com/intl/ja/about/analytics/" target="_blank"&gt;Google アナリティクス 4&lt;/a&gt;（GA4）、&lt;a href="https://firebase.google.com/?hl=ja" target="_blank"&gt;Firebase&lt;/a&gt; との親和性の高さが挙げられると、アナリティクスグループ グループマネージャーの宮崎 耕助氏は説明します。&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/demae-can_1.max-1000x1000.jpg"
        
          alt="demaekan"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  





      &lt;p&gt;「もともと、アクセスログに対する BigQuery の採用は注文系のシステム構築とは別の独立したプロジェクトとして行われました。出前館のフロントエンドでは、Web サイトのアクセスログの取得に GA4 を、モバイルアプリのログ取得に Firebase を利用しています。これらのツールとシームレスに連携できる BigQuery は、アクセスログを適切な形式で格納して処理するのに最適な環境でした。」（宮崎氏）&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;実際に BigQuery を利用した経験から、「アクセスログを SQL で直接操作して分析を実行できるのは画期的でした」と、その強みを語る宮崎氏。一方で、注文系システムのデータが異なるデータ ウェアハウスに格納されていることによる分析の限界も感じるようになったと言います。&lt;/p&gt;&lt;p&gt;「フード デリバリー事業の拡大に伴って、アクセスログ単体だけでなく、注文データと掛け合わせた分析へのニーズが高まってきました。より効果的な施策につなげるためには、集客と注文、そしてユーザーという 3 種類のデータを組み合わせた多角的な分析が不可欠です。しかし、アクセスログと注文データが分断された従来の構成のままでは、限定的な分析しか行うことができません。このことが、注文系システムのデータ ウェアハウスを BigQuery へ移行する大きなモチベーションでした。」（宮崎氏）&lt;/p&gt;&lt;p&gt;データ ウェアハウスの移行にあたっては、注文系システム側に一本化するという選択肢もあったものの、「パフォーマンスや利便性の高さを考慮した結果、最終的には BigQuery の強みが上回るという結論に達しました」と宮崎氏は説明します。&lt;/p&gt;&lt;p&gt;「先行してアクセスログの分析に BigQuery を使用していた経験から、大量のデータを取り扱うには BigQuery ならではの高速なレスポンスが不可欠だと判断しました。グループ企業である Zホールディングス（Zホールディングス株式会社）や IT 系の企業のデータ分析基盤に BigQuery の採用が進んでおり、事例が豊富だという事実もこの決断を後押ししました。」（宮崎氏）&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        &lt;a href="https://services.google.com/fh/files/blogs/demaecan_architecture.png" rel="external" target="_blank"&gt;
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/demaecan_architecture.max-1000x1000.png"
        
          alt="demaekan"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;クリックして拡大&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;h3&gt;分析レパートリーの拡大によって選択できる施策が増加、パフォーマンスも大幅に向上&lt;/h3&gt;システム構築を担当したシステム運用グループ インフラ構築保守チームの岡田 泰弘氏は、BigQuery への移行プロジェクトについて次のように振り返ります。&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/demae-can_2.max-1000x1000.jpg"
        
          alt="demaekan"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  





      &lt;p&gt;「実は当初、私自身は注文系システム側へ統合する案を支持していました。インフラを担当する立場としては、その方がシステム構成をシンプルにできると考えたからです。その一方で、BigQuery のパフォーマンスに期待する気持ちもありました。従来のシステムだと、分析パターンによってはデータをチューニングしてからでなければレスポンスに非常に時間がかかるという状況が発生しており、将来的にシステムの利用者やリクエストが増えた場合の運用に不安を感じていたからです。」（岡田氏）&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;結果的に、BigQuery への移行は運用面の負荷の大幅な削減につながる最良の選択だったと岡田氏は話します。&lt;/p&gt;&lt;p&gt;「従来システムにおける課題だったパフォーマンス面の問題については、BigQuery に移行したことで完全に解消されました。それまでレスポンスに数十分かかっていたような処理も、BigQuery では特別なデータ チューニングを行わなくても即座に結果を得られるようになりました。」（岡田氏）&lt;/p&gt;&lt;p&gt;事業部におけるデータ活用という点でも大きな効果を得られたと宮崎氏は続けます。&lt;/p&gt;&lt;p&gt;「当初の狙い通り、集客・注文・ユーザーの組み合わせによる多角的な分析が可能になり、EC ビジネスの根幹としての分析レパートリーが拡大したため、選択できる施策も大幅に増えました。例えばマーケティングにおいては、アクセスの流入元の分析を売上や注文に紐づけてレポートできるようになり、集客チャネルごとの費用対効果を可視化することができました。また、出前館では頻繁にキャンペーンを実施していますが、集客面でのキャンペーンの効果を見える化できるようになったのも、BigQuery に移行した成果のひとつです。営業チームからは店舗別の集客・コンバージョン率の分析ができるようになったことが好評を得ています。」（宮崎氏）&lt;/p&gt;&lt;p&gt;実際の移行作業では、バック グラウンドにおける各データの使用状況の確認を含めた移行対象データの調整や、ETL（Extract / Transform / Load）機能の大幅な書き換えなどが必要でした。それにも関わらず、実際にシステムを使用する事業部のメンバーから不満の声が上がることはなく、スムーズな移行を実現できたと宮崎氏は言います。&lt;/p&gt;&lt;p&gt;「BigQuery のデータは、事業部側では BI ツールである Tableau のダッシュボードで見る形になっています。Tableau については従来より使用していたので、慣れ親しんだ画面構成を引き継いだのが良かったのだと思います。このダッシュボードの部分に関しても、BigQuery への移行で Tableau 用のデータを作成するバッチ処理のパフォーマンスと安定性は大幅に向上しています。パフォーマンスというのは、システムの利用者に意識されている時点で何か問題が発生している可能性が高いことを意味しています。事業部からの不満の声が上がってこないということ自体が、今回の移行に高い価値を感じてもらえていることの表れだと思っています。」（宮崎氏）&lt;/p&gt;&lt;h3&gt;事業の成長に伴い、分析基盤としての BigQuery の利用は拡大&lt;/h3&gt;&lt;p&gt;出前館のフード デリバリー事業は現在も成長を続けており、分析業務の重要性も高まっています。分析基盤としての BigQuery の利用も拡大していくことが予測されるため、それに対応するためのシステムの強化やサービスの拡張も考えていかなければならないと宮崎氏は語ります。&lt;/p&gt;&lt;p&gt;「まだ構想の段階ですが、Google Cloud に移行できたことの強みを生かして、&lt;a href="https://cloud.google.com/data-catalog?hl=ja"&gt;Data Catalog&lt;/a&gt; などを活用したメタデータ管理や、&lt;a href="https://cloud.google.com/build?hl=ja"&gt;Cloud Build&lt;/a&gt;、&lt;a href="https://cloud.google.com/composer?hl=ja"&gt;Cloud Composer&lt;/a&gt; を利用したデータ パイプラインの構築などにもチャレンジできないかと考えています。また、ダッシュボードの強化という観点では、現在 PoC を実施している BI ツールの &lt;a href="https://cloud.google.com/looker?hl=ja"&gt;Looker&lt;/a&gt; に期待を寄せています。現状ではある程度決められたクエリを再利用する形で分析を行う運用を取っており、事業部のメンバーが自発的に集計軸を切り替えた深堀り分析を実施することができていません。もし Looker を導入できれば、事業部で直接データ分析ができるようになり、より利便性の向上を図ることができると考えています。」（宮崎氏）&lt;/p&gt;&lt;p&gt;その他、BigQuery に対するデータの反映をリアルタイムにするというニーズもあると岡田氏は言います。&lt;/p&gt;&lt;p&gt;「現時点では、BigQuery へのデータの取り込みは 1 日 1 回の頻度で実施していますが、これをもっとリアルタイムに行えるようになれば、できることの幅がさらに広がっていくはずです。例えばアクセスログの分析結果を MA ツールに連携してユーザーに対するアクションにつなげるとか、本社からの配送指示やアラートを分析基盤から自動的に発行するなどといった機能を実現できるようになります。」（岡田氏）&lt;/p&gt;&lt;p&gt;これらのシステム強化へのチャレンジを続けていくために、出前館では採用にも力を入れているとのことです。&lt;/p&gt;&lt;p&gt;「現在は新しい環境への移行が完了したばかりの段階なので、この BigQuery 環境を育てていく余地はまだたくさんあります。このチャレンジに参加したい方の応募をお待ちしています。」（宮崎氏）&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/demae-can_3.max-1000x1000.jpg"
        
          alt="demaekan"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;&lt;a href="https://corporate.demae-can.com" target="_blank"&gt;&lt;b&gt;株式会社出前館&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;1999 年 9 月 9 日設立。フードデリバリー サービス「出前館」を運営。2020 年 4 月に LINE株式会社との資本業務提携を強化し、実質的に LINE のグループ企業となった。「テクノロジーで時間価値を高める」をコーポレート ミッションとして掲げ、テクノロジーによって人々の生活や時間をより価値のあるものにすることを目指している。&lt;/p&gt;&lt;p&gt;&lt;b&gt;インタビュイー（写真左から）&lt;/b&gt;&lt;/p&gt;&lt;p&gt;・アナリティクスグループ グループマネージャー 宮崎 耕助 氏&lt;/p&gt;&lt;p&gt;・システム運用グループ インフラ構築保守チーム 岡田 泰弘 氏&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;株式会社出前館の導入事例 PDF は&lt;a href="https://services.google.com/fh/files/blogs/googlecloud_demaecan_casestudy.pdf" target="_blank"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/p&gt;&lt;p&gt;その他の導入事例は&lt;a href="https://cloud.google.com/customers/?hl=ja#/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 30 Sep 2022 00:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/customers/demaecan-data-warehouse-migration-to-bigquery/</guid><category>BigQuery</category><category>Data Warehousing</category><category>Customers</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_image_demaekan_horizontal.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>出前館：データ ウェアハウスを BigQuery に移行し、データ分析のパフォーマンスが大幅に向上</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_image_demaekan_horizontal.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/customers/demaecan-data-warehouse-migration-to-bigquery/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>BigQuery の管理を容易化するリソースグラフとスロット見積もりツール</title><link>https://cloud.google.com/blog/ja/products/data-analytics/bigquery-administrator-hub-helps-manage-bigquery-at-scale/</link><description>&lt;div class="block-paragraph"&gt;&lt;p&gt;※この投稿は米国時間 2021 年 12 月 2 日に、Google Cloud blog に&lt;a href="https://cloud.google.com/blog/products/data-analytics/bigquery-administrator-hub-helps-manage-bigquery-at-scale"&gt;投稿&lt;/a&gt;されたものの抄訳です。&lt;/p&gt;&lt;p&gt;BigQueryでのお客様の分析ワークロードやフットプリントが増加するにつれて、モニタリングと管理の要件も変化していきます。こうした中でお客様が望むのは、大規模環境の管理に対応でき、状況に応じた対処が可能な機能です。また、BigQuery 環境を最適化できる容量管理の機能も求められています。Google の BigQuery Administrator Hub の機能を使用することで、BigQuery の大規模な管理を実現できます。BigQuery Administrator Hub には、リソースグラフとスロット見積もりツールという 2 つの重要な機能が備わっており、管理者が BigQuery 環境を今まで以上に的確に把握できるようサポートします。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_BigQuery_hub.max-1000x1000.jpg"
        
          alt="1 BigQuery hub.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;&lt;a href="https://cloud.google.com/bigquery/docs/admin-resource-charts"&gt;リソースグラフ&lt;/a&gt;は管理者がネイティブですぐに利用できる機能です。スロット使用量のモニタリング、過去の傾向に基づいた容量の管理、ジョブのパフォーマンスに対するトラブルシューティング、クエリの自己診断、必要に応じた対応などを行うことが可能です。主要な指標（スロット使用量、ジョブのパフォーマンス、同時実行ジョブ、処理されたバイト数、失敗したジョブ）が可視化された状態で提供されます。リソースグラフは、&lt;a href="https://cloud.google.com/bigquery/docs/information-schema-intro"&gt;INFORMATION_SCHEMA&lt;/a&gt; テーブルを使用して作成およびレンダリングされ、お客様は目的に特化したダッシュボードでデータを把握したり、そのデータを直接クエリして独自のダッシュボードやモニタリング プロセスを構築したりできます。&lt;/p&gt;&lt;p&gt;BigQuery のお客様である Snap は、リソースグラフの先行ユーザーです。&lt;i&gt;「管理リソースグラフは、スロットの使用状況や、スロット使用率を押し上げているワークロードやクエリを把握できる素晴らしいツールです。このツールのおかげで BigQuery 環境の可視性が向上しました」&lt;/i&gt;と、&lt;b&gt;Snap, Inc. の BigData インフラストラクチャ担当エンジニアリング マネージャーである Muthu Hariharasubramanian 氏&lt;/b&gt;は述べます。&lt;/p&gt;&lt;p&gt;&lt;a href="https://cloud.google.com/bigquery/docs/slot-estimator"&gt;スロット見積もりツール&lt;/a&gt;は、管理者がパフォーマンスに基づいて BigQuery の容量の見積りや最適化を実行できる、インタラクティブな容量管理ツールです。このツールにより、お客様は過去の使用状況に基づいてキャパシティ プランニングを決定することができます。また、ワークロードやパフォーマンスに基づいた容量を見積って最適化するのにも役立ちます。&lt;/p&gt;&lt;p&gt;PayPal はスロット見積もりツールのプレビュー カスタマーです。&lt;i&gt;「スロット見積もりツールはまさに驚くべきもので、BigQuery の差別化要因です。このツールを試用したことで、重要な分析ワークロードのスロット要件予測に関して非常に良い結果が得られました。」&lt;/i&gt;と、&lt;b&gt;PayPal 社のデータ インフラストラクチャおよびクラウド エンジニアリング担当シニア ディレクターの Bala Natarajan 氏&lt;/b&gt;は語ります。&lt;/p&gt;&lt;p&gt;BigQuery 管理者の一日を参考にして、上記のさまざまな機能がどのように役に立つのか見ていきましょう。朝、管理者が BigQuery UI にログインすると、ホーム画面の Administrator Hub が表示されます。この画面で一元的にクエリ、容量、BQ 環境の把握、管理、モニタリングを行います。&lt;/p&gt;&lt;p&gt;リソースグラフで環境をリアルタイムでモニタリングしていたところ、数時間後にスロット使用量が減少したことがわかったので、詳しく調査することにしました。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_BigQuery_hub.max-1000x1000.jpg"
        
          alt="2 BigQuery hub.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;新しいエラーグラフを確認してみると、アクセスの拒否と無効なエラーが急増していることがわかりました。プロジェクト、予約、ユーザー、ジョブの優先度などのフィルターを使用して、エラーをさらに詳しく調査し、朝の時点から何が変化したのかを把握して修正することで、スロットを効率的に利用できます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_BigQuery_hub.max-1000x1000.jpg"
        
          alt="3 BigQuery hub.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;その日のうちに、今度はデータ アナリストから「ジョブの実行速度が 1 週間にわたって徐々に低下している」と連絡が入りました。リソースグラフを確認すると、スロット使用率が最大容量に達していることが判明しました。さらに詳しく調べたところ、新しいワークフローを 1 つ増やしたことが原因で、スロット数が徐々に増加し、すべてのスロットが完全に使用されている状態が続いているとわかりました。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/4_BigQuery_hub.max-1000x1000.jpg"
        
          alt="4 BigQuery hub.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;[スロット見積もりツール] タブに切り替えると、同じようにスロット完全使用率が 100% であることが表示され、1 週間にわたってスロット使用率が上昇しているのが確認できました。予約データを調べ、スロットを追加することでどの程度パフォーマンスを改善できるか分析できます。スロットの追加を決めた場合、状況に応じて特定の予約用のスロットを直接購入することができます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/5_BigQuery_hub.max-1000x1000.jpg"
        
          alt="5 BigQuery hub.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;リソースグラフは一般提供されており、スロット見積もりツールは &lt;a href="https://cloud.google.com/bigquery/docs/reservations-intro"&gt;Reservations&lt;/a&gt; を使用しているお客様にプレビュー版で提供されています。これらの管理機能により、お客様の BigQuery ワークロードの大規模なモニタリングおよび管理がさらに快適になることを願っています。&lt;/p&gt;&lt;p&gt;&lt;i&gt;-プロダクト マネージャー &lt;b&gt;Vidya Shanmugam&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;-ソフトウェア エンジニア &lt;b&gt;Alice Zhu&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-related_article_tout"&gt;





&lt;div class="uni-related-article-tout h-c-page"&gt;
  &lt;section class="h-c-grid"&gt;
    &lt;a href="https://cloud.google.com/blog/ja/products/data-analytics/resource-charts-for-bigquery-administrator-in-public-preview/"
       data-analytics='{
                       "event": "page interaction",
                       "category": "article lead",
                       "action": "related article - inline",
                       "label": "article: {slug}"
                     }'
       class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
        h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker"&gt;
      &lt;div class="uni-related-article-tout__inner-wrapper"&gt;
        &lt;p class="uni-related-article-tout__eyebrow h-c-eyebrow"&gt;Related Article&lt;/p&gt;

        &lt;div class="uni-related-article-tout__content-wrapper"&gt;
          &lt;div class="uni-related-article-tout__image-wrapper"&gt;
            &lt;div class="uni-related-article-tout__image" style="background-image: url('')"&gt;&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="uni-related-article-tout__content"&gt;
            &lt;h4 class="uni-related-article-tout__header h-has-bottom-margin"&gt;リアルタイム モニタリングに BigQuery 管理リソースグラフを使用する&lt;/h4&gt;
            &lt;p class="uni-related-article-tout__body"&gt;BigQuery 管理者向けのリソースグラフを使用すると、スロットの使用量、ジョブの同時実行数、ジョブのパフォーマンスの過去の傾向を簡単に把握できます。&lt;/p&gt;
            &lt;div class="cta module-cta h-c-copy  uni-related-article-tout__cta muted"&gt;
              &lt;span class="nowrap"&gt;Read Article
                &lt;svg class="icon h-c-icon" role="presentation"&gt;
                  &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"&gt;&lt;/use&gt;
                &lt;/svg&gt;
              &lt;/span&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;/section&gt;
&lt;/div&gt;

&lt;/div&gt;</description><pubDate>Fri, 10 Dec 2021 05:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/data-analytics/bigquery-administrator-hub-helps-manage-bigquery-at-scale/</guid><category>Data Warehousing</category><category>Data Analytics</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>BigQuery の管理を容易化するリソースグラフとスロット見積もりツール</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/data-analytics/bigquery-administrator-hub-helps-manage-bigquery-at-scale/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>ぐるなび：BigQuery を中心にデータ収集からデータの可視化や活用まで Google Cloud でデータ分析基盤を刷新</title><link>https://cloud.google.com/blog/ja/topics/customers/gnavi-revamping-the-data-analysis-infrastructure-with-google-cloud/</link><description>&lt;div class="block-paragraph"&gt;&lt;p&gt;飲食店情報サイト「ぐるなび」を中核に、「食でつなぐ。 人を満たす。」という存在意義のもと、「飲食店経営サポート企業」として事業を展開している株式会社ぐるなび。IT と人の力を融合した有益なサービスの提供を目的に、 IT を活用した事業基盤の 1 つであるデータ分析基盤を Google Cloud に刷新。このプロジェクトについて、データ・AI戦略室 データ戦略グループの担当者 3 名に話を伺いました。&lt;/p&gt;&lt;p&gt;&lt;b&gt;利用している Google Cloud ソリューション：&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://cloud.google.com/solutions/data-warehouse-modernization"&gt;データ ウェアハウスのモダナイゼーション&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;利用している Google Cloud サービス：&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://cloud.google.com/bigquery?hl=ja"&gt;BigQuery&lt;/a&gt;、&lt;a href="https://cloud.google.com/composer"&gt;Cloud Composer&lt;/a&gt;、&lt;a href="https://cloud.google.com/storage?hl=ja"&gt;Cloud Storage&lt;/a&gt;、&lt;a href="https://cloud.google.com/looker/?hl=ja"&gt;Looker&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;データ分析基盤の刷新でユーザーの利便性を向上し、飲食店とのマッチングを強化&lt;/h3&gt;&lt;p&gt;「ぐるなび」は、月間ユニーク ユーザー数が約 4,400 万人（2020 年 12 月時点）、会員数約 2,134 万人（2021 年 7月 1 日時点）、有料加盟店舗数が 54,342 店（2021 年 6 月末時点）の飲食店情報サイト。2021 年 7 月より、楽天デリバリー事業、およびテイクアウト事業を承継し、食の総合サービスへの進化の一歩も踏み出しています。&lt;/p&gt;&lt;p&gt;次の課題は、ユーザーの利得性、利便性を向上させ、飲食店とユーザーのマッチングを強化すること。レコメンド機能などで情報をパーソナライズ化し、ユーザーに合った選択肢を提供することで、飲食店への送客につなげていくことが重要です。その一環として、2010 年より活用しているデータ分析基盤を Google Cloud で刷新しました。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Gurunavi_1.max-1000x1000.jpg"
        
          alt="gnavi"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  





      &lt;p&gt;グループ長の小山内氏は、「2010 年ごろからオンプレミスの DWH（Data Warehouse） にアクセス解析データや社内データを統合し、キャンペーン分析やプロダクト PDCA 改善などに活用していました。しかしアクセス解析ツールから、毎日 Raw data を抽出し、DWH にロードする作業のランニング コストがかかることが課題でした」と話します。&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;そこで 2014 年後半、Google アナリティクスプレミアム（現在の &lt;a href="https://marketingplatform.google.com/intl/ja/about/analytics-360/" target="_blank"&gt;Google アナリティクス 360&lt;/a&gt;）の導入をきっかけに、BigQuery を採用。2015 年には、マーケティング用のオンプレミス DWH も BigQuery に移行しています。小山内氏は、「BigQuery は、高速なクエリ レスポンスとスケーラビリティ、スライドやスプレッドシートとの連携によりビジネス部門へのデータ提供を加速できることなど、オンプレミスの DWH のパフォーマンスとは比較できないレベルで快適なことから、すぐに手放せなくなりました」と話します。&lt;/p&gt;&lt;p&gt;「2019 年の組織変更によるデータ戦略グループの新設を機に、BigQuery で運用していたマーケティング用 DWH と別部門で運用していたオンプレミスの DWH 環境をクラウドに統合していくことを決めました。重複していた機能の最適化やオンプレミスで運用していた ETL ツールの保守サービス期間が終了するなどの複合的な理由により、データ分析基盤刷新プロジェクトがスタートしました。」（小山内氏）&lt;/p&gt;&lt;h3&gt;データ分析基盤の運用課題を解決できるツールが Cloud Composer&lt;/h3&gt;&lt;p&gt;新しいデータ分析基盤は、ストレージ サービスを利用したデータレイク（オンプレミス上の複数のデータベースおよび NAS 等のデータを統合 ）と BigQuery で構成されています。&lt;/p&gt;&lt;p&gt;BigQuery で必要なデータは、データレイクから Cloud Storage を経由して取り込み、まずはDataLake 層に格納しています。DataLake 層には Google アナリティクス 360 からエクスポートされたデータ等も格納されています。さらに、データ活用の迅速化や最適化を実現するため、格納したデータを加工して DWH、DataMart の各層を作成しています。この一連の処理を制御するため、Cloud Composer を利用しています。&lt;/p&gt;&lt;p&gt;作成されたデータは、Google スプレッドシート、Looker による可視化やアドホック クエリによる分析等に活用されています。また、図には表現されておりませんが、&lt;a href="https://marketingplatform.google.com/intl/ja/about/data-studio/" target="_blank"&gt;データポータル&lt;/a&gt;も利用しています。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        &lt;a href="https://services.google.com/fh/files/blogs/architecture_gnavi.png" rel="external" target="_blank"&gt;
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/architecture_gnavi.max-1000x1000.png"
        
          alt="gnavi"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;a href="https://services.google.com/fh/files/blogs/architecture_gnavi.png"&gt;クリックして拡大&lt;/a&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Gurunavi_2.max-1000x1000.jpg"
        
          alt="gnavi"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  





      &lt;p&gt;Cloud Composer を採用した理由を、BIチーム リーダーの中島氏は、次のように話します。「現行 ETL ツールは、機能を活用しきれていないため、ライセンス費用が割高となっていました。また定期的なバージョン アップが必要なことや、CUI（Character-based User Interface） が使えず調査、作成、修正に時間がかかる、変更履歴や経緯が把握しにくいといった課題がありました。課題解決に向け、マネージド サービスであること、コードベースの管理ができること、コストや運用工数の削減、ワークフローと ETL が利用できること、という評価基準でツールを選定した結果、すべての課題を解消し、評価基準を満たすことができたのが Cloud Composer でした。」&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;また、Looker の選定理由を中島氏は、「現状のダッシュボードは、Script ＋ SQL とスプレッドシートで運用していましたが、同じ SQL を重複して使っていたので、SQL が冗長的で、スパゲティ構造になっており、改善が必要でした。また、ダッシュボードを作成するまでの一連の開発工数、運用工数の削減も必要でした。こうした課題を解決するために、DWH の設計や&lt;a href="https://docs.looker.com/ja/data-modeling/learning-lookml/what-is-lookml" target="_blank"&gt;LookML&lt;/a&gt; の活用による DRY（Don’t Repeat Yourself） の実現を目指しています。また、Looker の PDT（永続的な派生テーブル） により中間テーブルが自動的に作成されることで、データ参照量削減を期待しています」と話しています。&lt;/p&gt;&lt;h3&gt;データ分析基盤の開発や運用工数・コスト削減が Cloud Composer 導入の最大の目的&lt;/h3&gt;&lt;p&gt;Cloud Composer を採用した効果を中島氏は、次のように話します。「以前は、ジョブが失敗したときの障害対応に多くの時間がかかっていました。Cloud Composer の導入に伴い、ジョブの失敗をビジネス チャットに通知する機能を盛り込むことで、障害発生から検知までの時間が短縮されました。また、通知にログを確認できる URL を含めることで、原因究明がスムーズになりました。さらに、失敗したジョブは自動で再実行されるため、一時的なエラーであれば特に何も対応せずとも解消されます。これにより運用工数が大幅に削減できました。」&lt;/p&gt;&lt;p&gt;ライセンス コストの削減も効果の 1 つ。BIチーム エンジニアの濱田氏は、「Cloud Composer は、Google アカウントがあれば誰でも使えるので、何人で使用しても追加費用がかからず、アカウント不足の問題が解消されました。また、環境の維持にかかる費用も現行 ETL ツールと比べて安く、ETL に関わるランニング コストが半分程度に削減できました」と話します。&lt;/p&gt;&lt;p&gt;Cloud Composer は、環境の構築と削除が容易なため、まず最小のスペックで立ち上げて検証した上で、最適なスペックまで柔軟に拡張していくことができます。これにより、必要な性能をみたした上で最小限の費用で運用することができるため、コスト パフォーマンスに優れています。&lt;/p&gt;&lt;p&gt;また、BigQuery のメリットについて濱田氏は、「インデックスを考慮しなくても、高速に結果が返ってくることに感心しました。複雑なクエリを実行するとなかなか結果が返ってこないこともあるのですが、BigQuery ではその心配はほとんどありません。また、他社のクラウド オブジェクト ストレージから Cloud Storage へのデータ転送サービスが提供されているため、Cloud Storage を経由した BigQuery へのデータ転送が簡単かつ高速におこなえる点も魅力の一つです」と話しています。&lt;/p&gt;&lt;p&gt;同社のデータ分析基盤は、2022 年夏ごろまでにオンプレミスを廃止し、すべてをクラウドによる運用に移行する計画。運用監視の効率化を期待し、データ分析基盤の運用はすべて Cloud Composer から SQL やデータ転送の仕組みを使うことを目指しています。&lt;a href="https://cloud.google.com/bigquery"&gt;BigQuery Omni&lt;/a&gt; によるマルチクラウド管理や Looker を活用した全体最適も進めていく計画です。&lt;/p&gt;&lt;p&gt;さらに今後の計画を小山内氏は次のように話します。「今後はデータガバナンスや &lt;a href="https://cloud.google.com/data-catalog/?hl=ja"&gt;Data Catalog&lt;/a&gt; を利用したメタデータの管理をどのようにするかを検討していきます。また、データ戦略グループには、機械学習を用いてプロダクトの価値向上に取り組むデータサイエンスチームもあり、現在 MLOps に取り組んでいます。今期中には Google Cloud で構築したプロダクトをリリースする計画なので、Google Cloud のサポートには今後も期待しています。」&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/gurunavi_mv.max-1000x1000.jpg"
        
          alt="gnavi"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;&lt;a href="https://corporate.gnavi.co.jp/" target="_blank"&gt;&lt;b&gt;株式会社ぐるなび&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;1996 年に飲食店情報サイト「ぐるなび」を開設。詳細なメニュー情報や今日のおすすめ情報等を事前に確認してから飲食店に行くという外食のスタイルを定着させました。現在ぐるなびは「食でつなぐ。人を満たす。」という存在意義（PURPOSE）のもと、事業を推進しています。今後も「飲食店経営サポート企業」としてさらなるサービスの拡充を図っていきます。&lt;/p&gt;&lt;p&gt;&lt;b&gt;インタビュイー&lt;/b&gt;&lt;/p&gt;&lt;p&gt;・データ・AI戦略室 データ戦略グループ グループ長&lt;/p&gt;&lt;p&gt; 小山内 涼子 氏 &lt;/p&gt;&lt;p&gt;・データ・AI戦略室 データ戦略グループ BIチーム リーダー&lt;/p&gt;&lt;p&gt; 中島 正統 氏&lt;/p&gt;&lt;p&gt;・データ・AI戦略室 データ戦略グループ BIチーム エンジニア&lt;/p&gt;&lt;p&gt; 濱田 大樹 氏&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;株式会社ぐるなびの導入事例 PDF は&lt;a href="https://services.google.com/fh/files/blogs/googlecloud_gnavi_casestudy.pdf" target="_blank"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/p&gt;&lt;p&gt;その他の導入事例は&lt;a href="https://cloud.google.com/customers/?hl=ja#/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 30 Nov 2021 05:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/customers/gnavi-revamping-the-data-analysis-infrastructure-with-google-cloud/</guid><category>BigQuery</category><category>Data Analytics</category><category>Data Warehousing</category><category>Google Cloud</category><category>Customers</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_image_gnavi_horizontal.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>ぐるなび：BigQuery を中心にデータ収集からデータの可視化や活用まで Google Cloud でデータ分析基盤を刷新</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_image_gnavi_horizontal.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/customers/gnavi-revamping-the-data-analysis-infrastructure-with-google-cloud/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>BigQuery のテーブル スナップショットで、スピーディで簡単かつ経済的なデータのバックアップが可能に</title><link>https://cloud.google.com/blog/ja/products/data-analytics/google-bigquery-table-snapshots-for-data-backups/</link><description>&lt;div class="block-paragraph"&gt;&lt;p&gt;※この投稿は米国時間 2021 年 10 月 30 日に、Google Cloud blog に&lt;a href="https://cloud.google.com/blog/products/data-analytics/google-bigquery-table-snapshots-for-data-backups"&gt;投稿&lt;/a&gt;されたものの抄訳です。&lt;/p&gt;&lt;p&gt;人間にミスはつきものです。車の施錠を忘れたり、プライベートなメールに誤って「全員に返信」を押してしまった経験をされたことはありませんか？しかし、エンタープライズ データ ウェアハウスでは、誤ってデータを削除、変更といったミスを犯すと、ビジネスに大きな影響を及ぼしかねません。&lt;/p&gt;&lt;p&gt;BigQuery の&lt;a href="https://cloud.google.com/bigquery/docs/time-travel"&gt;タイムトラベル&lt;/a&gt;は、すべてのデータセットで自動的に有効になり、過去 7 日以内であれば、どの時点のテーブルの状態にもすばやくアクセスできます。しかし、この機能を使ってテーブルを復元するには、「最後の既知の正常な」時間の記録をつけておく必要があり、注意が必要です。また、監査や法規制のコンプライアンス要件に対応するため、7 日間を超えてデータの状態を維持したい場合もあるかもしれません。そこで、新機能 &lt;a href="https://cloud.google.com/bigquery/docs/table-snapshots-intro"&gt;BigQuery テーブル スナップショット&lt;/a&gt;の出番です。&lt;/p&gt;&lt;p&gt;テーブル スナップショットは、BigQuery API、SQL、コマンドライン インターフェース、または Google Cloud Console で利用できます。Cloud Console での簡単な例を見てみましょう。&lt;/p&gt;&lt;p&gt;まず、スナップショット機能を試すために、新しいデータセットとテーブルを作成します。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;CREATE SCHEMA `bq_demo`;\r\nCREATE OR REPLACE TABLE `bq_demo.inventory`\r\n(\r\n product STRING,\r\n quantity INT64\r\n)\r\nOPTIONS (description = &amp;#x27;Product Inventory Table&amp;#x27;);\r\nINSERT `bq_demo.inventory` (product, quantity)\r\n  VALUES(&amp;#x27;top load washer&amp;#x27;, 10),\r\n  (&amp;#x27;front load washer&amp;#x27;, 20),\r\n  (&amp;#x27;dryer&amp;#x27;, 30),\r\n  (&amp;#x27;refrigerator&amp;#x27;, 10),\r\n  (&amp;#x27;microwave&amp;#x27;, 20),\r\n  (&amp;#x27;dishwasher&amp;#x27;, 30),\r\n  (&amp;#x27;oven&amp;#x27;, 5);&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f14e5334f10&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;次に、新しく作成したテーブルの [プロパティ] ページを [エクスプローラ] ペインで選択して開きます。スナップショットのソーステーブルを&lt;i&gt;ベーステーブル&lt;/i&gt;と呼びます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_BigQuery_table_snapshots.max-1000x1000.jpg"
        
          alt="1 BigQuery table snapshots.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;&lt;a href="https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_snapshot_table_statement"&gt;SQL&lt;/a&gt; や &lt;a href="https://cloud.google.com/bigquery/docs/table-snapshots-create#bq"&gt;BigQuery コマンドライン&lt;/a&gt; ツールを使用してスナップショットを作成することもできますが、この例では Cloud Console のツールバーにある [スナップショット] ボタンを使用してinventory テーブルのスナップショットを作成します。&lt;/p&gt;&lt;p&gt;BigQuery では、既存の bigquery.tables.get と bigquery.tables.getData の権限に加えて、ベーステーブルに必要な&lt;a href="https://cloud.google.com/bigquery/docs/table-snapshots-create#permissions"&gt;新しい IAM 権限&lt;/a&gt;（bigquery.tables.createSnapshot）が導入されました。この新しい権限は、bigQuery.dataViewer と bigQuery.dataEditor ロールに追加され、お客様が作成したカスタムロールにも追加する必要があります。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_BigQuery_table_snapshots.max-1000x1000.jpg"
        
          alt="2 BigQuery table snapshots.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;テーブル スナップショットは、データやスキーマの変更はできません。それ以外は通常のテーブルと同じように処理できます。ベーステーブルと同じデータセットにスナップショットを作成する場合は、一意の名前を付けるか、テーブル名の末尾にタイムスタンプを付加した推奨された名前を使用する必要があります。&lt;/p&gt;&lt;p&gt;元のテーブル名をスナップショット名として使用する場合は、名前の競合を避けるために新しいデータセットにスナップショットを作成する必要があります。たとえば、新しいデータセットを作成して、ソース データセットからすべてのテーブルのスナップショットを作成し、元の名前を維持するスクリプトを記述できます。なお、別のデータセットにスナップショットを作成した場合、スナップショットはソースではなくコピー先データセットのセキュリティ構成を継承する点にご留意ください。&lt;/p&gt;&lt;p&gt;オプションで、[有効期限] フィールドに値を入力すると、BigQuery では指定した時点で自動的にスナップショットが削除されます。また、オプションで [スナップショット時間] フィールドに値を指定して、タイムトラベル期間内のベーステーブルの履歴バージョンからスナップショットを作成することもできます。つまり、3 時間前のベーステーブルの状態からスナップショットを作成できます。&lt;/p&gt;&lt;p&gt;この例では、inventory-snapshot という名前を使います。[保存] をクリックしてから数秒後、スナップショットが作成されます。[エクスプローラ] ペインのテーブルのリストに、別のアイコンが表示されます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_BigQuery_table_snapshots.max-1000x1000.jpg"
        
          alt="3 BigQuery table snapshots.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;この操作を SQL で記述すると以下のようになります。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;CREATE SNAPSHOT TABLE `bq_demo.inventory-snapshot`\r\nCLONE `bq_demo.inventory`;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f14e5334ee0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;では、Cloud Console で新しいテーブル スナップショットの [プロパティ] ページを見てみましょう。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/4_BigQuery_table_snapshots.max-1000x1000.jpg"
        
          alt="4 BigQuery table snapshots.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;一般的なスナップショット テーブルの情報に加えて、スナップショットの作成に使用したベーステーブルの情報や、スナップショットが作成された日時が確認できます。これは、ベーステーブルが削除された場合も変わりません。スナップショットのサイズはテーブル全体のサイズを表示します。ただしスナップショットで維持されているデータと現在ベーステーブルで維持されているデータのサイズの差に対して&lt;a href="https://cloud.google.com/bigquery/docs/table-snapshots-intro#pricing"&gt;のみ課金&lt;/a&gt;が発生します（&lt;a href="https://cloud.google.com/bigquery/pricing#storage"&gt;BigQuery の標準的な価格&lt;/a&gt;を使用）。ベーステーブルにデータの削除や変更がない場合は、スナップショットの追加料金は発生しません。&lt;/p&gt;&lt;p&gt;スナップショットは読み取り専用なので、スナップショットのテーブルデータを DML で変更または、スナップショットのスキーマを DDL を使用して変更しようとすると、エラーが発生します。ただし、説明文、有効期限、ラベルなどの&lt;a href="https://cloud.google.com/bigquery/docs/table-snapshots-update"&gt;スナップショットのプロパティ&lt;/a&gt;を変更することは可能です。また、&lt;a href="https://cloud.google.com/bigquery/docs/table-access-controls-intro"&gt;テーブルのアクセス制御&lt;/a&gt;を使用して、他のテーブルと同様に、スナップショットにアクセスできるユーザーを変更できます。&lt;/p&gt;&lt;p&gt;誤ってベーステーブルからデータを削除してしまったとします。SQL ワークスペースで以下のコマンドを実行することで、このケースをシミュレーションできます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;SELECT COUNT(*)\r\nFROM bq_demo.inventory;\r\n \r\nDELETE FROM bq_demo.inventory\r\nWHERE product=&amp;#x27;dryer&amp;#x27;;\r\n \r\nSELECT COUNT(*)\r\nFROM bq_demo.inventory;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f14e5334cd0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;これを見ると、ベーステーブルには 6 行しかありませんが、スナップショットの行数とサイズは変わっていないことがわかります。削除されたデータにアクセスする必要がある場合は、スナップショットに直接クエリを実行します。例えば、以下のクエリでは、スナップショットにまだ 7 行あることを示しています。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;SELECT COUNT(*)\r\nFROM bq_demo.inventory-snapshot;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f14e5334490&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;しかし、スナップショットのデータをアップデートしたい場合は、書き込み可能なテーブルに復元する必要があります。そのためには、Cloud Console の [復元] ボタンをクリックします。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/5_BigQuery_table_snapshots.max-1000x1000.jpg"
        
          alt="5 BigQuery table snapshots.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;デフォルトの設定では、スナップショットは新しいテーブルに復元されます。そこで、既存のテーブルに復元する場合は、既存のテーブル名を使用し、[テーブルが存在する場合は上書きする] チェックボックスをオンにします。&lt;/p&gt;&lt;p&gt;この操作は、BigQuery API、SQL、CLI でも行えます。そして、SQL の記述は以下のようになります。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;CREATE TABLE `bq_demo.inventory-snapshot_restore`\r\nCLONE `bq_demo.inventory-snapshot`;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f14e5334a00&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;このブログでは、Google Cloud Console と新しいテーブル スナップショット機能を使って、BigQuery テーブルのバックアップを簡単に作成する方法を紹介してきました。また、&lt;a href="https://cloud.google.com/bigquery/docs/table-snapshots-scheduled"&gt;スケジュール設定された BigQuery のクエリ機能&lt;/a&gt;を使用して、テーブルのスナップショットを定期的（日単位、月単位など）に作成することもできます。テーブル スナップショットの詳細については、&lt;a href="https://cloud.google.com/bigquery/docs/table-snapshots-intro"&gt;BigQuery ドキュメント&lt;/a&gt;をご覧ください。&lt;/p&gt;&lt;p&gt;&lt;i&gt;- BigQuery グループ プロダクト マネージャー &lt;b&gt;Brian Welcker&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-related_article_tout"&gt;





&lt;div class="uni-related-article-tout h-c-page"&gt;
  &lt;section class="h-c-grid"&gt;
    &lt;a href="https://cloud.google.com/blog/ja/topics/developers-practitioners/bigquery-admin-reference-guide-storage/"
       data-analytics='{
                       "event": "page interaction",
                       "category": "article lead",
                       "action": "related article - inline",
                       "label": "article: {slug}"
                     }'
       class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
        h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker"&gt;
      &lt;div class="uni-related-article-tout__inner-wrapper"&gt;
        &lt;p class="uni-related-article-tout__eyebrow h-c-eyebrow"&gt;Related Article&lt;/p&gt;

        &lt;div class="uni-related-article-tout__content-wrapper"&gt;
          &lt;div class="uni-related-article-tout__image-wrapper"&gt;
            &lt;div class="uni-related-article-tout__image" style="background-image: url('https://storage.googleapis.com/gweb-cloudblog-publish/images/BQS_Storage_Internals.max-500x500.jpeg')"&gt;&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="uni-related-article-tout__content"&gt;
            &lt;h4 class="uni-related-article-tout__header h-has-bottom-margin"&gt;BigQuery 管理者リファレンス ガイド: ストレージの仕組み&lt;/h4&gt;
            &lt;p class="uni-related-article-tout__body"&gt;最適な分析を行うために BigQuery でデータを保存する方法と、パフォーマンスをさらに改善する方法について説明します。&lt;/p&gt;
            &lt;div class="cta module-cta h-c-copy  uni-related-article-tout__cta muted"&gt;
              &lt;span class="nowrap"&gt;Read Article
                &lt;svg class="icon h-c-icon" role="presentation"&gt;
                  &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"&gt;&lt;/use&gt;
                &lt;/svg&gt;
              &lt;/span&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;/section&gt;
&lt;/div&gt;

&lt;/div&gt;</description><pubDate>Thu, 11 Nov 2021 07:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/data-analytics/google-bigquery-table-snapshots-for-data-backups/</guid><category>BigQuery</category><category>Data Warehousing</category><category>Data Analytics</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>BigQuery のテーブル スナップショットで、スピーディで簡単かつ経済的なデータのバックアップが可能に</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/data-analytics/google-bigquery-table-snapshots-for-data-backups/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>BigQuery への移行が容易に</title><link>https://cloud.google.com/blog/ja/topics/data-warehousing/announcing-bigquery-migration-service/</link><description>&lt;div class="block-paragraph"&gt;&lt;p&gt;※この投稿は米国時間 2021 年 10 月 9 日に、Google Cloud blog に&lt;a href="https://cloud.google.com/blog/topics/data-warehousing/announcing-bigquery-migration-service"&gt;投稿&lt;/a&gt;されたものの抄訳です。&lt;/p&gt;&lt;p&gt;移行は容易なことではありません。移行を成功に導くためには時間と労力が必要です。BigQuery のカスタマイズ可能なツールと長年積み重ねた専門知識で、お客様のクラウド移行を容易にします。Google Cloud は、オープンで柔軟性の高いプラットフォームの提供を目指して取り組んでまいりました。その目標に沿ったオープンなアプローチでお客様とパートナーの皆様のために構築した移行ツールは、高い柔軟性と豊富な選択肢を持っています。BigQuery への移行にぜひご活用ください。&lt;/p&gt;&lt;h3&gt;BigQuery への移行にまつわる問題を解決する包括的なソリューション&lt;/h3&gt;&lt;p&gt;本日、BigQuery Migration Service のプレビュー版を発表いたします。このサービスは、移行プロセス全体で必要な機能を備え、無料でご利用いただけるツールセットです。このサービスでは、移行計画、データ移行、SQL / スクリプトの自動変換、データ検証などのツールにより、Teradata から BigQuery の移行にかかる時間を短縮します。なお、近日中に Teradata 以外のデータ ウェアハウスにも対応する予定です。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_Migration_Assessment.max-1000x1000.jpg"
        
          alt="1 Migration Assessment.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;h3&gt;評価: 移行に伴うリスクと費用を計画・管理&lt;/h3&gt;&lt;p&gt;お客様やパートナー様の移行をお手伝いするうえで最も重要なステップは、エコシステム、要件、ビジネス目標を理解することです。こうした情報をもとにそれぞれのケースに合った移行計画を作成し、移行の準備と実施を支援しています。そうしたなかで、前もって移行の複雑度を特定し、対処することで、TCO と移行に伴うリスクの減少につながったケースを幾度も目の当たりにしてきました。&lt;/p&gt;&lt;p&gt;そこで、BigQuery Migration Service の一環として、自動評価ツールの非公開プレビューを発表いたします。この評価ツールには、長年にわたって世界有数の大企業の BigQuery によるモダナイゼーションを支援してきた経験が活かされています。お客様のレガシー ウェアハウスから統計情報を収集して以下の項目に関する状況分析レポートを生成するまでを自動化して、簡単に行えるようにします。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;データベース オブジェクトのリスト、データ I/O のパターン、依存関係&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;クエリの自動変換対象と変換結果&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;クエリからオブジェクトへのマッピング（使用するテーブル、ビュー、関数など）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;ユーザーからテーブルへのマッピング（どのユーザーがどのテーブルにアクセスするのかなど）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;テーブルの相互関係（多くの場合、結合またはサブクエリの対象となるテーブルなど）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;使用中の BI / ETL ツールのリスト&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;この概要レポートにより、優先順位を効率的に判断して、移行に必要なすべてのコンポーネントと作業量を明確に把握できます。加えて、BigQuery データセット内でレポートに使用したすべての評価データをお客様と移行パートナー様向けに提供しています。自由にカスタマイズして、アドホック分析にご使用ください。&lt;/p&gt;&lt;h3&gt;SQL 変換: 手動作業とそれにともなう時間およびエラーを削減&lt;/h3&gt;&lt;p&gt;データ ウェアハウスの移行で特に難しいのは、SQL クエリ、SQL スクリプト、SQL ストアド プロシージャなどの以前のビジネス ロジックをモダナイズすることです。このプロセスでは、通常かなりの量のクエリを手動で書き換え、検証する必要があります。これは、時間がかかるとともに、ミスが起こりやすいプロセスです。そこで本日、このプロセスの大部分を自動化できるバッチおよび対話式の SQL 変換の公開プレビューを発表いたします。この機能により、移行完了までにかかる時間を短縮できます。バッチおよび対話式の SQL 変換は、レガシー オブジェクトを意味的に正しく、人間が判読できる形式にすばやく変換します。また、移行後に依存関係が継続することもありません。さらに、Teradata の DML、DDL、BTEQ などのアーティファクトを幅広くサポートします。BigQuery の SQL ワークスペースから直接、バッチモードまたはアドホックで変換を実行できます。SQL 変換の初期ユーザーの場合、1,000 万を超えるクエリのうち最大 95% が変換に成功し、移行支援パートナー様が手動でレビューしたクエリは最大でもわずか 5% でした。&lt;/p&gt;&lt;p&gt;また、BigQuery SQL エディタで、対話式の SQL 変換を活用した分割ビューをご利用いただけます。BigQuery 言語以外の言語で SQL クエリを入力すると、直ちに BigQuery SQL に変換・表示されます。対話式の SQL 変換を活用したリアルタイムの SQL 変換ツールを使用することで、セルフサービスでのクエリ変換と SQL への一元化された大規模な移行の取り組みを並行して行うことができます。これにより、クエリの移行にアナリストがかける時間や手間を省くだけでなく、BigQuery の最新の機能の活用方法を学ぶスピードを高めることができます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_Migration_Assessment.max-1000x1000.jpg"
        
          alt="2 Migration Assessment.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;h3&gt;データの検証: データの正確性を検証&lt;/h3&gt;&lt;p&gt;データの検証は、データ ウェアハウスの移行プロジェクトにおいて重要なステップです。このステップでは、ソースとターゲットの構造化データと半構造化データを比較して、データとロジックが正しく移行されていることを確認します。GCP &lt;a href="https://github.com/GoogleCloudPlatform/professional-services-data-validator#data-validation-tool" target="_blank"&gt;データ検証ツール&lt;/a&gt;（DVT）は、オープンソース フレームワークを活用したオープンソースの CLI ツールです。このツールのカスタマイズ可能なマルチレベル検証機能は、ソーステーブルとターゲット テーブルをテーブルレベル、列レベル、行レベルで比較します。また、柔軟性が高く、必要に応じて新しい検証ルールを簡単に組み込めます。さらに、自動化、オーケストレーション、スケジュール設定を行う際に、Cloud Functions、Cloud Run、Composer と DVT を統合して定期的に検証を行うことも可能です。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_Migration_Assessment.max-1000x1000.jpg"
        
          alt="3 Migration Assessment.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;h3&gt;BigQuery Migration Service をニーズに合わせてカスタマイズ&lt;/h3&gt;&lt;p&gt;BigQuery Migration Service を使用することにより、お客様の移行プロセスを迅速化、簡素化し、リスクを排除します。お客様のデータ ウェアハウスを、真にサーバレスな最新データ ウェアハウスである BigQuery で安全にモダナイズできます。まずご利用いただけるのは Teradata の移行機能となりますが、近日中に他のデータ ウェアハウスにも対応する予定です。&lt;/p&gt;&lt;p&gt;Google Cloud はオープン性を最重要課題として、お客様とお客様が選んだ移行支援パートナー様がカスタマイズでき、移行を成功に導くためにエンドツーエンドでご活用いただけるツールを構築してきました。指標の収集を合理化し、自由にカスタマイズできるよう元のデータセットを提供する評価機能から、お客様とパートナー様がカスタム検証ロジックを追加できるオープンソースのデータ検証ツールまで、Google Cloud は、お客様がそれぞれ独自のニーズに合わせてカスタマイズできる移行ツールを提供するために取り組んでいます。&lt;/p&gt;&lt;p&gt;移行にかかる時間を短縮するために、Google Cloud のツールをぜひご活用ください。今後の概念実証や移行にツールの活用をご希望の場合は、GCP パートナーか GCP の営業担当にお問い合わせください。または、Google Cloud の&lt;a href="https://cloud.google.com/bigquery/docs/migration-intro"&gt;ドキュメント&lt;/a&gt;をご覧ください。お客様のクラウド移行の取り組みに、パートナーとして参加できることを楽しみにしております。&lt;/p&gt;&lt;p&gt;&lt;i&gt;- BigQuery プロダクト マネージャー &lt;b&gt;Manish Dalwadi&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;- BigQuery ソフトウェア エンジニアリング マネージャー &lt;b&gt;Hamza Arian&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 26 Oct 2021 03:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/data-warehousing/announcing-bigquery-migration-service/</guid><category>Google Cloud</category><category>Cloud Migration</category><category>Data Warehousing</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>BigQuery への移行が容易に</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/data-warehousing/announcing-bigquery-migration-service/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>データ ウェアハウスを BigQuery に移行するなら、Dataform による BigQuery UDF の単体テストを実施しましょう</title><link>https://cloud.google.com/blog/ja/topics/data-warehousing/learn-how-to-use-the-dataform-cli-tool-to-unit-test-udfs/</link><description>&lt;div class="block-paragraph"&gt;&lt;p&gt;※この投稿は米国時間 2021 年 10 月 8 日に、Google Cloud blog に&lt;a href="https://cloud.google.com/blog/topics/data-warehousing/learn-how-to-use-the-dataform-cli-tool-to-unit-test-udfs"&gt;投稿&lt;/a&gt;されたものの抄訳です。&lt;/p&gt;&lt;p&gt;BigQuery への移行時には、&lt;a href="https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators"&gt;BigQuery ネイティブ関数&lt;/a&gt;の充実したライブラリを利用して分析ワークロードを強化できます。既存の関数は、独自の&lt;a href="https://cloud.google.com/bigquery/docs/reference/standard-sql/user-defined-functions"&gt;ユーザー定義関数&lt;/a&gt;（UDF）で拡張することも可能です。人間誰しもミスをするものなので、単体テストを作成して UDF が正しく動作するかを検証することをおすすめします。&lt;a href="https://docs.dataform.co/dataform-cli" target="_blank"&gt;Dataform のコマンドライン ツール&lt;/a&gt;はこのニーズを満たし、すべての UDF の単体テストをプログラムで実行できるようにします。&lt;/p&gt;&lt;p&gt;&lt;a href="https://dataform.co/blog/dataform-is-joining-google-cloud" target="_blank"&gt;2020 年に Google Cloud が買収した&lt;/a&gt; Dataform は、BigQuery で SQL クエリの実行をオーケストレートするための便利な CLI ツールを提供しています。Google Cloud の Professional Services Organization は、BigQuery UDF の単体テストを実行するためのテンプレート コードと、Dataform CLI の使用方法の&lt;a href="https://github.com/GoogleCloudPlatform/bigquery-utils/tree/master/dataform/examples/dataform_udf_unit_test" target="_blank"&gt;例をオープンソース化&lt;/a&gt;しました。これらのテストの実行に、費用は一切かかりません。Dataform CLI ツールと BigQuery を使用した UDF 単体テストは、以下の理由から無償で提供されています。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/dataform-co/dataform#with-the-cli" target="_blank"&gt;オープンソースの Dataform CLI ツール&lt;/a&gt;は、BigQuery API とのみ通信する無料のスタンドアロン ツールです。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;BigQuery では、UDF の作成、置き換え、呼び出しに対して&lt;a href="https://cloud.google.com/bigquery/pricing#free"&gt;費用が発生しません&lt;/a&gt;。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;テストデータは、Dataform CLI が実行する SQL クエリの静的な値として提供されます。そのため、テーブルデータはスキャンされず、クエリごとに処理されるバイト数はゼロです。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;次のセクションでは、UDF 単体テストの例を実行する方法と、独自の単体テストを作成する方法について説明します。  &lt;/p&gt;&lt;h3&gt;UDF 単体テストの例を実行する&lt;/h3&gt;&lt;p&gt;このテスト フレームワークの動作を確認する最良の方法は、実際にご自身で試していただくことです。&lt;a href="https://github.com/GoogleCloudPlatform/bigquery-utils/tree/master/dataform/examples/dataform_udf_unit_test" target="_blank"&gt;オープンソース サンプル&lt;/a&gt;には、&lt;a href="https://github.com/GoogleCloudPlatform/bigquery-utils/tree/master/udfs" target="_blank"&gt;bigquery-utils リポジトリ&lt;/a&gt;内の&lt;a href="https://github.com/GoogleCloudPlatform/bigquery-utils/tree/master/udfs/community" target="_blank"&gt;コミュニティ提供の UDF&lt;/a&gt; に対し、いくつかの単体テストを実行する方法が示されています。以下のシンプルな 4 つの手順を行います。&lt;/p&gt;&lt;p&gt;1. 次のいずれかの方法で、bigquery-utils リポジトリのクローンを作成します。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://console.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fbigquery-utils.git&amp;amp;cloudshell_workspace=dataform/examples/dataform_udf_unit_test&amp;amp;cloudshell_tutorial=tutorial.md&amp;amp;cloudshell_open_in_editor=definitions/test_cases.js"&gt;こちらをクリック&lt;/a&gt;して、Google Cloud Shell にリポジトリのクローンを自動的に作成します（推奨）。詳細なチュートリアルが Cloud Shell の右側に自動で起動します。また、次のコマンドを使用して、手動でチュートリアルを起動することも可能です。cloudshell launch-tutorial tutorial.md&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;次のコマンドを実行して、リポジトリのクローンを手動で作成し、正しいディレクトリに移動します。&lt;br/&gt;git clone https://github.com/GoogleCloudPlatform/bigquery-utils.git&lt;br/&gt;cd bigquery-utils/dataform/examples/dataform_udf_unit_test&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;2. Dataform CLI ツールをインストールします。npm i -g @dataform/cli &amp;amp;&amp;amp; dataform install&lt;/p&gt;&lt;p&gt;3. 次のコマンドを実行して、Dataform 認証情報ファイル「.df-credentials.json」を生成します。dataform init-creds bigquery&lt;/p&gt;&lt;p&gt;以下を選択するように求められます。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;データセットのロケーション（「米国」を選択）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;認証方法（&lt;a href="https://cloud.google.com/docs/authentication/production#automatically"&gt;アプリケーションのデフォルト認証情報&lt;/a&gt;を選択）。&lt;br/&gt;Cloud Shell で実行していない場合は、&lt;a href="https://cloud.google.com/sdk/docs/install"&gt;gcloud&lt;/a&gt; で次のコマンドを実行して環境を認証してください。gcloud auth application-default login&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;請求先プロジェクト ID（クエリを実行するプロジェクトを選択）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;4. 次のコマンドを使って単体テストを実行します。dataform test&lt;/p&gt;&lt;h3&gt;詳しい説明&lt;/h3&gt;&lt;p&gt;今回の例では、&lt;a href="https://github.com/GoogleCloudPlatform/bigquery-utils/blob/master/udfs/community/test_cases.js" target="_blank"&gt;test_cases.js&lt;/a&gt; というファイルがあり、このファイルにテスト対象 UDF の単体テスト入力と想定出力が含まれています。以下は、&lt;a href="https://github.com/GoogleCloudPlatform/bigquery-utils/tree/master/udfs/community#url_parseurlstring-string-parttoextract-string" target="_blank"&gt;url_parse&lt;/a&gt; UDF の test_cases.js からの抜粋です。url_parse UDF は、URL および抽出する URL の一部（ホストやパスなど）を入力として受け取り、URL のパスから指定した部分を返します。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;const { generate_udf_test } = unit_test_utils;\r\n\r\ngenerate_udf_test(&amp;quot;url_parse&amp;quot;, [\r\n    {\r\n        inputs: [\r\n            `&amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot;`,\r\n            `&amp;quot;HOST&amp;quot;`\r\n        ],\r\n        expected_output: `&amp;quot;facebook.com&amp;quot;`\r\n    },\r\n    {\r\n        inputs: [\r\n            `&amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot;`,\r\n            `&amp;quot;PATH&amp;quot;`\r\n        ],\r\n        expected_output: `&amp;quot;path1/p.php&amp;quot;`\r\n    },\r\n    {\r\n        inputs: [\r\n            `&amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot;`,\r\n            `&amp;quot;QUERY&amp;quot;`\r\n        ],\r\n        expected_output: `&amp;quot;k1=v1&amp;amp;k2=v2#Ref1&amp;quot;`\r\n    },\r\n    {\r\n        inputs: [\r\n            `&amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot;`,\r\n            `&amp;quot;REF&amp;quot;`\r\n        ],\r\n        expected_output: `&amp;quot;Ref1&amp;quot;`\r\n    },\r\n    {\r\n        inputs: [\r\n            `&amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot;`,\r\n            `&amp;quot;PROTOCOL&amp;quot;`\r\n        ],\r\n        expected_output: `&amp;quot;http&amp;quot;`\r\n    }\r\n]);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1502e64340&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;提供されているコード スニペットの冒頭で、unit_test_utils.js ファイルが generate_udf_test 関数を公開していることがわかります。この関数は、入力と想定出力を、単体テストで実行される適切な SELECT SQL ステートメントに変換します。dataform test コマンドを実行すると、これらの SELECT SQL ステートメントが BigQuery で実行されます。次に、Dataform は SELECT SQL ステートメントの結果が一致しているかをチェックすることで、想定通りの出力が得られたかを検証します。&lt;/p&gt;&lt;p&gt;内部的な動作を確認するには、BigQuery コンソールに移動し、[クエリ履歴] タブをクリックします。ここでは、Dataform が BigQuery で実行する generate_udf_test 関数によって作成された SQL クエリを確認できます。以下の抜粋は、生成された SELECT クエリと、test_cases.js で提供された入力がテスト対象の UDF に引数として渡される様子を示しています。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;SELECT `bqutil.fn`.url_parse(test_input_0,test_input_1) AS udf_output\r\nFROM (\r\n  SELECT \r\n    &amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot; AS test_input_0,\r\n    &amp;quot;HOST&amp;quot; AS test_input_1\r\n  \r\n  UNION ALL\r\n  \r\n  SELECT \r\n    &amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot; AS test_input_0,\r\n    &amp;quot;PATH&amp;quot; AS test_input_1\r\n  \r\n  UNION ALL\r\n  \r\n  SELECT \r\n    &amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot; AS test_input_0,\r\n    &amp;quot;QUERY&amp;quot; AS test_input_1\r\n  \r\n  UNION ALL\r\n  \r\n  SELECT \r\n    &amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot; AS test_input_0,\r\n    &amp;quot;REF&amp;quot; AS test_input_1\r\n  \r\n  UNION ALL\r\n  \r\n  SELECT \r\n    &amp;quot;http://facebook.com/path1/p.php?k1=v1&amp;amp;k2=v2#Ref1&amp;quot; AS test_input_0,\r\n    &amp;quot;PROTOCOL&amp;quot; AS test_input_1)&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1502e64ee0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;次に、指定した想定出力が以下の SELECT SQL ステートメントにコンパイルされます。これは、Dataform により、前の SQL ステートメントの udf_output との比較に使用されます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;SELECT &amp;quot;facebook.com&amp;quot; AS udf_output\r\n\r\nUNION ALL\r\n\r\nSELECT &amp;quot;path1/p.php&amp;quot; AS udf_output\r\n\r\nUNION ALL\r\n\r\nSELECT &amp;quot;k1=v1&amp;amp;k2=v2#Ref1&amp;quot; AS udf_output\r\n\r\nUNION ALL\r\n\r\nSELECT &amp;quot;Ref1&amp;quot; AS udf_output\r\n\r\nUNION ALL\r\n\r\nSELECT &amp;quot;http&amp;quot; AS udf_output&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1502e64a00&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;dataform test &lt;a href="https://docs.dataform.co/guides/tests" target="_blank"&gt;コマンド&lt;/a&gt;を実行すると、Dataform は BigQuery を呼び出してこれらの SELECT SQL ステートメントを実行し、SQL クエリの実際の出力が想定出力と等しいかどうかをチェックします。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        &lt;a href="https://storage.googleapis.com/gweb-cloudblog-publish/images/Dataform_CLI.max-2800x2800.jpg" rel="external" target="_blank"&gt;
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Dataform_CLI.max-1000x1000.jpg"
        
          alt="Dataform CLI.jpg"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;a href="https://storage.googleapis.com/gweb-cloudblog-publish/images/Dataform_CLI.max-2800x2800.jpg"&gt;クリックして拡大&lt;/a&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;上の図は、Dataform CLI が test_cases.js の入力と想定出力を使用し、BigQuery SQL クエリを構築して実行する様子を示しています。次に、Dataform は、これらのクエリの実際の出力が想定出力と一致しているかどうかを検証します。&lt;/p&gt;&lt;h3&gt;独自の UDF 単体テスト&lt;/h3&gt;&lt;p&gt;独自の Dataform プロジェクト ディレクトリ構造を作成し、独自のテストケースを含む test_cases.js ファイルを追加することで、独自の UDF 単体テストを簡単に作成できます。&lt;/p&gt;&lt;p&gt;以下の 5 つの手順で、この手法を試すことができます。&lt;/p&gt;&lt;p&gt;1. dataform_udf_unit_test ディレクトリで以下の 2 つの環境変数に独自の値を設定し、次のコマンドを実行して Dataform プロジェクト ディレクトリ構造を作成します。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;DATAFORM_DIR=&amp;lt;name-of-your-Dataform-project&amp;gt;\r\nPROJECT_ID=&amp;lt;your-bigquery-project-id&amp;gt;\r\ndataform init bigquery $DATAFORM_DIR --default-database $PROJECT_ID&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1502e647c0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;2. includes/&lt;a href="https://github.com/GoogleCloudPlatform/bigquery-utils/blob/master/udfs/tests/dataform_testing_framework/includes/unit_test_utils.js" target="_blank"&gt;unit_test_utils.js&lt;/a&gt; ファイルを独自の includes/ ディレクトリにコピーし、新しいディレクトリに移動してから認証情報ファイル（.df-credentials.json）を作成します。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;cp includes/unit_test_utils.js $DATAFORM_DIR/includes/\r\ncd $DATAFORM_DIR \r\ndataform init-creds bigquery&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1502e64490&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;3. 新しく test_cases.js ファイルを作成します。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;echo &amp;quot;const {generate_udf_test} = unit_test_utils;&amp;quot; &amp;gt; definitions/test_cases.js&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1502e648b0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;4. テストする UDF 用に generate_udf_test() 関数の呼び出しを追加します。generate_udf_test() 関数は、次の 2 つの位置引数を取ります。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;1 つ目の引数は、テストする UDF の名前を表す文字列です。UDF の完全修飾名（例: bqutil.fn.url_parse）または UDF 名のみ（例: url_parse）を使用できます。UDF 名のみを指定した場合、関数は dataform.json ファイルの defaultDatabase 値と defaultSchema 値を使用します。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;generate_udf_test(&amp;quot;YOUR_PROJECT_ID.YOUR_DATASET_ID.YOUR_UDF_NAME&amp;quot;, ...&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1502e646a0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;2 つ目の引数は JavaScript オブジェクトの配列で、各オブジェクトはテストケースの UDF 位置入力と想定出力を保持します。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;generate_udf_test(&amp;quot;YOUR_UDF_NAME&amp;quot;, [  \r\n  { // JS Object for test case #1\r\n      inputs: [\r\n       // Wrap values in backticks to avoid parsing\r\n       // headaches with single and double quotes.\r\n        `TEST1_POSITIONAL_ARGUMENT_0`, \r\n        `TEST1_POSITIONAL_ARGUMENT_1`],\r\n      expected_output: `TEST1_EXPECTED_OUTPUT`\r\n  },\r\n  { // JS Object for test case #2\r\n      inputs: [\r\n        `TEST2_POSITIONAL_ARGUMENT_0`,\r\n        `TEST2_POSITIONAL_ARGUMENT_1`],\r\n      expected_output: `TEST2_EXPECTED_OUTPUT`\r\n  }\r\n]);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1502e64280&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;注: 入力としてさまざまなデータ型を UDF が受け入れる場合、入力のデータ型ごとにテストケースをグループ化し、そのグループごとに generate_udf_test ケースの呼び出しを個別に作成する必要があります。この実装の例については、&lt;a href="https://github.com/GoogleCloudPlatform/bigquery-utils/blob/master/udfs/community/test_cases.js" target="_blank"&gt;test_cases.js&lt;/a&gt; の &lt;a href="https://github.com/GoogleCloudPlatform/bigquery-utils/blob/master/udfs/community/test_cases.js#L117" target="_blank"&gt;json_typeof&lt;/a&gt; UDF をご覧ください。&lt;/p&gt;&lt;p&gt;5. 単体テストを実行し、UDF が期待通りに動作するかどうかを確認します。dataform test&lt;/p&gt;&lt;p&gt;オープンソース サンプルの実行方法と、CLI ツールを使用して独自の単体テストを作成および構築する方法が理解できたことと思います。これで、テスト戦略を CI / CD パイプラインに組み込んで、BigQuery で UDF をデプロイおよびテストする準備が整いました。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;謝辞&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;このブログ投稿とテスト フレームワークの構築のため、継続的にフィードバックと助言をくれた &lt;a href="https://twitter.com/dwl285" target="_blank"&gt;Dan Lee&lt;/a&gt; と &lt;a href="https://twitter.com/ben_birt" target="_blank"&gt;Ben Birt&lt;/a&gt; に感謝します。&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;- 戦略的クラウド エンジニア &lt;b&gt;Michaella Schaszberger&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;&lt;i&gt;- 戦略的クラウド エンジニア &lt;b&gt;Daniel De Leo&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="block-related_article_tout"&gt;





&lt;div class="uni-related-article-tout h-c-page"&gt;
  &lt;section class="h-c-grid"&gt;
    &lt;a href="https://cloud.google.com/blog/ja/products/data-analytics/welcoming-dataform-to-bigquery/"
       data-analytics='{
                       "event": "page interaction",
                       "category": "article lead",
                       "action": "related article - inline",
                       "label": "article: {slug}"
                     }'
       class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
        h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker"&gt;
      &lt;div class="uni-related-article-tout__inner-wrapper"&gt;
        &lt;p class="uni-related-article-tout__eyebrow h-c-eyebrow"&gt;Related Article&lt;/p&gt;

        &lt;div class="uni-related-article-tout__content-wrapper"&gt;
          &lt;div class="uni-related-article-tout__image-wrapper"&gt;
            &lt;div class="uni-related-article-tout__image" style="background-image: url('')"&gt;&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="uni-related-article-tout__content"&gt;
            &lt;h4 class="uni-related-article-tout__header h-has-bottom-margin"&gt;Dataform が Google Cloud の傘下に: BigQuery で SQL を使用してデータ変換をデプロイする&lt;/h4&gt;
            &lt;p class="uni-related-article-tout__body"&gt;Dataform の買収により、ソフトウェア開発のベスト プラクティスを活用して、BigQuery 内で実行される SQL を使用したデータ変換を定義、文書化、テスト、デプロイできるようになりました。&lt;/p&gt;
            &lt;div class="cta module-cta h-c-copy  uni-related-article-tout__cta muted"&gt;
              &lt;span class="nowrap"&gt;Read Article
                &lt;svg class="icon h-c-icon" role="presentation"&gt;
                  &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"&gt;&lt;/use&gt;
                &lt;/svg&gt;
              &lt;/span&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;/section&gt;
&lt;/div&gt;

&lt;/div&gt;</description><pubDate>Thu, 21 Oct 2021 03:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/data-warehousing/learn-how-to-use-the-dataform-cli-tool-to-unit-test-udfs/</guid><category>BigQuery</category><category>Cloud Migration</category><category>Data Warehousing</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>データ ウェアハウスを BigQuery に移行するなら、Dataform による BigQuery UDF の単体テストを実施しましょう</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/data-warehousing/learn-how-to-use-the-dataform-cli-tool-to-unit-test-udfs/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>Confluent と Google Cloud を使用したメインフレーム データの解放</title><link>https://cloud.google.com/blog/ja/products/gcp/migrate-and-replicate-your-mainframe-data/</link><description>&lt;div class="block-paragraph"&gt;&lt;p&gt;※この投稿は米国時間 2021 年 10 月 5 日に、Google Cloud blog に&lt;a href="https://cloud.google.com/blog/products/gcp/migrate-and-replicate-your-mainframe-data"&gt;投稿&lt;/a&gt;されたものの抄訳です。&lt;/p&gt;&lt;p&gt;メインフレーム データを移行、複製する最適な方法をお探しですか？Google Cloud と Confluent は、お客様のメインフレームのアプリケーション データと Google Cloud の高度な分析機能をつなぐエンドツーエンドのソリューションを提供するために、提携して取り組みました。&lt;/p&gt;&lt;p&gt;この記事では、Confluent Connect を使用して、IBM MQ および Db2 のメッセージを Google Cloud に複製する方法をご説明します。この方法により、クラウド上でメインフレーム データを使用することや、Google Cloud の機械学習ソリューションを使って新しいアプリケーションや分析機能を構築することができます。また、メインフレームの本番環境ワークロードへの影響を軽減し、汎用コンピューティングの費用を削減できます。つまり、ミッション クリティカルなビジネス ワークロードをメインフレームで実行しながら、革新に向けてデータを活用できるようになります。&lt;/p&gt;&lt;p&gt;Confluent の MQ コネクタを Google Cloud で使用することで収益が向上するユースケースの例をご紹介します。あるお客様は、&lt;a href="https://www.ibm.com/products/z-integrated-information-processor" target="_blank"&gt;z Integrated Information Processor（zIIP）エンジン&lt;/a&gt;をデータ処理に活用することで、メインフレーム サイクルの費用を年間で数百万ドル削減しました。&lt;/p&gt;&lt;p&gt;こうしたワークロードを汎用コンピューティングから zIIP に移し、CHINIT（チャネル イニシエーター）ルートを使用しないようにすることで、&lt;a href="https://www.ibm.com/docs/en/cma/2.1.0?topic=210-capacity-management-analytics-terminology" target="_blank"&gt;MSU&lt;/a&gt; ライセンスの費用を直接減らすことができます。たとえば、ある金融サービス業界のお客様は、1 メッセージあたりの CPU 使用率が 50% 減少しました。このようなコスト削減により、貴重なメインフレーム データを商用化して新たな収益源を生み出したり、カスタマー サービスを改善したりするなど、差別化につながる活動に予算財源を振り分けることができます。&lt;/p&gt;&lt;p&gt;技術面では、Confluent は exactly-once のメッセージ セマンティクスを保証しており、メッセージの順序を保持したままデータを解放することで、高スループットで低レイテンシのイベント ドリブン アーキテクチャを必要とする既存のアプリケーションや新しいアプリケーションがアクセスできるようにしています。これにより、Google Cloud 上のデータが、メインフレーム データベースから直接照会するデータと同様の正確性と一貫性を実現できます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/mainframe_mq_offload_pattern.max-1000x1000.jpg"
        
          alt="mainframe mq offload pattern.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;Confluent のクラスタにデータを保存したら、Confluent と Google Cloud を組み合わせた機能を活用できます。単一の標準的な信頼できるデータソースを提供することで、本番環境サービスに影響を与えることなく、ユーザーがデータにアクセスする方法をモダナイズできます。Confluent には、API の開発と管理を行える Google Cloud の API プラットフォームである &lt;a href="https://cloud.google.com/apigee"&gt;Apigee&lt;/a&gt; が直接統合されています。&lt;/p&gt;&lt;p&gt;Confluent は BigQuery と統合されているため、&lt;a href="https://cloud.google.com/bigquery-ml/docs/introduction"&gt;BigQuery ML&lt;/a&gt; と &lt;a href="https://cloud.google.com/vertex-ai"&gt;Vertex AI&lt;/a&gt; の高度な分析機能も活用できるので、潜在的なメインフレーム データから価値を引き出し、メインフレームでは実現不可能だったインサイトのためのシステムを新たに構築できます。そして何より、ユーザーが必要なときにデータにアクセスできるようにし、価値創出までの時間を短縮して、ビジネス上の迅速な意思決定を可能にすることで、イノベーションを起こすための新たな手段を得ることができます。&lt;/p&gt;&lt;br/&gt;&lt;p&gt;メインフレームにあるアプリケーション データをクラウドで活用するために、&lt;a href="https://docs.confluent.io/cloud/current/billing/ccloud-gcp-payg.html" target="_blank"&gt;Google Cloud Marketplace から Confluent をデプロイ&lt;/a&gt;しましょう。&lt;/p&gt;&lt;p&gt;- &lt;i&gt;Google Cloud メインフレーム ソリューション スペシャリスト Dustin Shammo&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;- &lt;/i&gt;&lt;i&gt;Confluent 社クラウド パートナー ソリューション アーキテクト Jeremy Hogan &lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-related_article_tout"&gt;





&lt;div class="uni-related-article-tout h-c-page"&gt;
  &lt;section class="h-c-grid"&gt;
    &lt;a href="https://cloud.google.com/blog/ja/topics/developers-practitioners/beyond-mainframe-modernization-art-possibilities/"
       data-analytics='{
                       "event": "page interaction",
                       "category": "article lead",
                       "action": "related article - inline",
                       "label": "article: {slug}"
                     }'
       class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
        h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker"&gt;
      &lt;div class="uni-related-article-tout__inner-wrapper"&gt;
        &lt;p class="uni-related-article-tout__eyebrow h-c-eyebrow"&gt;Related Article&lt;/p&gt;

        &lt;div class="uni-related-article-tout__content-wrapper"&gt;
          &lt;div class="uni-related-article-tout__image-wrapper"&gt;
            &lt;div class="uni-related-article-tout__image" style="background-image: url('https://storage.googleapis.com/gweb-cloudblog-publish/images/journey.max-500x500.png')"&gt;&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="uni-related-article-tout__content"&gt;
            &lt;h4 class="uni-related-article-tout__header h-has-bottom-margin"&gt;メインフレームのモダナイゼーションのその先へ: 可能性を広げる手段&lt;/h4&gt;
            &lt;p class="uni-related-article-tout__body"&gt;メインフレームのモダナイゼーションは、ここ 10 年ほどホットなテーマとなっており、時間の経過とともに、「モダナイゼーション」という言葉自体が、さまざまな形で顕在化してきています。そのため、このテーマについて論じるにあたり、まず「モダナイゼーション」とは何かを定義する必要が...&lt;/p&gt;
            &lt;div class="cta module-cta h-c-copy  uni-related-article-tout__cta muted"&gt;
              &lt;span class="nowrap"&gt;Read Article
                &lt;svg class="icon h-c-icon" role="presentation"&gt;
                  &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"&gt;&lt;/use&gt;
                &lt;/svg&gt;
              &lt;/span&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;/section&gt;
&lt;/div&gt;

&lt;/div&gt;</description><pubDate>Tue, 19 Oct 2021 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/gcp/migrate-and-replicate-your-mainframe-data/</guid><category>Data Warehousing</category><category>Data Analytics</category><category>Google Cloud</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Confluent と Google Cloud を使用したメインフレーム データの解放</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/gcp/migrate-and-replicate-your-mainframe-data/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>Google Cloud BigQuery を含む SQL Server SSRS、SSIS パッケージ</title><link>https://cloud.google.com/blog/ja/topics/data-warehousing/google-bigquery-and-sql-server-ssis-and-ssrs/</link><description>&lt;div class="block-paragraph"&gt;&lt;p data-block-key="a1i2i"&gt;※この投稿は米国時間 2021 年 9 月 16 日に、Google Cloud blog に&lt;a href="https://cloud.google.com/blog/topics/data-warehousing/google-bigquery-and-sql-server-ssis-and-ssrs"&gt;投稿&lt;/a&gt;されたものの抄訳です。&lt;/p&gt;&lt;p data-block-key="8odfu"&gt;ETL およびビジネス インテリジェンスのデベロッパーは、データ ウェアハウスを Google Cloud BigQuery に移行した後で、データ パイプライン、レポート、ダッシュボードのアップグレードと改良を依頼されることがよくあります。SQL Server Integration Services（SSIS）と SQL Server Reporting Services（SSRS）を使い慣れているデータチームは、これらのツールを BigQuery で引き続き利用できます。そのため、初期のデータ移行を完了した後に ETL パイプラインと BI プラットフォームをモダナイズできます。以下のブログ投稿では、データチームが SSIS と SSRS を BigQuery で活用するパターンと例を示します。&lt;/p&gt;&lt;h3 data-block-key="xxycm"&gt;BigQuery での SQL Server Integration Services（SSIS）の使用&lt;/h3&gt;&lt;p data-block-key="3t8iy"&gt;SQL Server Integration Services（SSIS）は、ソースとターゲットのデータベース間でデータを移動するために使用されます。以下ではよくあるシンプルなパターンを紹介します。このパターンでは、データが OLTP システム（ソース）から抽出され、データ ウェアハウス（ターゲット）に書き込まれます。データの変換とデータ マッピングという 2 つの手順が間にある点に注意してください。この手順には、具体的なビジネスルール、ロジック、C# コードが含まれています。この時点では、こうしたものは BigQuery に移行するよりも SSIS に保持するほうが理にかなっています。&lt;/p&gt;&lt;p data-block-key="r8ah5"&gt;&lt;b&gt;SSIS のデータフロー&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_SSIS_Data_Flow.max-1000x1000.jpg"
        
          alt="1 SSIS Data Flow.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="wgav5"&gt;以下の改良された SSIS データフローでは、&lt;b&gt;マルチキャスト変換&lt;/b&gt;が、csv ファイルの&lt;b&gt;フラット ファイル出力&lt;/b&gt;の宛先とともに追加されています。データは既存の EDW データベースに引き続き読み込まれるものの、フラット ファイル（csv 形式）でファイル システムにも書き込まれます。これはその後 GCP バケットにコピーされ BigQuery に読み込まれます。このパターンは、BigQuery の開発ワークストリームと並行して、現在の本番環境の EDW に対する改善をサポートします。&lt;/p&gt;&lt;p data-block-key="7uy0f"&gt;&lt;b&gt;BigQuery の宛先が追加された状態の SSIS データフロー&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_SSIS_Data_Flow_with_BigQuery_destination.max-1000x1000.jpg"
        
          alt="2 SSIS Data Flow with BigQuery destination added.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="xflgd"&gt;csv ファイルが生成されると、&lt;b&gt;プロセスの実行&lt;/b&gt;タスクを介して実行される PowerShell スクリプトを経由して、Google Cloud Storage バケット（GCS）にコピーされます。以下は、サンプルの SSIS コントロール フローのスクリーンショットです。&lt;/p&gt;&lt;p data-block-key="nqil2"&gt;&lt;b&gt;SSIS のコントロール フロー&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_SSIS_Control_Flow.max-1000x1000.jpg"
        
          alt="3 SSIS Control Flow.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="4kte2"&gt;&lt;b&gt;出力: SSIS 実行プロセスのタスク&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/4_SSIS_Execute_Process_task.max-1000x1000.jpg"
        
          alt="4 SSIS Execute Process task.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="qou5k"&gt;&lt;b&gt;構成: SSIS 実行プロセスのタスク&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/5_SSIS_Execute_Process_Task.max-1000x1000.jpg"
        
          alt="5 SSIS Execute Process Task.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="pzr4l"&gt;上記のスクリーンショットからのサンプル構文&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\r\n-ExecutionPolicy Unrestricted -command  &amp;quot;C:\\tmp\\copy-files.ps1&amp;quot; \r\nC:\\tmp\\stg\r\n\r\n\r\n## Example Copy-Script Syntax.\r\n## Remember to create a GCS bucket and a folder before copying files.\r\n## ex. gsutil mb gs://000-86527-1005/\r\n\r\n## If the GoogleCloud powershell module is not installed, you may need to run the following commands:\r\n## [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12\r\n## Install-PackageProvider -Name NuGet\r\n## Install-Module GoogleCloud\r\n\r\n#Source file staging area\r\n$src = &amp;quot;C:\\tmp\\stg\\*.csv&amp;quot;\r\n\r\n#Target GCP bucket destination\r\n$tgt = &amp;quot;gs://000-86527-1005/csv/&amp;quot;\r\n\r\n#Copy to GCS bucket\r\ngsutil -m cp $src $tgt&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f14fc0b7d30&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="i8gfa"&gt;csv ファイルが GCS バケットにコピーされると、ファイルを参照するための&lt;a href="https://cloud.google.com/bigquery/external-table-definition"&gt;外部テーブルが BigQuery に作成&lt;/a&gt;されます。この場合、外部テーブルはステージング テーブルとして機能し、直接クエリするかソースとして使用して、レポートとユーザー アクセス向けに最適化された内部テーブルへとデータを統合できます。以下は、外部テーブルのスキーマのサンプルです。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;CREATE OR REPLACE EXTERNAL TABLE edw_staging.etl-demo-1(\r\n personid INT64,\r\n name STRING,\r\n rowguid STRING,\r\n modifieddate DATETIME\r\n)\r\n OPTIONS ( \r\n format = &amp;#x27;CSV&amp;#x27;,\r\n uris = [&amp;#x27;gs://000-86527-1005/csv/etl-demo-1.csv&amp;#x27;],\r\n field_delimiter = &amp;#x27;,&amp;#x27;,\r\n max_bad_records = 5\r\n );&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f14fc0b7970&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="trfuu"&gt;データの QA と検証をサポートするには、&lt;a href="https://github.com/GoogleCloudPlatform/professional-services-data-validator" target="_blank"&gt;GCP プロフェッショナル サービスのデータ検証ツール（DVT）&lt;/a&gt;を使用して、テストとデータ検証を自動化できます。例えば、EDW と BigQuery データベース間のテーブルの行数と列のデータ分布の比較などが自動化可能です。&lt;/p&gt;&lt;p data-block-key="05obc"&gt;データ検証ツール（DVT）は、オープンソースの Python CLI ツールであり、異種のデータソース テーブルを比較する Ibis フレームワークに基づいており、マルチレベルの検証機能を備えています。&lt;/p&gt;&lt;p data-block-key="3vi49"&gt;データ検証は、データ ウェアハウス、データベース、データレイクの移行プロジェクトにおいて重要なステップです。ここでは、ソースと宛先の両方のテーブルの構造化または半構造化されたデータが比較され、各移行ステップ（データとスキーマの移行、SQL スクリプト変換、ETL 移行など）の後に一致していて正しいことが確認されます。データ検証ツールは、このタスクの実行のために、自動化された繰り返し可能なソリューションを提供します。&lt;/p&gt;&lt;h3 data-block-key="0pzhd"&gt;Google BigQuery での SQL Server Reporting Services（SSRS）の使用&lt;/h3&gt;&lt;p data-block-key="ftcru"&gt;SQL Server Reporting Services（SSRS）はレポートとダッシュボード向けに使用され、&lt;a href="https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers"&gt;BigQuery Simba ODBC ドライバ（32 ビットおよび 64 ビット）&lt;/a&gt;を使用して Google BigQuery から直接レポートを生成するために使用できます。&lt;/p&gt;&lt;p data-block-key="blivo"&gt;デベロッパー向けの重要な注意: &lt;a href="https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes" target="_blank"&gt;Visual Studio 2019 は 32 ビットの IDE&lt;/a&gt; であり、SSRS Report Server（SQL 2019）は 64 ビットのアプリケーションです。32 ビットの ODBC DSN を使用して SSRS レポートを開発およびテストしてから、レポートを SQL Server Report Server にデプロイした後に、レポート データソースを編集して、64 ビット ODBC DSN を参照します。&lt;/p&gt;&lt;p data-block-key="i0h7j"&gt;Visual Studio - インストール手順&lt;/p&gt;&lt;ol&gt;&lt;li data-block-key="el3m2"&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p data-block-key="swzba"&gt;SQL Server Data Tools（SSDT）を含む &lt;a href="https://visualstudio.microsoft.com/downloads/" target="_blank"&gt;Visual Studio 2019 Community Edition&lt;/a&gt; をインストールします&lt;/p&gt;&lt;ol&gt;&lt;li data-block-key="mloe5"&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p data-block-key="xrcnd"&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=SSIS.SqlServerIntegrationServicesProjects" target="_blank"&gt;Visual Studio Marketplace の Visual Studio SSIS プロジェクト テンプレート&lt;/a&gt;から、または &lt;a href="https://community.chocolatey.org/packages/ssis-vs2019" target="_blank"&gt;Chocolatey&lt;/a&gt; を使用して、Visual Studio SSIS プロジェクト テンプレートをインストールします。&lt;/p&gt;&lt;ol&gt;&lt;li data-block-key="9m47n"&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p data-block-key="nbfq6"&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftReportProjectsforVisualStudio" target="_blank"&gt;Visual Studio Marketplace から Visual Studio SSRS プロジェクト テンプレートをインストール&lt;/a&gt;します。&lt;/p&gt;&lt;ol&gt;&lt;li data-block-key="msf8u"&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p data-block-key="fxpcj"&gt;&lt;a href="https://cloud.google.com/bigquery/docs/reference/odbc-jdbc-drivers"&gt;BigQuery Simba ODBC ドライバ（32 ビットおよび 64 ビット）&lt;/a&gt;をダウンロードおよびインストールし、&lt;a href="https://storage.googleapis.com/simba-bq-release/odbc/Simba%20Google%20BigQuery%20ODBC%20Connector%20Install%20and%20Configuration%20Guide.pdf" target="_blank"&gt;ODBC システム DSN を構成します&lt;/a&gt;。&lt;/p&gt;&lt;p data-block-key="1alih"&gt;BigQuery サービス アカウントにより、BigQuery Simba ODBC DSN が保存された認証情報を使用して BigQuery のテーブルとビューにアクセスできます。ODBC DSN の構成前に、&lt;a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#iam-service-account-keys-create-gcloud"&gt;BigQuery サービス アカウントを作成しキーファイル（.json）をダウンロードする必要があります&lt;/a&gt;。また、&lt;a href="https://cloud.google.com/bigquery/docs/access-control-examples#read_access_to_data_in_the_same_project"&gt;サービス アカウントに必要な BigQuery ユーザー権限を割り当てるようにしてください&lt;/a&gt;。&lt;/p&gt;&lt;p data-block-key="756wd"&gt;スクリーンショット: BigQuery サービス アカウント向けのサービス アカウントの権限。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/6_Service_Account_Permissions.max-1000x1000.jpg"
        
          alt="6 Service Account Permissions.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="954i2"&gt;ODBC システム DSN の構成（32 ビットおよび 64 ビット）&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/7_Configure_the_ODBC_System_DSN.max-1000x1000.jpg"
        
          alt="7 Configure the ODBC System DSN.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="awfmf"&gt;*UI のヒント: DSN の構成時は、[Catalog (Project)] フィールドに GCP ProjectID をコピーして貼り付け、データセットを選択し、[Catalog (Project)] プルダウンをクリックして [Catalog (Project)] を再選択します。&lt;/p&gt;&lt;h3 data-block-key="fgt75"&gt;SQL Server Reporting Services の構成&lt;/h3&gt;&lt;p data-block-key="brt1p"&gt;レポートを実行し、データソースでユーザー名やパスワードを要求しないよう指定した場合、SSRS ではドメイン アカウントである実行アカウントが必要となります。この例では、テストドメインのユーザー アカウント &lt;b&gt;GONTOSO\ssrs-demo&lt;/b&gt; が作成されています。このアカウントはシンプルなドメインのユーザー アカウントであり、SSRS レポート サーバー上の権限はありません。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/8_Configure_SQL_Server_Reporting_Services.max-1000x1000.jpg"
        
          alt="8 Configure SQL Server Reporting Services.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="1bfzu"&gt;以下のレポート サーバー構成マネージャーに実行アカウントを追加します。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/9_Report_Server_Configuration_Manager.max-1000x1000.jpg"
        
          alt="9 Report Server Configuration Manager.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;h3 data-block-key="cyns3"&gt;SSRS レポートの開発とデプロイ&lt;/h3&gt;&lt;p data-block-key="7ey3c"&gt;レポート サーバーには 64 ビットの DSN が必要であることは、重要な注意点です。32 ビットの DSN で開発 / テストし、その後 SSRS サーバーのデータソースを変更して、64 ビットの DSN を参照することをおすすめします。以下のスクリーンショットで、&lt;b&gt;[Credentials]&lt;/b&gt; という小見出しの下の&lt;b&gt; [Without Any Credentials]&lt;/b&gt; にチェックを入れると、先ほど構成したレポート サーバー実行アカウントが SSRS によって使用されます。また、先ほど作成した BigQuery サービス アカウントには、作成済みの BigQuery データセットへの読み取りアクセス権があるため、&lt;a href="https://docs.microsoft.com/en-us/sql/reporting-services/security/grant-user-access-to-a-report-server?view=sql-server-ver15" target="_blank"&gt;レポート サーバーのロールと権限&lt;/a&gt;を再確認してレポートが安全であることを確かめることをおすすめします。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/10_SSRS_Report_Development.max-1000x1000.jpg"
        
          alt="10 SSRS Report Development.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="9ezww"&gt;レポートのデモ&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/11_Report_Demo.max-1000x1000.jpg"
        
          alt="11 Report Demo.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="fqnym"&gt;要約すると、SSRS と SSIS を使い慣れているデベロッパーとアナリストはどちらも、慣れ親しんだツールセットを初期の移行後も BigQuery で使用できます。そのため、後続のプロジェクト フェーズで&lt;a href="https://cloud.google.com/dataflow"&gt;データフロー&lt;/a&gt;、レポート機能、BI を &lt;a href="https://cloud.google.com/looker"&gt;Looker&lt;/a&gt; と併用して ETL/ELT をモダナイズする計画を立てることができます。&lt;/p&gt;&lt;p data-block-key="fa5rx"&gt;&lt;i&gt;-Google Cloud プロフェッショナル サービス戦略クラウド エンジニア&lt;/i&gt; &lt;b&gt;&lt;i&gt;Matthew Smith&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-related_article_tout"&gt;





&lt;div class="uni-related-article-tout h-c-page"&gt;
  &lt;section class="h-c-grid"&gt;
    &lt;a href="https://cloud.google.com/blog/ja/products/databases/how-does-cloud-sql-maintenance-work/"
       data-analytics='{
                       "event": "page interaction",
                       "category": "article lead",
                       "action": "related article - inline",
                       "label": "article: {slug}"
                     }'
       class="uni-related-article-tout__wrapper h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
        h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3 uni-click-tracker"&gt;
      &lt;div class="uni-related-article-tout__inner-wrapper"&gt;
        &lt;p class="uni-related-article-tout__eyebrow h-c-eyebrow"&gt;Related Article&lt;/p&gt;

        &lt;div class="uni-related-article-tout__content-wrapper"&gt;
          &lt;div class="uni-related-article-tout__image-wrapper"&gt;
            &lt;div class="uni-related-article-tout__image" style="background-image: url('')"&gt;&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="uni-related-article-tout__content"&gt;
            &lt;h4 class="uni-related-article-tout__header h-has-bottom-margin"&gt;Cloud SQL のメンテナンスについて理解する: メンテナンスの必要性&lt;/h4&gt;
            &lt;p class="uni-related-article-tout__body"&gt;Cloud SQL でのメンテナンスの仕組みを理解して可用性を効果的に計画できるようにする&lt;/p&gt;
            &lt;div class="cta module-cta h-c-copy  uni-related-article-tout__cta muted"&gt;
              &lt;span class="nowrap"&gt;Read Article
                &lt;svg class="icon h-c-icon" role="presentation"&gt;
                  &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#mi-arrow-forward"&gt;&lt;/use&gt;
                &lt;/svg&gt;
              &lt;/span&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;/section&gt;
&lt;/div&gt;

&lt;/div&gt;</description><pubDate>Wed, 29 Sep 2021 08:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/data-warehousing/google-bigquery-and-sql-server-ssis-and-ssrs/</guid><category>Data Analytics</category><category>Data Warehousing</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Google Cloud BigQuery を含む SQL Server SSRS、SSIS パッケージ</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/data-warehousing/google-bigquery-and-sql-server-ssis-and-ssrs/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>BigQuery 増分データの取り込みパイプラインを最適化する</title><link>https://cloud.google.com/blog/ja/products/data-analytics/optimizing-your-bigquery-incremental-data-ingestion-pipelines/</link><description>&lt;div class="block-paragraph"&gt;&lt;p&gt;※この投稿は米国時間 2021 年 9 月 9 日に、Google Cloud blog に&lt;a href="https://cloud.google.com/blog/products/data-analytics/optimizing-your-bigquery-incremental-data-ingestion-pipelines"&gt;投稿&lt;/a&gt;されたものの抄訳です。&lt;/p&gt;&lt;p&gt;データ ウェアハウスを構築する際は、ソースシステムからデータ ウェアハウスに対するデータ取り込み方法を検討することが重要です。テーブルが小さければ通常の方法で完全に再読み込みできます。しかし、テーブルが大きい場合にはテーブルを増分更新する手法が一般的です。この投稿では、データを BigQuery に取り込む際に増分パイプラインの性能を強化する方法について紹介します。&lt;/p&gt;&lt;h3&gt;標準の増分データ取り込みパイプラインを設定する&lt;/h3&gt;&lt;p&gt;以下の例を使用して一般的な取り込みパイプラインを説明します。このパイプラインでは、データ ウェアハウス テーブルを段階的に更新します。たとえば、ソースシステム内で頻繁に更新されている大きなテーブルから取得したデータを BigQuery に取り込むとして、BigQuery にはステージング エリアとレポートエリア（データセット）があるとします。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Optimizing_Big_Query_1.max-1000x1000.jpg"
        
          alt="Optimizing Big Query 1.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;BigQuery のレポートエリアは、ソースシステムのテーブルから取り込んだ最新の完全データを格納します。通常は、ソースシステムのテーブルに関する完全スナップショットとしてベーステーブルを作成します。運用例では、BigQuery の一般公開データをソースシステムとして使用し、以下に示すような reporting.base_table を作成しています。事例では、各行は一意のキーによって識別されています。このキーは block_hash と log_index という 2 つの列で構成されます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;CREATE TABLE reporting.base_table  --156 GB processed\r\nPARTITION BY TIMESTAMP_TRUNC(block_timestamp, DAY) AS\r\nSELECT log_index, data, topics, block_timestamp, block_hash\r\nFROM bigquery-public-data.crypto_ethereum.logs\r\nWHERE block_timestamp BETWEEN TIMESTAMP &amp;#x27;2020-01-01&amp;#x27; AND TIMESTAMP &amp;#x27;2020-11-30&amp;#x27;;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1500bd8c10&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;一般的にデータ ウェアハウスでは、ビジネス上の意味を持つ datetime 列によって大きなベーステーブルを分割します。たとえば、この列はトランザクション タイムスタンプまたはなんらかのビジネス イベントの発生日時などの意味を持ちます。考え方としては、データ アナリストは一般的にある一定の期間のみ分析する必要があり、完全なデータはたいてい不要であるというものです。事例では、ソースシステムから取得した block_timestamp でベーステーブルを分割しています。&lt;/p&gt;&lt;p&gt;最初のスナップショットを取り込んだら、ソースシステムのテーブルで発生した変更をキャプチャし、その内容に応じてレポート ベース テーブルを更新する必要があります。ここでステージング エリアが登場します。ベーステーブルに統合することになるキャプチャしたデータ変更は、ステージング テーブルが格納しています。たとえば、通常のソースシステムには一連の新しい行と更新済レコードが存在しています。事例では、ステージング データを次のようにシミュレートしています。最初に、新規データを作成してから更新済レコードをシミュレートします。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;CREATE TABLE staging.load_delta AS --5 GB processed\r\nSELECT log_index, data, topics, block_timestamp, block_hash\r\nFROM bigquery-public-data.crypto_ethereum.logs\r\nWHERE block_timestamp BETWEEN TIMESTAMP &amp;#x27;2020-12-01&amp;#x27; AND TIMESTAMP &amp;#x27;2020-12-07&amp;#x27;;\r\n \r\nINSERT INTO staging.load_delta --2 GB processed\r\nSELECT log_index, CONCAT(data, RAND()), topics, block_timestamp, block_hash\r\nFROM bigquery-public-data.crypto_ethereum.logs TABLESAMPLE SYSTEM (5 PERCENT)\r\nWHERE block_timestamp BETWEEN TIMESTAMP &amp;#x27;2020-10-01&amp;#x27; AND TIMESTAMP &amp;#x27;2020-11-30&amp;#x27;;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1500bd8df0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;次に、パイプラインがステージング データをベーステーブルに統合します。2 つのテーブルは一意のキーによって結び付けられ、変更した値を更新もしくは新しい行を挿入します。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;MERGE INTO reporting.base_table T --161 GB processed\r\nUSING staging.load_delta S\r\nON T.block_hash = S.block_hash\r\n AND T.log_index = S.log_index\r\nWHEN MATCHED THEN UPDATE SET \r\n  T.data = S.data\r\nWHEN NOT MATCHED THEN INSERT (log_index, data, topics, block_timestamp, block_hash)\r\nVALUES (log_index, data, topics, block_timestamp, block_hash);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1500bd8bb0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;ステージング テーブルが各種パーティションからのキーを格納していることは珍しくありませんが、そのパーティションの数は比較的少なめです。たとえば、ソースシステムでは、ある初期エラーまたは進行中プロセスによって最近追加されたデータが変更されることがありますが、古いレコードが更新されることはまれなため、保留されます。ただし、前述の MERGE 実行時には、BigQuery はベーステーブルに存在するすべてのパーティションをスキャンして 161 GB 分のデータを処理します。block_timestamp に追加の結合条件を入力する場合があります。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;MERGE INTO reporting.base_table T --161 GB processed\r\nUSING staging.load_delta S\r\nON T.block_hash = S.block_hash\r\n AND T.log_index = S.log_index\r\n AND T.block_timestamp = S.block_timestamp\r\nWHEN MATCHED THEN UPDATE SET \r\n  T.data = S.data\r\nWHEN NOT MATCHED THEN INSERT (log_index, data, topics, block_timestamp, block_hash)\r\nVALUES (log_index, data, topics, block_timestamp, block_hash);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1500bd8850&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;ですが、条件 T.block_timestamp = S.block_timestamp は動的述語であり、BigQuery はそのような述語を、あるテーブルから別の MERGE に自動で push することはありません。そのため、BigQuery は引き続きベーステーブルのすべてのパーティションをスキャンします。&lt;/p&gt;&lt;p&gt;スキャンするデータを減らすことで MERGE の効率を上げることはできるでしょうか？答えはイエスです。&lt;/p&gt;&lt;p&gt;MERGE に関する&lt;a href="https://cloud.google.com/bigquery/docs/using-dml-with-partitioned-tables#using_a_merge_statement"&gt;ドキュメント&lt;/a&gt;で説明されているように、プルーニング条件はサブクエリ フィルタまたは merge_condition フィルタや search_condition フィルタ内に存在する場合があります。この投稿では、最初の 2 つについて活用方法を紹介します。動的述語を静的述語に変換するというのが基本となる考え方です。&lt;/p&gt;&lt;h3&gt;取り込みパイプラインの強化方法&lt;/h3&gt;&lt;p&gt;最初の手順では、MERGE 実行中に更新される一連のパーティションを計算してから変数に格納します。前述したとおり、データ取り込みパイプラインでは、ステージング テーブルは一般的に小さく、そのため計算コストも比較的低く抑えられます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;DECLARE src_range STRUCT&amp;lt;date_min TIMESTAMP, date_max TIMESTAMP&amp;gt; --115 MB processed\r\nDEFAULT(SELECT STRUCT(\r\n  MIN(block_timestamp) AS date_min,  \r\n  MAX(block_timestamp) AS date_max) FROM staging.load_delta);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1500bd8e80&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;既存の ETL/ELT パイプラインを基に、上に記載したコードをそのままパイプラインに追加するか、もしくは date_min と data_max を既存の変換手順の一部として計算することができます。別の方法としては、次の取り込みデータバッチのキャプチャ中に date_min と data_max をソースシステム側で計算することもできます。&lt;/p&gt;&lt;p&gt;date_min と date_max の計算後、それらの値を静的述語として MERGE ステートメントに渡します。事前に計算された date_min と data_max を基に MERGE を強化してベーステーブルのパーティションをプルーニングする方法は複数存在しています。&lt;/p&gt;&lt;p&gt;最初の MERGE ステートメントがサブクエリを使用している場合、そのクエリに対して新しいフィルタを組み込めます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;BEGIN \r\nDECLARE src_range STRUCT&amp;lt;date_min TIMESTAMP, date_max TIMESTAMP&amp;gt; --115 MB processed\r\nDEFAULT(SELECT STRUCT(\r\n  MIN(block_timestamp) AS date_min,  \r\n  MAX(block_timestamp) AS date_max) FROM staging.load_delta);\r\n\r\nMERGE INTO reporting.base_table T --41 GB processed\r\nUSING (\r\n  SELECT *\r\n  FROM staging.load_delta\r\n  WHERE block_timestamp BETWEEN src_range.date_min AND src_range.date_max) S \r\nON T.block_hash = S.block_hash\r\n AND T.log_index = S.log_index\r\n AND T.block_timestamp = S.block_timestamp\r\nWHEN MATCHED THEN UPDATE SET \r\n  T.data = S.data\r\nWHEN NOT MATCHED THEN INSERT (log_index, data, topics, block_timestamp, block_hash)\r\nVALUES (log_index, data, topics, block_timestamp, block_hash);\r\nEND;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1500bd8e50&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;静的フィルタをステージング テーブルに追加して T.block_timestamp = S.block_timestamp を維持し、BigQuery に渡すと、BigQuery はそのフィルタをベーステーブルに push できます。この MERGE では、最初の 161 GB と異なり、41 GB 分のデータを処理します。クエリプランでは、BigQuery がパーティション フィルタをステージング テーブルからベーステーブルに push していることが確認できます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Optimizing_Big_Query_3.max-1000x1000.jpg"
        
          alt="Optimizing Big Query 3.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;プルーニング条件がサブクエリから大きなパーティション分割テーブルもしくはクラスタ化テーブルに push された場合、この種の最適化は MERGE に特有のものではなく、他の種類のクエリに対しても動作します。次に例を示します。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;SELECT * -- 41 GB processed\r\nFROM reporting.base_table T\r\nINNER JOIN staging.load_delta S\r\nON T.block_hash = S.block_hash\r\n AND T.log_index = S.log_index\r\n AND T.block_timestamp = S.block_timestamp\r\nWHERE S.block_timestamp BETWEEN TIMESTAMP &amp;#x27;2020-10-05&amp;#x27; AND TIMESTAMP &amp;#x27;2020-12-07&amp;#x27;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1500bd8460&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;また、クエリプランを確認して、BigQuery がパーティション フィルタをあるテーブルから他のテーブルに push したかを検証できます。&lt;/p&gt;&lt;p&gt;さらに、SELECT ステートメントに関して、BigQuery は結合列のフィルタ述語を自動で推測し、クエリが次の基準を満たす場合には、あるテーブルから別のテーブルへ push します。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;対象テーブルはクラスタ化またはパーティション分割されている必要があります。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;別のテーブルは、ブロードキャスト結合に適切なサイズになる必要があります（例: 全フィルタ適用後のサイズ）。言い換えると、結果セットは 100 MB 以下の比較的小さいものでなければいけません。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;運用例では、reporting.base_table が block_timestamp によって分割されています。staging.load_delta で選択型フィルタを定義して 2 つのテーブルを結合した場合、結合キー上の推測したフィルタが、対象テーブルに push されたことを確認できます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;SELECT * \r\nFROM reporting.base_table T\r\nINNER JOIN staging.load_delta S\r\nON T.block_timestamp = S.block_timestamp\r\nWHERE S.block_hash = &amp;#x27;0x0c1caa16b34d94843aabfebc0d5a961db358135988f7498a6fdc450ad55f0870&amp;#x27;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1500bd8280&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Optimizing_Big_Query_2.max-1000x1000.jpg"
        
          alt="Optimizing Big Query 2.jpg"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;この種の最適化を開始する際に、キーのパーティション分割またはクラスタ化によってテーブルを結合する必要はありません。ですが、その場合の対象テーブルに対するプルーニング効果は小さくなります。&lt;/p&gt;&lt;p&gt;さて、話をパイプラインの最適化に戻しましょう。別の MERGE 強化方法としては、ベーステーブルの静的述語を追加して merge_condition フィルタを変更する方法があります。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;BEGIN \r\nDECLARE src_range STRUCT&amp;lt;date_min TIMESTAMP, date_max TIMESTAMP&amp;gt; --115 MB processed\r\nDEFAULT(SELECT STRUCT(\r\n  MIN(block_timestamp) AS date_min,  \r\n  MAX(block_timestamp) AS date_max) FROM staging.load_delta);\r\n\r\nMERGE INTO reporting.base_table T --41 GB processed\r\nUSING staging.load_delta S\r\nON T.block_hash = S.block_hash\r\n AND T.log_index = S.log_index\r\n AND T.block_timestamp BETWEEN src_range.date_min AND src_range.date_max\r\nWHEN MATCHED THEN UPDATE SET \r\n  T.data = S.data\r\nWHEN NOT MATCHED THEN INSERT (log_index, data, topics, block_timestamp, block_hash)\r\nVALUES (log_index, data, topics, block_timestamp, block_hash);\r\nEND;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7f1500bd8a30&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;ここでは、BigQuery で増分取り込みパイプラインを強化する手順についてまとめています。始めに、小さなステージング テーブルを基に一連の更新済パーティションを計算します。次に、BigQuery がベーステーブルのデータをプルーニングするように、MERGE ステートメントを少しだけ修正します。&lt;/p&gt;&lt;p&gt;すべての強化された MERGE ステートメントが 41 GB 分のデータをスキャンします。src_range 変数の設定に 115 MB が使用されます。スキャンしたデータを最初の 161 GB 分のスキャンと比較します。なお、src_range が ETL/ELT 内で行われる既存の変換に組み込まれていると仮定した場合、パイプラインで活用してパフォーマンスを効率よく向上できます。&lt;/p&gt;&lt;p&gt;この投稿では、動的述語を静的述語に変換して BigQuery にデータをプルーニングさせることで、データ取り込みパイプラインを強化する方法について説明しました。BigQuery DML 調整について、&lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/bigquery-explained-data-manipulation-dml"&gt;こちら&lt;/a&gt;から詳細をご確認ください。&lt;/p&gt;&lt;p/&gt;&lt;hr/&gt;&lt;p/&gt;&lt;p&gt;&lt;i&gt;本コンテンツに関する事例作成の支援および貴重なフィードバックを提供してくれた Daniel De Leo の協力に感謝します。&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;-戦略クラウド エンジニア &lt;b&gt;Anna Epishova&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 17 Sep 2021 10:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/data-analytics/optimizing-your-bigquery-incremental-data-ingestion-pipelines/</guid><category>BigQuery</category><category>Data Warehousing</category><category>Data Analytics</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>BigQuery 増分データの取り込みパイプラインを最適化する</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/data-analytics/optimizing-your-bigquery-incremental-data-ingestion-pipelines/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>今月の新情報: リアルタイム ストリーミングのリーダーシップから、インテリジェントなデータ ファブリックと分析エクスチェンジまで</title><link>https://cloud.google.com/blog/ja/products/data-analytics/new-month-leadership-real-time-streaming-intelligent-data-fabric-and-analytics-exchanges/</link><description>&lt;div class="block-paragraph"&gt;&lt;p&gt;※この投稿は米国時間 2021 年 6 月 9 日に、Google Cloud blog に&lt;a href="https://cloud.google.com/blog/products/data-analytics/new-month-leadership-real-time-streaming-intelligent-data-fabric-and-analytics-exchanges"&gt;投稿&lt;/a&gt;されたものの抄訳です。&lt;/p&gt;&lt;p&gt;データ分析のプロダクト イノベーションに関して、5 月は盛りだくさんの月でした。今回初開催となった &lt;a href="https://cloudonair.withgoogle.com/events/summit-data-cloud" target="_blank"&gt;Data Cloud Summit&lt;/a&gt; にご参加いただけなかった方も、すべてのセッションの動画リプレイが可能になっていますので、ご自分のペースで&lt;a href="https://cloudonair.withgoogle.com/events/summit-data-cloud" target="_blank"&gt;ご視聴いただけます&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;今回のブログでは、5 月にリリースしたイノベーションのバックグラウンドと、なぜこの方法で構築したのか、そしてこの機能が会社やチームにどのような価値をもたらすのかをご紹介します。&lt;/p&gt;&lt;h2&gt;最初に、皆様に感謝の気持ちをお伝えします&lt;/h2&gt;&lt;p&gt;今週、Google は &lt;a href="https://cloud.google.com/blog/ja/products/data-analytics/dataflow-leader-forrester-wave-streaming-analytics-report-2021"&gt;The Forrester Wave™: Streaming Analytics, Q2 2021 レポートにてリーダーに選出されました&lt;/a&gt;。「Google Cloud Dataflow は、データ シーケンシング、高度な分析、パフォーマンス、高可用性の分野で優れている」として、Forrester は 12 の異なる基準において、&lt;a href="https://cloud.google.com/dataflow"&gt;Dataflow&lt;/a&gt; に 5 段階中で 5 の評価を付けました。&lt;/p&gt;&lt;p&gt;Google には、Google が独自に使用するためにリアルタイムかつインターネット規模のシステムを構築してきた 10 年以上の実績があります。信頼性、スケーラビリティ、パフォーマンスに優れたプラットフォームをお客様に提供してきた成果が実を結んでいることを嬉しく思います。&lt;/p&gt;&lt;p&gt;今回の発表は、Google Cloud も同じくリーダーとして選出された、&lt;a href="https://cloud.google.com/blog/ja/products/data-analytics/google-cloud-a-leader-in-2021-forrester-wave-cloud-data-warehouse"&gt;The Forrester Wave™: Cloud Data Warehouse, Q1 2021&lt;/a&gt; レポートのリリースを受けて行われました。&lt;/p&gt;&lt;p&gt;データを活用したイノベーションを推進するというお客様の目標をサポートすべく Google が行っている活動に対して、お客様からいただくフィードバックと信頼にこの上なく感謝しております。&lt;/p&gt;&lt;h2&gt;イノベーションの数々&lt;/h2&gt;&lt;p&gt;お客様からいただくフィードバックと情熱は、より多く、より良いサービスをお客様にお届けするための Google の原動力となっています。そのため、今年は Google Cloud Next まで待たずに、これまで Google が開発してきた素晴らしいプロダクトを紹介したいと考えました。5 月 26 日、Google のチームは、新しいプロダクト、サービス、プログラムを次々と発表しました。こちらからそのサマリーをご覧ください。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=DG1mOPMXJvw"
      data-glue-modal-trigger="uni-modal-DG1mOPMXJvw-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        &lt;img src="//img.youtube.com/vi/DG1mOPMXJvw/maxresdefault.jpg"
             alt="Google Cloud&amp;#x27;s New 2021 Analytics Launches"/&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-DG1mOPMXJvw-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="DG1mOPMXJvw"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=DG1mOPMXJvw"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;h2&gt;既存の環境を変えずに機能を拡張&lt;/h2&gt;&lt;p&gt;Google が提供するすべてのサービスの背後にある重要な設計方針は、「既存の環境を変えずに機能を拡張」です。つまり、お客様が思うままにイノベーションを起こすために必要なツールやソフトウェアを提供することを目指しています。ここでは役立つ 3 つの新しいサービスをご紹介します。&lt;/p&gt;&lt;h3&gt;Datastream&lt;/h3&gt;&lt;p&gt;&lt;a href="https://cloud.google.com/datastream"&gt;Datastream&lt;/a&gt; は、新しいサーバーレスのチェンジ データ キャプチャ（CDC）およびレプリケーション サービスで、異種のデータベース、ストレージ システム、アプリケーション間でデータを確実に、かつ最小限のレイテンシで同期し、リアルタイム解析、データベース レプリケーション、イベント ドリブン アーキテクチャをサポートできます。Datastream は、Oracle および MySQL データベースから&lt;a href="https://cloud.google.com/bigquery"&gt;BigQuery&lt;/a&gt;、&lt;a href="https://cloud.google.com/sql"&gt;Cloud SQL&lt;/a&gt;、&lt;a href="https://cloud.google.com/storage"&gt;Cloud Storage&lt;/a&gt;、&lt;a href="https://cloud.google.com/spanner"&gt;Cloud Spanner&lt;/a&gt; などの Google Cloud サービスに変更ストリームを配信し、時間とリソースを節約しつつ、データを高精度かつ最新に保つことができます。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;内部では、Datastream が CDC のイベント（挿入、更新、削除）をソース データベースから読み取り、それらのイベントを最小限のレイテンシでデータ移行先に書き込みます。これは、各データベース ソースが独自の CDC ログ（MySQL の場合は binlog、Oracle の場合は LogMiner）を備えていることを利用しており、独自の内部レプリケーションと整合性の目的で使用しています。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Datastream は、専用の拡張可能な Dataflow テンプレートと統合して、Cloud Storage に書き込まれた変更ストリームを pull し、分析用の最新の複製テーブルを BigQuery に作成します。また、Dataflow テンプレートを活用してデータベースを複製し、Cloud SQL や Cloud Spanner に同期して、データベースの移行とハイブリッド クラウド構成を実現します。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;さらに、Datastream は、&lt;a href="https://cloud.google.com/data-fusion"&gt;Cloud Data Fusion&lt;/a&gt; の新しいレプリケーション機能で Google ネイティブの Oracle コネクタを強化し、ETL / ELT パイプライン作成を容易にします。変更ストリームを Cloud Storage に直接配信することで、お客様は Datastream を活用して最新のイベント ドリブン アーキテクチャを実装できます。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Microsoft Azure で利用可能な Looker および BigQuery Omni&lt;/h3&gt;&lt;p&gt;マルチクラウドの導入に関する調査結果は明白で、2021 年には &lt;a href="https://info.flexera.com/CM-REPORT-State-of-the-Cloud" target="_blank"&gt;92%&lt;/a&gt; の企業がマルチクラウド戦略を行っていると報告しています。お客様が戦略を実行するために必要な柔軟性を提供することで、Google は、お客様の選択をサポートし続けたいと考えています。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;先月、Microsoft Azure 上でホストされている &lt;a href="https://cloud.google.com/looker"&gt;Looker&lt;/a&gt; をリリースしました。今回初めて、Looker のインスタンスに Azure、Google Cloud、AWS のいずれかを選択できるようになりました。また、Looker インスタンスをオンプレミスでセルフホストすることも可能です。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;また、昨年リリースされた BigQuery Omni for AWS に続く、BigQuery Omni for Azure がリリースされ、Google Cloud、AWS、Azure のデータにアクセスし安全に分析できるようになりました。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;クラウド プロバイダ間でデータを移動する費用は、多くの会社にとって持続可能なものではなく、クラウドをまたいでシームレスに作業するのは依然として困難です。BigQuery Omni は、複数のパブリック クラウドに保存されたデータを分析する新しい方法であり、BigQuery のコンピューティングとストレージの分離によって実現されています。この 2 つを切り離すことで、BigQuery は、Google Cloud やその他のパブリック クラウドに存在できるスケーラブルなストレージと、標準 SQL クエリを実行するステートレスで復元性に優れたコンピューティングを提供します。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;他社製品とは異なり、BigQuery Omni では、データをパブリック クラウドから別のパブリック クラウドに移動またはコピーする必要がなく、下り（外向き）コストが発生することもありません。また、Google Cloud でも同じ BigQuery インターフェースを利用でき、クラウド間でデータの移動やコピーをすることなく、Google Cloud、AWS、Azure に保存されているデータに対してクエリを実行できます。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;BigQuery Omni のクエリエンジンは、データが存在する同じリージョン内のクラスタで必要なコンピューティングを実行します。たとえば、Google Cloud に保存されている Google アナリティクス 360 の広告データに対してクエリを実行したり、AWS S3 や Microsoft Azure に保存されている e コマース プラットフォームやアプリケーションのログデータに対してクエリを実行したりできます。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;そして Looker を活用し、広告費用とともにユーザーの行動や購入を可視化できるダッシュボードを作成できます。&lt;/p&gt;&lt;h3&gt;Dataplex&lt;/h3&gt;&lt;p&gt;ほとんどの組織は、複数のサイロにまたがって、組織内の多くの人やツールが分析のために高品質のデータを簡単に見つけ、アクセスできるようにすることに未だに苦労しています。&lt;/p&gt;&lt;p&gt;トレードオフを余儀なくされることも少なくありません。たとえば、多様な分析のユースケースを実現するために、サイロ間でデータを移動および重複させたり、データを分散したままにしつつ意思決定のアジリティを制限したりしています。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="https://cloud.google.com/dataplex"&gt;Dataplex&lt;/a&gt; は、インテリジェントなデータ ファブリックを提供しており、これによりデータレイク、データ ウェアハウス、データマートにまたがるデータを一元的に管理、モニタリング、統制できます。また、さまざまな分析ツールやデータ サイエンス ツールがデータに安全にアクセスできるようになります。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;データの移動や重複を回避しつつ、ビジネスに有意義な方法でお客様がデータを整理および管理できるようにすることが、Dataplex の中心的な考え方の一つです。これを実現するため、Google ではレイク、データゾーン、アセットなどの論理構造を提供しています。これらの構成要素は基礎となるストレージ システムを抽象化して、データアクセス、セキュリティ、ライフサイクル管理などのポリシーを設定する基盤になります。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;たとえば、組織内の部門（小売、販売、財務など）ごとにレイクを作成したり、データの即応性や使用状況（landing、raw、curated_data_analytics、curated_data_science など）に対応するデータゾーンを作成したりできます。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;レイクとゾーンを一度設定すると、そのゾーンにはデータをアセットとしてアタッチできます。さまざまなタイプのストレージ（GCS バケットや BigQuery のデータセットなど）から取得したデータを同じゾーンに追加できます。同じゾーン内の複数のプロジェクトにデータをアタッチすることもできます。好きなツール（例: Dataflow、Data Fusion、Dataproc、Pub/Sub）を使用して、レイクとゾーンにデータを取り込めます。または、パートナー プロダクトから 1 つ選択することも可能です。Dataplex では、一般的なデータ管理タスクに使用する組み込みのワンクリック テンプレートも用意されています。&lt;/p&gt;&lt;p&gt;Dataplex の詳細については、&lt;a href="https://cloud.google.com/dataplex"&gt;cloud.google.com/dataplex&lt;/a&gt; をご覧いただくか、以下の動画をご覧ください。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=bbFeAt7cw1g"
      data-glue-modal-trigger="uni-modal-bbFeAt7cw1g-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        &lt;img src="//img.youtube.com/vi/bbFeAt7cw1g/maxresdefault.jpg"
             alt="What is Dataplex?"/&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-bbFeAt7cw1g-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="bbFeAt7cw1g"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=bbFeAt7cw1g"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;h2&gt;毎日のイノベーションをサポート&lt;/h2&gt;&lt;p&gt;データを共有するのは大変です。従来のデータ共有の手法ではバッチ データ パイプラインを使用しますが、これは運用コストが高く、処理に遅れて到着するデータが発生し、ソースデータに変更があると実行が失敗することがあります。また、こうした手法ではデータの複数のコピーが作成されるため、不要なコストが生じ、データ ガバナンス プロセスをすり抜ける可能性があります。さらに、サブスクリプションやアクセス権の管理といったデータの収益化に関する機能も備えていません。つまり、組織はこのような課題により、共有データを活用してビジネスを変革する可能性を最大限に発揮できていません。&lt;/p&gt;&lt;h3&gt;Analytics Hub&lt;/h3&gt;&lt;p&gt;このような従来の手法の限界に対処するために、Google は &lt;a href="https://cloud.google.com/analytics-hub"&gt;Analytics Hub&lt;/a&gt; をリリースしています。新しいフルマネージド サービスによって、組織はデータ共有の価値を活かせるようになり、新たな分析情報の獲得やビジネス価値の向上につなげることができます。&lt;/p&gt;&lt;p&gt;この新しいサービスは、これまでの多くの経験とお客様からいただいたフィードバックをもとに構築されています。たとえば、2010 年のリリース以来、BigQuery には組織を超えたインプレースのデータ共有機能が備わっており、この機能は特に好評です。4 月の 7 日間で 3,000 以上の組織が 200 ペタバイトを超えるデータを共有しました。この数値には、同じ組織内の部門間のデータ共有は含まれていません。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Screen_Shot_2021-06-09_at_10.57.31_AM.max-.max-1000x1000.png"
        
          alt="BQ"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;Analytics Hub によって、さらに上のレベルの共有が可能となります。貴重なデータセットの公開、発見、サブスクライブが容易になり、自社のデータと組み合わせて独自の分析情報を導き出すことができます。&lt;/p&gt;&lt;p&gt;以下に例を示します。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;共有データセット: &lt;/b&gt;データ パブリッシャーとして、サブスクライバーに配信するデータのビューを含む共有データセットを作成します。データ サブスクライバーは、アクセス権を付与されているすべてのエクスチェンジで公開されているデータセットを検索して、関連するデータセットをサブスクライブできます。また、パブリッシャーは共有データに関して、サブスクライバーの追跡、サブスクリプションの無効化、使用状況の集計データの確認ができます。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;キュレートされたセルフサービスのデータ エクスチェンジ: &lt;/b&gt;エクスチェンジとは、共有データセットを整理し、保護するためのコレクションです。デフォルトでは、エクスチェンジは完全にプライベートなものですが、きめ細かいロールと権限を設定することで、社内や社外を問わず、適切な対象者にデータを提供することが容易になります。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;ここまでは Analytics Hub の第一歩にすぎません。2021 年第 3 四半期にリリース予定の&lt;a href="http://g.co/cloud/analytics-hub" target="_blank"&gt;プレビューにぜひお申し込みください&lt;/a&gt;。&lt;/p&gt;&lt;h3&gt;Dataflow Prime&lt;/h3&gt;&lt;p&gt;Google は Google Cloud にて、世界で特に革新的な組織と一緒に仕事ができるという素晴らしい特権を持っています。また、これにより、ビッグデータ処理の未来を占うユニークな視点を得ることができます。&lt;a href="https://cloud.google.com/blog/products/data-analytics/simplify-and-automate-data-processing-with-dataflow-prime"&gt;Dataflow Prime&lt;/a&gt; は、サーバーレス、NoOps、自動チューニング アーキテクチャに基づいた新しいプラットフォームで、ビッグデータ処理に優れたリソース使用率と操作の抜本的な簡素化をもたらします。この新しいサービスには、エキサイティングな機能が数多く導入されていますが、今回はプロダクトの 3 つのキーアスペクトについてご紹介します。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;垂直自動スケーリング:&lt;/b&gt; Dataflow Prime は、使用率に基づいて各ワーカーに割り振られたコンピューティング容量を動的に調整し、ワーカー リソースでジョブが制限されていることを検出すると、自動的にリソースを追加します。垂直自動スケーリングは水平自動スケーリングと連携し、パイプラインのニーズに最適なワーカーをシームレスにスケールします。その結果、完璧なワーカーの構成を決定し使用率を最大化する作業に数時間から数日もかかることがなくなりました。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Right Fitting: &lt;/b&gt;パイプラインの各ステージには通常、他のステージとは異なるリソース要件があります。これまでは、パイプライン内のすべてのワーカーが大容量のメモリと GPU を使用していたか、いずれも使用していませんでした。パイプラインがリソースを浪費するか、ワークロードの遅延がパイプラインの負担になっていました。Right Fitting は、この問題を解決するために、ステージごとに最適化されたステージ固有のリソースプールを作成します。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;スマート推奨事項: &lt;/b&gt;パイプラインの問題を自動的に検出して修正案を表示します。たとえば、パイプラインで権限の問題が発生している場合、スマート推奨事項はジョブのブロックを解除するために有効にする必要がある IAM 権限を検出します。非効率的なコーダーをジョブで使用している場合、スマート推奨事項により、パフォーマンスの高いコーダー実装が表示され、コストを節約できます。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;次のステップ&lt;/h3&gt;&lt;p&gt;これらの魅力的な新しいサービスに関して、皆様のご意見やご感想をお待ちしております。また、コミュニティのメンバーと交流し、メンバーの体験談をお聞きになることも強くおすすめいたします。たとえば、初開催となった &lt;a href="https://cloudonair.withgoogle.com/events/summit-data-cloud" target="_blank"&gt;Data Cloud Summit&lt;/a&gt; にて、Keybank と Rackspace の最高データ責任者とともに &lt;a href="https://www.youtube.com/watch?v=ITI2Q3MkxuA&amp;amp;t=3s&amp;amp;ab_channel=GoogleCloudEvents" target="_blank"&gt;Data To Value&lt;/a&gt; の顧客パネルを作成しました。以下より無料でご覧いただけます。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=ITI2Q3MkxuA"
      data-glue-modal-trigger="uni-modal-ITI2Q3MkxuA-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        &lt;img src="//img.youtube.com/vi/ITI2Q3MkxuA/maxresdefault.jpg"
             alt="Transform and Innovate Your Analytics Investments"/&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-ITI2Q3MkxuA-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="ITI2Q3MkxuA"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=ITI2Q3MkxuA"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p&gt;&lt;i&gt;-プロダクト管理担当シニア ディレクター &lt;b&gt;Sudhir Hasbe&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 18 Jun 2021 10:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/data-analytics/new-month-leadership-real-time-streaming-intelligent-data-fabric-and-analytics-exchanges/</guid><category>Data Warehousing</category><category>Data Analytics</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Screen_Shot_2021-06-09_at_10.57.31_AM.max-10.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>今月の新情報: リアルタイム ストリーミングのリーダーシップから、インテリジェントなデータ ファブリックと分析エクスチェンジまで</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Screen_Shot_2021-06-09_at_10.57.31_AM.max-10.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/data-analytics/new-month-leadership-real-time-streaming-intelligent-data-fabric-and-analytics-exchanges/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item></channel></rss>