Tech 1 Blog

Google Cloud の使いやすさ、面白さを伝えたい!クラウドエンジニアによる技術ブログ

【GoogleCloud】強力なデータウェアハウスサービス!BigQueryを紹介

こんにちは。Aimyです👧

今回は、Google Cloudが提供するBigQueryを紹介します。

データがますます膨大になる現代、企業や組織はそのデータを迅速かつ効率的に分析する手段を必要としています。ここでは、BigQueryとは何か、その特徴や使い方について解説します。

BigQueryとは?

BigQueryは、Google Cloudが提供するフルマネージドのサーバーレスデータウェアハウスです。大規模なデータセットの管理、分析、クエリ処理を可能にするサービスであり、特に膨大な量のデータを扱う企業にとっては強力なツールです。通常のデータベースでは、データの規模が大きくなるにつれて、クエリ処理時間が長くなり、システムの負荷も増大します。しかし、BigQueryはGoogleの強力なインフラストラクチャを活用し、ペタバイト級のデータを秒単位でクエリ処理することができます。

特徴

  1. スケーラビリティ
    BigQueryは、ペタバイト級のデータをスケーラブルに処理することができます。Googleの強力なインフラストラクチャ上に構築されているため、データの量が増えてもパフォーマンスが落ちることなく、シームレスにスケールアウトします。
  2. サーバーレスアーキテクチャ
    BigQueryはサーバーレスのアーキテクチャを採用しており、ユーザーがインフラストラクチャの管理に煩わされることはありません。つまり、ユーザーはインスタンスの設定やリソースの管理を意識する必要がなく、データ分析に集中できます。
  3. 高速なクエリ処理
    BigQueryは、分散型のアーキテクチャを利用してクエリを並列処理し、非常に高速な結果を提供します。特に、大規模なデータセットに対しても秒単位で結果を得られることが特徴です。これにより、ビジネスインテリジェンスやリアルタイム分析が可能となります。
  4. SQLに対応
    BigQueryはSQLに対応しており、既存のSQLの知識を持つユーザーであれば、簡単にBigQueryを使い始めることができます。また、Google Cloudの他のサービスともシームレスに統合できるため、エコシステム全体でデータを活用することができます。
  5. コスト効率
    BigQueryは、使用量に基づいて課金されるため、コスト効率が高いです。ストレージとクエリの両方が従量制で課金されるため、使用しないリソースに対して余計な費用が発生しません。また、クエリの実行にかかるコストを事前に見積もることもできるため、予算管理がしやすいです。

使用方法

BigQueryの使用は非常に簡単です。Google Cloud Consoleから、あるいはコマンドラインツールやAPIを通じてデータをロードし、SQLクエリを実行するだけです。また、Google Cloud SDKを使用することで、プログラム的にBigQueryを操作することもできます。

BigQueryの主な用途

BigQueryは、多種多様な業界やユースケースで利用されています。

  • ビジネスインテリジェンス: 大量の販売データや顧客データを迅速に分析し、意思決定をサポートします。
  • マーケティング分析: 広告キャンペーンの効果をリアルタイムで測定し、マーケティング戦略を最適化します。
  • IoTデータの処理: IoTデバイスからのデータを収集し、リアルタイムで分析することで、運用効率を向上させます。

まとめ

BigQueryは、Google Cloudが提供する強力なデータウェアハウスサービスです。大規模なデータを扱う際に、そのスケーラビリティ、高速なクエリ処理、フルマネージドの運用環境が大きなメリットとなります。データ分析のニーズが高まる現代において、BigQueryを活用することで、企業はより迅速かつ効率的にデータから価値を引き出すことが可能です。

 

【GoogleCloud】データパイプラインを自動化!Cloud Composerをご紹介

こんにちは。Aimyです👧

今回は、Google Cloudの提供するCloud Composerを紹介します。Cloud Composerがどのようなサービスであり、どのように活用できるのかを詳しく解説していきます。

Cloud Composerとは?

Cloud Composerは、データエンジニアや開発者が、複雑なワークフローやデータ処理パイプラインを自動化するためのサービスです。オープンソースのツールであるApache Airflowのすべての機能をクラウド上で提供し、スケーラブルで信頼性の高いデータパイプラインの構築をサポートします。

基盤となるApache Airflowとは?

Apache Airflowは、データパイプラインの自動化とスケジュール管理を行うオープンソースのワークフロー管理ツールです。Pythonでワークフローを定義し、タスクの依存関係を視覚的に管理でき、定期的なデータ処理やETL、機械学習パイプラインの実行を効率化します。Webインターフェースを通じて、タスクの状態をリアルタイムで監視し、異常が発生した場合のアラート設定も可能です。

