今回も、「Google Associate Cloud Engineer」認定取得の勉強におけるアウトプット内容となっています。
将来、「Google Associate Cloud Engineer」認定取得を目指している方向けに、読んでほしい内容になっています。
今回は、ストレージの2回目です。
Cloud SQL
Cloud SQLは、フルマネージドのリレーショナルデータベースです。
Cloud SQLの特徴
- ホストである仮想マシン上でMySQL 、 PostgreSQL 、 Microsoft SQL Serverが利用可能
- フェイルオーバーやレプリケーション等の設定を自動で管理
- 保管中と送信中のデータを暗号化
- 他のGoogle Cloudサービスとシームレスに連携
- 容量増加等を自動で実施
- バックアップや一時ファイルを暗号化
- プライベートIPで接続可能
- 様々なデータベース管理ツールを利用可能
高可用性オプション
Cloud SQLには、様々な高可用性オプションが用意されています。
- データベースのバックアップを作成しレプリカの読み取り
- プライマリに障害発生時、自動的にフェイルオーバー開始
- 特定地点のデータベースにリカバリ可能
- メンテナンス停止による事前通知と延期可能
Cloud SQLの料金
Cloud SQLの料金は仮想マシンの構成や以下の要素によって決まります。
- プロビジョンニングしたストレージの量(GiB/月)
- Cloud SQLインスタンスに選択するCPUの数
- Cloud SQLインスタンスに選択したメモリ量
- データベースのホストとして選択したリージョン
- インスタンスから出るネットワークトラフィックの量
- 割り当てて使用するIPアドレスの数
Cloud Spanner
Cloud Spannerは、無制限のスケーリング、高可用性なフルマネージドリレーショナルデータベースになります。
Cloud Spannerの特徴
- サーバ管理不要のフルマネージドサービス
- 最大 99.999% の高可用性
- 制限なしの自動スケーリング
- ダウンタイムなしでオンラインスキーマ変更可能
- 高パフォーマンスのトランザクション
- 自動シャーディング
- ACIDを実装
スキーマ
スキーマとは、データベース構造のことです。リレーショナルデータベースは、
- 外部スキーマ
- 概念スキーマ
- 内部スキーマ
上記3層に分かれています。
外部スキーマ
外部スキーマは、実際のデータ部分です。
概念スキーマ
概念スキーマは、データベースの論理データです。データ要素やデータ同士の関係性を定義する部分です。
内部スキーマ
内部スキーマは、データをどのように格納するかを決める部分です。
トランザクション
トランザクションとは、リレーショナルデータベースにおいて、データベースに対する一連の処理のことです。
例えば、学校の名簿のデータから、「はじめさん」の住所を変更する場合、
①「はじめさん」のレコードを読み取る
②古い住所の情報を削除する
③新しい住所に情報を追加する
④正常に処理が完了したことを通知する
という、一連の処理を行います。この処理をトランザクションと呼びます。
シャーディング
データベースは、データが多くなるとそれだけ読み取りや保存に時間がかかります。データベースのシャーディング機能は、データベースを分割することにより、ネックになる読み取り時間などの改善を行うことができます。
ACID
ACIDとは、信頼性のあるトランザクション処理を行う上での4の特性のことです。
Atomicity(原始性)・・・トランザクションの処理が実行されるか、全く実行されないか
Consistency(一貫性)・・・トランザクションの前後で、データベースの整合性が保たなければならい
Isolation(分離性)・・・トランザクション処理が他のトランザクション処理の影響を受けない
Durability(永続性)・・・障害が発生しても、ログから障害発生前の状態に復元できること
Cloud Spannerの料金
Cloud Spannerを使用すると、下記項目に対して課金されます。
- インスタンスのスペック
- 使用しているストレージ容量
- バックアップで使用しているストレージ容量
- ネットワークの通信量
BigQuery
BigQueryは、ペタバイト単位のデータに対して、超高速に解析することができるビッグデータ解析サービスです。
BigQueryの特徴
- CSVやJSONなど様々な形式のデータをインポート可能
- カラム型データストア
- ツリーアーキテクチャによる分散処理
- コストパフォーマンスが高い
- 他のGoogle Cloudサービスとシームレスに連携
- データベースの専門知識が不要
カラム型データストア
カラム型データストアとは、カラム(列)単位でデータを保存します。カラム単位でデータを保存することにより、データアクセスにかかるトラフィックとデータ圧縮を実現しています。
ツリーアーキテクチャ
BigQueryは、複数のサーバを使った並行分散処理で高速処理を実現しています。クライアントから受け取ったクエリ(要求)に対して、複数のサーバがツリー構造になって分散処理するため、ツリーアーキテクチャの名前がついています。
まとめ
今回は、下記3点について説明を行いました。
- Cloud SQL
- Cloud Spanner
- BigQuery
Cloud SQLは、クラウド環境でシステムを構築する際、データベースサービスとしてよく使用します。是非、覚えておいてください!
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!