こんにちは。
GoogleCloudの資格取得に向けて学習している中で、SkillsBoostの教材を使っていて理解が追い付いていなかったりして止まってしまった部分を自分のためにメモ書きで残していこうと思います。
GoogleCloudには複数の主要なストレージプロダクトがある。
そもそもデータの集まりには構造化データ、半構造化データ、非構造化データが存在していてそれぞれに適したストレージプロダクトを利用することが大事なのだね。
・Cloud Storage(非構造化データ)
デベロッパーとIT組織に 耐久性と可用性の高いオブジェクト ストレージを提供するサービス
?:オブジェクトストレージってなんだ。
!:コンピュータの データストレージアーキテクチャであり データをオブジェクトとして管理します。オブジェクトはパッケージ化形式で 保存されます
バイナリデータに加えて、関連するメタデータが含まれる。作成日や作成者、グローバルに一意のIDなど…。これらの一意のキーはURLになっているそうだ。webテクノロジーとは親和性があるんだと。
オブジェクトとして保存されるデータには動画、画像、音声録音などがあるそうな。これらは非構造化データと呼ばれ、事前定義されたデータモデルがなく事前定義された方法で整理されてもいない。構造化されたデータベース形式とは対照的なんだそうな。
CloudStorageでは任意の量のデータを保存することが出来て、必要に応じて何度でもデータを取得できるそうだ。
これは『フルマネージドのスケーラブルなサービス』で、様々な用途があるそうな。ウェブサイトのコンテンツの提供、アーカイブや障害復旧用のデータの保存、直接ダウンロードによる大規模データオブジェクトの配布などなど…。すげぇなぁ…なんか何でもできそう。だね
4つのストレージクラス
・StandardStorage
頻繁にアクセスされるデータに最適
・NearlineStorage
平均で月1回以下のデータに最適(データバックアップなど)
・ColdlineStorage
90日に1回しか読取や変更が行われないデータ
・ArchiveStorage
1年に1回未満のデータ向け(データアーカイブ、オンラインバックアップ、障害復旧など)
全てのストレージに共通する特性
最小オブジェクトサイズの要件がない無制限ストレージ
世界中のロケーションからのアクセス
低レイテンシで耐久性に優れている
セキュリティツールとAPIで操作が統一されている
地理的冗長性
?:Autoclass機能ってなに
!:各オブジェクトのアクセスパターンに基づいてオブジェクトを適切なストレージクラスに自動的に移行する機能。アクセスされないデータをコールドストレージクラスに移動してストレージ料金を削減する。
ってことはこの機能を使えば費用の削減を簡素化、自動化できるのね。便利だねぇ…。
・Cloud SQL(構造化データ)
フルマネージドのリレーショナルデータベース
MySQL、PostgreSQL、SQL Serverが含まれる。
日常的で単純だけど必須なもの、時間がかかるタスクをGoogleに移管できるように設計されている。
パッチの適用、更新バックアップの管理、レプリケーションの構成など…。
?:レプリケーションってなんだ
!:複製(レプリカ)の作成。あとで自分で調べろ。
顧客のデータ(これは利用する人ってことだと思う)はGoogle内部ネットワーク上にあるときは暗号化されるそうだ。
・Cloud Spanner(構造化データ)
ミッションクリティカルな業務に対応できるフルマネージドのリレーショナルデータベースサービス。
水平スケーリングによって需要の急増に対処できる。
…このサービスよくわかんないからあとでもっと調べよう。
とりあえず、無制限のスケーリングと強整合性が売りらしい。
・Big Query(構造化データ)
フルマネージドのデータウェアハウス
ストレージと分析が一体化されている。重要なことらしい
ペタバイト級のデータを保存する場所。え、なにそれすげぇ。
BigQueryを使用すればデータサイロを根絶して、複数のクラウドプロバイダにわたるデータを分析できる。
・Firestore(半構造化データ)
柔軟で水平スケーリングが可能
NoSQLクラウドデータベースで、データをリアルタイムで保存・同期できる。
モバイルアプリ、webアプリから直接アクセスできる。
ドキュメント形式でデータを保存する。
主な機能
自動スケーリングで一定のパフォーマンスレベルを維持
オフラインデータアクセス
・Cloud Bigtable(半構造化データ)
GoogleのNoSQLビッグデータデータベースサービス
検索、アナリティクス、マップ、Gmailなどのサービス
大規模なワークロードを一貫した低レイテンシで処理するように設計されている。リクエストに素早く応答して高スループットも維持する。なんかすげぇことしか書いてない…。
Bigtableを選択するケース
業務アプリ、分析アプリにも最適。
1テラバイトを超える半構造化データまたは構造化データを扱う場合
データが高スループットで高速に移動する場合
データが急速に変化する場合
ビッグデータを扱っていて、バッチまたはリアルタイムでデータを処理する場合
データに対してMLアルゴリズムを実行する場合
難しいわぃ…。
たぶんそれぞれのサービスをもっと知ることで、何をしたい。だからこのサービスを利用する。って感じで使うべきサービスが何かってのがわかってくるんだろうなぁって思いました。
そして試験に対しての勉強はこれらのサービスの特徴を知って、この場合にはこのサービスを使う。このサービスを使うとこんないいことがある。とかを覚える感じなのかな。