Cloud Composerの特徴

  1. フルマネージドのApache Airflow環境
    Cloud Composerは、Apache Airflowを基盤としたフルマネージドサービスです。そのため、Airflowのインフラ管理を必要とせず、ワークフローの定義や実行に集中できます。Google Cloudがインフラのスケーリングやメンテナンスを担当するため、システム管理の負担が軽減されます。
  2. スケーラブルなワークフローオーケストレーション
    Cloud Composerは、Google Cloudのインフラを活用して、ワークフローのスケールアップやスケールアウトを行います。大規模なデータ処理パイプラインや複数のタスクを同時に実行する場合でも、パフォーマンスを維持しつつ効率的に処理できます。
  3. 柔軟なワークフロー定義
    Cloud Composerでは、Pythonを使用してワークフローを定義します。これにより、複雑なタスクの依存関係や条件分岐を柔軟にコーディングできます。AirflowのDAG(Directed Acyclic Graph)を利用して、タスクの順序や依存関係を視覚的に構築できるため、ワークフローの管理が直感的に行えます。
  4. 監視とアラート
    ワークフローの進行状況をリアルタイムで監視でき、タスクの失敗や遅延が発生した場合にはアラートを設定することができます。そのため、問題が発生した際の迅速な対応が可能となり、ビジネスへの影響を最小限に抑えることができます。
  5. セキュリティとアクセス管理
    Cloud Composerは、Google Cloud IAM(Identity and Access Management)と統合されており、ワークフローやリソースへのアクセスを細かく制御できます。また、データの暗号化やネットワークセキュリティの設定も簡単に行えます。

活用例

# データ処理パイプラインの自動化 #
   大規模なデータセットの処理や変換を定期的に行う必要がある場合、Cloud Composerを利用してデータパイプラインを自動化できます。例えば、データのETL(Extract, Transform, Load)プロセスをスケジュールし、処理結果をBigQueryにロードするワークフロー等を構築できます。

# 複数サービスを横断するワークフローの実行 #
   Cloud Composerを使って、Google Cloud内外のさまざまなサービスを連携させた複雑なワークフローを管理できます。例えば、APIからデータを取得し、Cloud Storageに保存し、そのデータを基にBigQueryで分析する、といった一連の作業を自動化できます。

まとめ

Cloud Composerは、フルマネージドでスケーラブルなApache Airflow環境を提供し、クラウドネイティブなデータパイプラインの構築を容易にします。データ処理や複雑なタスク管理の自動化を支援する強力なツールです。

暑い日もAIでリフレッシュ!最高の大規模言語モデルを探せ #AI

おはようございます。Takaです。

 

今日は、大規模言語モデルについて、おもしろいサイトを見つけたので、ご紹介します。

大規模言語モデルを提供している企業といえば、OpenAI、Google、Metaなどがあり、その中でもGPT-4o、Gemini1.5Pro、Claude3.5など、色々なモデルがあります。

で、結局どれが一番いいかわかりますか?メディアはChatGPTしか言わないし、ベンダーさんに聞いても、推してるLLMしか教えてくれないし、Webメディアも意図的な広告だらけだし、机上でカタログスペックで比べても結局机上だし、結局どれが一番いいいのかわからん!!そんな声をよく聞きます。

 

そこでちょっと調べてみました。問題を与えて戦わせたりしてる人いないかな??と調べてみたらありました。というか、実は結構有名なサイトらしいです。

 

Chatbot Arena https://chat.lmsys.org/

登録不要でさわれるので、みなさんも触ってみてください。

 

1.まずプロンプト入力画面に、お題を入力して、Sendボタンを押します。

プロンプト

2.2つのLLMが、回答を返してくれます。

 Aの方が良ければ、A is better

 Bの方が良ければ、B is better

 引き分けだと思うなら、Tie

 どっちもダメだと思うなら、Both are bad

 ボタンを押しましょう。

 

チャット結果

回答内容がすこしずつ違って面白い!みなさんも、気が済むまで遊んでみてください!

 

このサイトにはランキングもあります。100万人以上が遊んで、どちらが良いかを回答しているようなのですが、その集計結果を見たい人は、Leaderboard をクリック!

リーダーボード

 

すると、今日現在のランキングが表示されます。

LLMランキング

1位は Googleさん の Gemini-1.5-Pro-Exp-0801 でした!Google さんは、4位、5位、6位にも Gemini が入ってますね。AI の Google さん流石です。

 

2位は OpenAIさんの GPT-4o-2024-05-13 でした!OpenAIさんは、10位以内に 2位、6位、10位にも入ってます。こちらも世の中をにぎわせてるだけありますね。

 

10位以内には、他にも、Anthropicさん の Claude 3.5 Sonnet、Metaさんの Meta-Llama-3.1-405b-Instruct などが入っていました。

 

私もLLMを開発したらここに登録して、いろんな会社をバトルしてみたいと思います。

 

では、今週も暑いですが、暑さに負けず頑張りましょう。

 

じゃ、また!

Google Cloud Next Tokyo'24

おはようございます。たかです。

 

昨日8/1より、パシフィコ横浜ノースで、Google Cloud Next Tokyo'24が始まりました。

Tokyoなのに、横浜。濱っ子としては、そこはYokohama にして欲しかった!!

 

Googleさんも、ブース出展される会社さんも、セッションスピーチされる方も、準備非常に大変だったと思います。素晴らしいイベントをありがとうございます!

 

私もDay1から参加してきました。平手さんの基調講演は、9:40にはメインステージの受付が終了したようで、大盛況だったようです。

