Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Datastream for BigQuery を使ってみた

yu_sa18
October 21, 2022

Datastream for BigQuery を使ってみた

セゾン情報システムズ クラウド LT 大会 vol.1 の資料です
https://saison-coloris.connpass.com/event/260703/

yu_sa18

October 21, 2022
Tweet

More Decks by yu_sa18

Other Decks in Technology

Transcript

  1. Datastream for BigQuery とは? Datastream は、DBから CloudStorage にデータストリーミングするサービス BigQuery へストリーミングする機能が

    9月にプレビュー公開された。 今日の発表は10/20時点での情報で作成。 参考:Google Cloud Japan blog 3
  2. Datastream for BigQuery とは? ソース(DB) • Oracle • Amazon RDS

    for Oracle • オンプレの Oracle • MySQL • Amazon RDS for MySQL, Amazon Aurora MySQL • Cloud SQL for MySQL • オンプレの MySQL • PostgreSQL(プレビュー公開として追加) • Amazon RDS for PostgreSQL, Amazon Aurora PostgreSQL • Cloud SQL for PostgreSQL, AlloyDB for PostgreSQL • オンプレの PostgreSQL 4
  3. Datastream for BigQuery を使うメリット 現在どういった方法で DB のデータを BigQuery へエクスポートしているのか? →

    ストレージサービスを一度経由する • Datastream チュートリアル • Datastreamで DB のデータを CloudStorage へ出力し BigQuery へエクスポートする • [Google Cloud]分析のための Datastream と Dataflow の実装 • 出前館様の事例 • DB のデータをCSV出力、Amazon S3, CloudStorage を経由し BigQuery へエクスポートする • [Google Cloud]出前館:データ ウェアハウスを BigQuery に移行し、データ分析のパフォーマンスが大幅に向上 5
  4. Datastream for BigQuery を使うメリット Datastream for BigQuery を使うことで、 • ストレージサービスのストレージコストやメンテナンスが不要

    • DB →ストレージサービス、ストレージサービス→ BigQuery の連携処理の作成やメンテナンスが不要 • 連携処理がなくなることから、意図せぬデータの変換を防止 といったメリットがある。 6
  5. ストリームの作成 ストリーム作成の手順は以下の通り。 • Datastream から PostgreSQL へ接続する方法の選定 • PostgreSQL にレプリケーションの設定

    • PostgreSQL の接続情報とストリーミングするテーブルの指定 • 出力する BigQuery のリージョンの指定 接続方法は DB 側のセキュリティ要件を考慮する必要があるため事前に要件を確認したほうが良い。 その他は、ストリーム作成ページのガイドに従って進めればOK 8
  6. Q. データ伝送に制限はありますか? DBとの伝送方法は3種類用意されています。 • IP 許可リスト • フォワード SSH トンネル

    • VPC ピアリング 詳細:[Google Cloud]ネットワーク接続オプション 例えば今回使った IP 許可リストは、構築が簡単ですが Datastream が用意しているパブリックIPからアクセスできるよう に DB を設定しなければいけません。 それぞれメリット・デメリットがあるので、DB 環境に合わせて接続方法を選ぶ必要があります。 また、イベント(一回の変更)は3MBまでという制限があります。 詳細:[Google Cloud]ソース PostgreSQL データベース 14
  7. Q. DB側に制限はありますか? ストリーム開始前に、DB 側に特定の設定が必要になる場合があり、DB の運用などによっては、その設定が許容でき ない場合があるかと思います。 例えば今回使った Cloud SQL for

    PostgreSQL だと、 レプリケーションの設定・パブリケーションの作成・ Datastream 用ユーザーの作成、があります。 各接続先に必要な設定はストリーム作成画面から確認できます。 また、DB によって一部のカラムやビューの複製がサポートされていません。 詳細:[Google Cloud]ソース PostgreSQL データベース 16