Content-Length: 149492 | pFad | https://qiita.com/te_yama/items/b52a0a19e2fdac76312e

Professional Cloud Database Engineerの学習メモ #GoogleCloud - Qiita
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Professional Cloud Database Engineerの学習メモ

Posted at

はじめに

Google CloudのProfessional Cloud Database Engineerに合格したので、そのときの学習中のメモとなります。
本試験は現在英語での試験のみとなっています。

試験の感想

英語が得意ではないので後回しにしていましたが、合格できました。
この資格がProfessionalの最後の資格だったので、正直難しいという印象はなかったです。
むしろProfessional資格では簡単な部類なのではと感じました。
問題の英語の部分に関しては、模擬問題集などで出てくる頻出単語を理解したり英語の文章に慣れておくと、比較的スムーズに試験を受けられると思います。
(この試験受験の2週間前に英語のProfessional Machine Learning Engineerを受験していて、英語の文章に慣れていたというのもあります。)

各DBの使い分け

各DBの特徴を以下Google Cloudのブログで理解する。

Cloud SQL関連

Database Migration Service

Cloud SQLへの移行を行う。
継続的なレプリケーションを管理し、移行オペレーションのステータスを提供する。

Cloud SQLのストレージ変更

Cloud SQLインスタンス作成後は、HDD↔SSDの変更は不可。
変更したい場合は、新たなインスタンスを作成しデータをインポートする。

Cloud SQLのフェイルオーバーテスト

Cloud SQLのフェイルオーバーの動作確認や障害テストをしたい場合は、以下のコマンドでできる。

gcloud sql instances failover PRIMARY_INSTANCE_NAME

クエリタグで非効率なクエリを特定

アプリケーションのトラブルシューティングを行うには、SQLクエリにクエリタグを追加する。
Query Insightsで、これらのタグを使ってクエリをフィルタリングし、どのアプリケーションからのクエリが問題を引き起こしているかを特定できる。

スロークエリの確認

スロークエリのログを出力するように設定する。
その際、指定した時間より長くかかったクエリがログファイルに出力されるようになる。
MySQLの場合は、slow_query_logオプションを使用する。

Cloud Spanner関連

Cloud Spannerのクエリパラメータ

クエリパラメータとは、クエリ内の特定の値を変数(パラメータ)に置き換えること。
パラメータ化によって Spanner での実行プランのキャッシュ保存され、呼び出し毎に高速化される。

Cloud Spannerのホットスポット(hotspots)対策

ホットスポットとは、同じサーバーに多くのリクエストが送信され、遅延が大きくなっている状況のこと。
その対策として以下がある。

  • 主キーにUUIDを使用する
  • 主キーに連続した値をビット順逆転する
  • カーディナリティ(データの種類)が高い属性を主キーの先頭にする
    • カーディナリティが低い属性を先頭にするとデータ分散が不均一になる

Cloud Spannerのインターリーブテーブル

親子関係を定義するときには、インターリーブテーブルを使用する。
インターリーブを使用すると、Spannerはストレージ内の子行と親行を物理的に配置して、パフォーマンスが向上する。

Cloud SpannerでJSON データ型を扱うことが可能

Cloud Spannerでは、半構造化データのJSON データ型を扱うことが可能。
JSON データ型では、リレーショナル テーブルに適さないデータを柔軟に管理できる。

マルチリージョンのCloud Spannerの書き込みパフォーマンス向上

書き込みは、デフォルトのリーダー リージョンで最初に処理される。
書き込みの多いワークロードのコンピューティングリソースをデフォルトのリーダーリージョン内またはその近くに配置することで、パフォーマンスが向上する。

BigTable関連

BigtableのKey Visualizer

Key Visualizer は、Bigtable の使用パターンの分析に役立つツール。
ホットスポットになっている行やCPUの過剰使用を確認することができる。

FireStore関連

FireStoreのデータモードの使い分け

FireStoreには2つのデータモードがある。

  • Nativeモード
    • モバイルアプリやウェブアプリの場合
  • Datastoreモード
    • 新しいサーバー プロジェクトの場合

Firestoreのオフラインデータ

アプリが使用している Firestore データのコピーがキャッシュに保存され、デバイスがオフラインであっても、アプリはデータにアクセス可能。
デバイスがオンラインに戻ると、アプリがローカルで行った変更と Firestoreバックエンドが同期される。
PersistenceEnabledオプションをTrueにする。

メンテナンスの影響を最小限に抑える方法

メンテナンス中に発生するエラーには、接続の切断や処理中のトランザクションの失敗がある。

  • 接続の切断による影響を最小限に抑えるには、接続プールを使用する
    • アプリケーションとプーラーの間の接続は保持される
  • 復旧するために指数バックオフで再試行する
    • 過大な負荷を軽減できる

その他

Bare Metal Solutionでインターネットへアクセスする方法

Bare Metal Solution にはインターネット接続は付いていない。
Cloud NATを使用して、プロキシサーバーとして機能するCompute Engine VM経由でのトラフィックのルーティングを行うことで、インターネット接続ができるようになる。

Datastream

Datastreamは、サーバーレスで変更データキャプチャ(CDC)およびレプリケーションサービス。
運用データベースから BigQuery にデータをシームレスに複製可能。
Dataflowと統合することで、データ書き込みも可能。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?