私は基調講演は聞けませんでしたが、午後からEXPOなどをまわってみたので、少し書きます。

 

まず、暑い!!なにより暑い!!むし暑い!!

人が多いからだと思いますが、暑いです。うちわを配っている会社さんもたくさんいたので、うちわをもらっちゃいましょう。

 

次に、Google Cloud 認定資格ブース。ここではクラウド診断を行い、認定資格者限定バッジをもらうことができます。クラウド診断結果は、「冒険心に満ちた捜査官」でした。大丈夫でしょうか・・・。

右の写真は頂いたバッジです。

認定資格ブース

 

次に、クイズチャレンジです。10問のクイズに挑戦して70点以上なら、アクリルスタンドがもらえます。私は、、、80点!!

ということで、ガチャガチャをまわして、アクリルスタンド貰いました。BigQueryでした。今日も貰おうと思ってます!

あとは、イノベーターズハイブで、イノベーターバッジも貰いました。

 

クイズチャレンジ

 

あと、ノベルティがかっこいいということで、狙っていたスタンプラリーは会場に着いた時には既に受付終了していました。今日は1番に並びたいと思います。

 

あと、教えてもらったことは↓です。みなさまお気をつけてー。

みなとみらい駅は北改札が便利。

・会場近くの大戸屋は激混み。

 

あと、1時間30分で、Day2始まりますね。会場に向かいましょう~。

 

じゃ、現地で!

 

Taka

【設定画面有り】AlloyDB の読み取りプールインスタンスを作成する

概要

今回は、AlloyDBの読み取りプールインスタンス(読み取り用途専用のインスタンス)を作成します。

更新を必要としないシステムの場合、「読み取りプールインスタンス」を参照させることで、メインの「プライマリ インスタンス」にかかる負荷を分散させることが可能になります。

AlloyDBでは、上限 20 まで、「読み取りプールインスタンス」を作成することができます。

 

では、実際の画面で設定していきましょう。

 

説明

Google Cloud コンソールから AlloyDB を選択します。

AlloyDBを選択

既に作成済みの、プライマリ クラスタ(tech1-cluster)を選択します。

クラスタを選択

クラスタの作成がまだの場合は、前の記事を参考に作成しましょう。

net-tech1.hatenablog.com

 

クラスタを選択すると、クラスタの概要画面が表示されていて、下側には【クラスタ内のインスタンス】情報が表示されています。

プライマリクラスタ概要

 

読み取りプールインスタンスの作成

読み取りプールを作成するには、まず [読み取りプールを追加] を押下します。

読み取りプールを追加

 

画面右に、読み取りプール インスタンスの追加画面が表示されます。

読み取りプール インスタンスの追加(初期画面)

 

実際に値を入れていきましょう。

インスタンスIDとノード数を入力します。ノード数は 2 以上を指定することで「読み取りプールインスタンス」の可用性を高めることができます(※後述)

今回は、シンプルに 1 を設定します。

 

マシンタイプは、プルダウンから選択します。今回は、「プライマリ インスタンス」と同じ [2vCPU、16GB] を選択しましたが、別のタイプにすることも可能です。

マシンタイプを選択

 

続いて、【接続】【ネットワークセキュリティ】【フラグ】を指定します。

今回、特に要件は無い為、デフォルトのままにしました。

※カラム型エンジンを利用する場合は、[google_columnar_engine.enabled] を [on] にしましょう。

 

接続/ネットワークセキュリティ/フラグを指定

 

入力が終わったら、「読み取りプールを作成」を押下します。

少し待つと、読み取りプール インスタンスの作成が完了します。「クラスタ内のインスタンス」に追加したインスタンスが表示されました。

クラスタ内のインスタンス(読み取りプール インスタンス 追加後)

 

「プライマリ インスタンス」と、「読み取りプール インスタンス」では、接続URL(IP)は、別のものが割り当たりますので、参照系のシステムは「読み取りプール インスタンス」の接続URL(IP)を設定しましょう。

 

 

※読み取りプール インスタンスのノード数に 2 以上を入れた場合

今回はノード数に 1 を指定しましたが、2以上を指定すると、同一の接続URL(IP)で複数のインスタンスを構成することができます。この場合は、高可用性(複数の読み取りノード)と表示されます。

ノード数2以上を指定した場合

 

これで、読み取りプール インスタンス の作成が完了です!

お疲れ様でした。

 

次回

これまでは同一ゾーン(リージョン)内でクラスタを構成してきましたが、リージョン障害に備えて、別のリージョンにレプリケーションさせることが可能です。

次回は、別リージョンにセカンダリクラスタを作成します。

 

 

【Google Cloud】マシンイメージとスナップショットの違いとは?

こんにちは。Aimyです👧

今回のテーマは、「GoogleCloudのマシンイメージとスナップショットの違い」です。

 

クラウド環境の運用において、データの保護と管理は重要な要素です。Google Cloudでは、データの保護とリカバリをサポートするために、マシンイメージとスナップショットという2つの主要な機能を提供しています。これらの機能は似ているようで実際には異なる役割を果たします。本記事では、Google Cloudのマシンイメージとスナップショットの違いについて解説します。

 

続きを読む