今回も、「Google Associate Cloud Engineer」認定取得の勉強におけるアウトプット内容となっています。
将来、「Google Associate Cloud Engineer」認定取得を目指している方向けに、読んでほしい内容になっています。
今回からは、ストレージについて2回に分けて説明します。
Cloud Storage
Cloud Storageは、オブジェクトストレージのサービスです。オブジェクトストレージとは、データをオブジェクト形式で管理する記憶装置です。通常、私達が使用しているパソコンの記憶装置は、ファイルストレージになります。
Cloud Storageは、バケットという入れ物にオブジェクトを保存します。
ファイルストレージとオブジェクトストレージの違いを一言でいうと、データの管理方法が異なります。
ファイルストレージは、フォルダ(ディレクトリ)構造すなわちファイルまでの道順(パス)でデータを管理し、オブジェクトストレージはメタデータ(付加情報)でデータを管理します。
メタデータとは、例えば、スマフォのカメラで写真を撮影した場合、その画像に撮影日時や撮影場所などの情報も保存されますが、それがメタデータ(付加情報)です。
ファイルストレージの特徴
- データをフォルダで階層的に管理
- データアクセスはパスを使用
- CIFS/NFSによるアクセス
- 大規模なデータ管理には不向き
- PCやNASのストレージで使用
オブジェクトストレージの特徴
- フラットな空間に保存
- インデックスの作成が容易
- HTTP/HTTPSによるアクセス
- 大規模なデータ管理に最適
- サーバやクラウドストレージで使用
ファイルストレージとオブジェクトストレージの違い(例)
ファイルストレージとオブジェクトストレージをマンションで例えると、ファイルストレージは各部屋の「郵便ポスト」になります。明確に場所が決められていて、その場所に「手紙」を入れます。
逆に、オブジェクトストレージは、宅配ポックスになります。場所は決まってなく、「部屋番号」と「荷物」の組み合わせで宅配ボックスの自由なスベースに保管されます。
Cloud Storageの特徴
- 容量無制限
- オブジェクトはバケットに保存
- 少なくとも2つ以上のゾーン(リージョン)に複製
- データは自動的に暗号化
- バージョニング機能有り
ストレージクラス
Cloud Storageには、4つのストレージクラスがあります。アクセス頻度によって、ストレージクラスを決めます。ストレージクラスによって、料金が異なります。
- スタンダード:頻繁にアクセスされるデータや、短期間だけ保存されるデータに最適
- ニアライン:読み取り又は変更を月に1回程度しか行わないデータに最適
- コールドライン:四半期に1回程度しか読み取りや変更を行わないデータに最適
- アーカイブ:1年間に1回未満しかアクセスしないデータに最適
ロケーションタイプ
Cloud Storageバケットのロケーションには、3つの種類があります。種類によって、データの可用性が異なります。
- リージョン:特定のリージョンにデータを保存します。ゾーン間でデータを複製(レプリケーション)します。
- デュアルリージョン:ペアとなるリージョンでデータを複製します。例えば、東京リージョンと大阪リージョン等です。
- マルチリージョン:選択した地域(US、EU,アジア)のリージョン内に分散してデータを保管しし、複製します。
ライフサイクルマネジメント
ライフサイクルマネジメントとは、オブジェクトの作成日時から一定の期間が経ったオブジェクトを別のストレージクラスに移動したり、削除したりする機能です。これにより、Cloud Storageにかかる費用を安く済ませることができます。
例えば、スタンダードクラスに保存されたオブジェクトを180日後、自動的にアーカイブクラスに移動する設定を行うことができます。
ライフサイクルマネジメントで指定することができる条件は、下記のようなものがあります。(一部抜粋)
- age:オブジェクトが作成されてからの日数
- createBefore:指定日
- customTimeBefore:指定日より早い
- daysSinceCustomTime:指定日より何日後
- daysSinceNoncurrentTime:最終更新日からから特定の日数経過後(バージョンニング機能と併用で使用)
ライフサイクルマネジメントで指定することができる条件の詳細は、Google Cloudドキュメントのこちらを参照してください。
Cloud Storageの料金体系(※東京リージョンの場合)
<保管中の料金体系>
ロケーション | スタンダードクラス(GB単位/月) | ニアラインクラス(GB単位/月) | コールドラインクラス(GB単位/月) | アーカイブクラス(GB単位/月) |
東京(asia-northeast1 ) | 0.023ドル | 0.016ドル | 0.006ドル | 0.0025ドル |
※Cloud Storageは、上記保管料金以外にも、オペレーション料金や取得料金などがあります。詳しくは、Google Cloudドキュメントのこちらを参照してください。
Cloud Firestore
Cloud Firestoreは、サーバレスのドキュメント指向データベースです。
Cloud Firestoreの特徴
- 自動スケールアップ
- リアルタイム更新
- データベースに直接アクセス可
- キャッシュ機能でオフライン使用も可
- 様々なセキュリティ機能有り
- 従量課金制
- データの複製(レプリケーション)機能有り
- Google Cloudの他のサービスとシームレスに連携
Cloud Firestoreの使用例
- SNSのユーザープロフィール:ユーザの過去の履歴や好みに基づいて最適なコンテンツ提案を行います。ユーザ数が増えてもパフォーマンスが落ちません。
- ECサイトのカテゴリー分類:何百何千という商品情報から、商品をカテゴリー別に素早く分類します。
- オンラインチケット販売の取引処理:人気コンサート販売時の大量のアクセスに対し、素早く取引処理を行います。
- オンラインゲーム:リアルタイムに変化するオンラインゲームで一貫した状態を提供します。
- 自動車のリアルタイムGPS処理:刻々と変化する走行中の自動車における位置情報を素早く処理し、最適なルートを提案します。
ドキュメント指向データベース
ドキュメント指向データベースとは、JSONやXML形式のように、ドキュメント形式のデータベースです。特徴は、1件のレコードで複数の値をもたせることができます。
例えば、
{
"name": "はじめ",
"age": 40,
"sex": "男性",
"hobby": "読書"
}
のような形です。
「name」や「age」の部分を「キー(Key)」とよび、「はじめ」や「40」の部分を「バリュー(Value)」と呼びます。
ドキュメント指向データベースは、NoSQLデータベースに含まれます。
NoSQL
NoSQLは、リレーショナルデータベース以外のデータベースになります。
リレーショナルデータベースとは、Microsoft Excelのように、表形式のデータベースをいいます。NoSQLは、それ以外のデータベースとなり、以下のような形式があります。
- キーバリュー型:キーとバリューの組み合わせ
- カラム指向型:キーバリュー型に列の指向を取り入れたもの
- ドキュメント指向型:JSONやXML形式で記述されたドキュメント形式
- グラフデータベース:ネットワーク状のデータベース
上記のように、NoSQLは、様々なモデルがあります。
Cloud Firestoreの料金体系(※東京リージョンの場合)
1日あたりの無料割当 | 無料割当超過分の料金 | 課金の単位 | |
ドキュメントの読み取り | 50,000 | 0.038ドル | ドキュメント 100,000 点あたり |
ドキュメントの書き込み | 20,000 | 0.115ドル | ドキュメント 100,000 点あたり |
ドキュメントの削除 | 20,000 | 0.013ドル | ドキュメント 100,000 点あたり |
保存データ | 1GBのストレージ | 0.115ドル | GB/月 |
Cloud Bigtable
Cloud Bigtableは、フルマネージドのNoSQLデータベースです。
Cloud Bigtableの特徴
- 高速なデータ通信可能で低遅延(レイテンシー)
- ダウンタイムなしで自動スケールアップ/ダウン
- 書き込みは1秒あたり数千回から数百万回まで可能
- 複製(レプリケーション)機能有り
- ビックデータツールと統合化
- 従量課金制
- NoSQL
Cloud Bigtableの使用例
- データセンターのサーバにおけるCPUやメモリ等の時系列データ
- Amazon等のECサイトで、顧客の購入履歴や好みによるマーケティングデータ
- 株式売買やその価格などの金融データ
- 家電製品のリアルタイム使用状況などのIoTデータ
Cloud Bigtableの料金体系(※東京リージョンの場合)
- ノード:1ノードあたり0.85ドル/時間
- SSDストレージ(GB/月):0.22ドル
- HDDストレージ(GB/月):0.034ドル
- バックアップストレージ(GB/月):0.034ドル
- ネットワーク(同一ゾーン/リージョンの内外向き):無料
まとめ
今回は、下記3点について説明を行いました。
- Cloud Storage
- Cloud Firestore
- Cloud Bigtable
Cloud Storageは、クラウド環境でシステムを構築する際、よく使用します。是非、覚えておいてください!
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!