[2020年9月] Cloud Architect(Googleプロ認定資格)合格への道:第3回 どのDBを使うべきか?

どうも、末岐碧衣です。

7月に Data Engineer 取ったばかりですが、9月末に今度は Cloud Architect に挑戦することになりました。

ということで、あと2週間切ってますが(!)、前回合格できた Professional Data Engineer の時と同じ手順で、お金をかけず、短期間で勝負を決めたいと思います。

私は技術畑をずっと歩いてきたエンジニアではないので、文系だったりあんまりI Tに自信ないけど、Google Cloud Certified プロ認定試験に挑戦して、資格取りたい!という方には参考にしていただける内容になると思います。

 

なお、このGoogleの教育プログラムなどに一切お金を使わず、2週間で集中学習する手順は、模試の受験が必須です。まだの方は、まずは模試を受験してみてください。その辺の手順は第1回の記事で詳しく記載しています。

 

今回のメインテーマ:DB、自律走行車のアーキテクチャ、オンプレ→クラウドへの移行

模試でいうと、2〜4問目までです。

模試:2問目

 

模試:3問目

模試:4問目

 

暗記ポイント: どのDBを使うべきか?

2問目のフィードバックを以下にまとめる。

DB系プロダクト 特徴
Cloud SQL RDBなので頻繁な更新が必要なデータが得意。
BigTable 時系列データが得意。

低レイテンシ、スケーラブル。

BigQuery 広い範囲のクエリが得意。

狭い範囲(指定した時間範囲のデータなど)でレイテンシを短縮したいならBigTableを使ったほうがいい。

Cloud Storage GCP上で一番安いストレージ。ただのStorage(ファイル置き場)なのでクエリはできない。

 

意味不明だったキーワード

OLTP ワークロード

Online Transaction Processingの略。日本語だと「オンライン・トランザクション処理」。

オンライン・トランザクション処理 (OLTP) のワークロードの特徴は、 データに対してランダム・アクセスを行う必要があり、 多くの場合、頻繁に挿入や更新を行ったり、または通常小さなデータ・セットを戻すような照会をするトランザクションです。

 

フェデレーション(federation)

一度認証を通れば、その認証情報を使って、許可されているすべてのサービスを使えるようにする仕組み。

BigQueryのフェデレーション機能とは、BigQueryでは外部データソース(Cloud Storageなど)のデータに対して直接クエリする機能のことを指す。

BigQuery では、次のデータに対して直接クエリを実行できます。

  • Bigtable
  • Cloud Storage
  • Google ドライブ
  • Cloud SQL

サポートされている形式は次のとおりです。

  • Avro
  • CSV
  • JSON(改行区切りのみ)
  • ORC
  • Parquet

外部データソースを使用する場合:

  • 外部データソース(BigQuery の外部の場所)からデータに対してクエリを実行し、クリーニングした結果を BigQuery ストレージに書き込むことによって、1 つのパスでデータの読み込みとクリーニングを行います。
  • 他のテーブルと結合する少量のデータを頻繁に変更します。外部データソースであるため、頻繁に変更されるデータは更新されるたびに再読み込みする必要がありません。

 

Trusted Platform Module (TPM)

コンピュータのマザーボードに直付けされているセキュリティに関する各種機能を備えたデバイスもしくはチップ。

RSA暗号演算やSHA-1ハッシュ演算といった機能を有しており、チップ内で暗号化・復号、デジタル署名の生成・検証、プラットフォームの完全性検証を行うことができる。また、TPMの内部でRSAの鍵ペア(公開鍵と秘密鍵)を生成することができる。

最新のバージョンは2.0である。1.2まではRSAのみであったが、2.0からはAESやECDSAなどを含め多種多様な暗号アルゴリズムの処理をチップ内でできるようになり、ソフトウェアが暗号ライブラリを負担する必要が大幅に無くなった。

ピン数が少なくなるためコストが縮小するほか、インタフェースの簡素化など攻撃表面の縮小(Attack surface reduction)の概念と相性が良いという利点がある。

近年、車の自動運転やIoTなどで需要を伸ばしている分野である。

 

ピン数

メモリカードなどの金色の端子部分、パソコン内のメモリスロットに差し込む接点の数。

この端子部の数は「ピン数」(表面とウラ面を合わせた数)と呼ばれ、メモリの種類によって、168ピンや184ピン、240ピンなどのものがある。

 

耐久性、冗長性、安全性の違い

耐久性

耐久性とは、ある物が外部からの物理的・化学的な影響に対して、どれだけ長く抵抗できるかを示す性能のことです。

→予期せぬ「障害」が起きにくくするための対策やってる度合い、かな。

 

冗長性

必要最低限に加えて余分や重複がある状態。

耐障害性を高めるために、ネットワークを含むシステム全体を二重化して予備システムを準備することを冗長化という。

→予期せぬ「障害」発生時の対策やってる度合い、という感じ。

 

安全性

安全性とは、ある物事についての安全(リスクが許容可能な水準に抑えられている状態)の度合いのことである。 言い換えれば、安全とは事故・災害・犯罪などの危害に対して個人や一般社会が許容できる限度に抑えられている状態のことをいう。

→システム分野では、ハッキングなどの「攻撃」への対策やってる度合い、という理解でいいと思う。

 

IPv4 と IPv6 の違い

IPアドレスとは、インターネットに接続されたコンピュータにはそれぞれのコンピュータを識別するための固有の番号。

IPv4ではIPアドレスを32ビットのデータとして表現。アドレス総数は2の32乗個、つまり42億9496万7296個。

IPv6ではIPアドレスを128ビットのデータとして表現。アドレス総数は3.4×10の38乗個、つまり約340澗(かん)個。これは事実上無限と言える数です。

 

IPv6の特徴はそれだけではありません。

宅内端末などに付与されるIPv6アドレスはMACアドレス(各端末・機器に割り当てられた固有の識別番号)をベースに自動設定されるため、利用者はIPv6アドレスの設計や設定が基本的には不要です。コンテンツ供給側(サーバー)はIPv4だけでなくIPv6対応も進める必要があります。GoogleのYouTubeやGmail、FacebookのサイトはすでにIPv6対応ですね。

 

ファラデーケージ

ファラデーケージ(英語: Faraday cage)とは、導体に囲まれた空間、またはそのような空間を作り出すために用いられる導体製の籠や器そのものを指す。 導体に囲まれた内部には電気力線が侵入できないため、外部の電場が遮られ、内部の電位は全て等しくなる。

 

ファームウェア

電子機器に組み込まれたコンピュータシステム(ハードウェア)を制御するためのソフトウェアで、ソフトウェアをROM等の集積回路にあらかじめ書き込まれた状態で、機器に組み込んだもの。

悪意のある人物によるルートキットへの対策として、ファームウェアをチェックすることで安全性を向上させることができる。

 

OpEx / CapEx 配分

OPEX(オペックス):「Operating Expense」の略称であり、日本語では「事業運営費」。運用にかかる人件費など。

CAPEX(キャペックス):「Capital Expenditure」の略称であり、日本語では「資本的支出」。要は、設備投資の費用。

オンプレからクラウドに移行すると、データセンタやサーバーを購入しなくて良くなります。

GCPのようなマネージドサービスを使えば、インフラ方面の運用費用もほぼGoogleが担保して自動でやってくれるものが多いので、運用に必要な人員や作業も格段に減らすことができます。

 

LAN 変更管理プロセス

LAN(Local Area Network)とは、企業、官庁のオフィスや工場などの事業所、学校、家庭などで使用されるコンピュータネットワーク。

一般に、ネットワーク管理者は、自社にとって最適なネットワークシステムを定義し終えたら、そのネットワークインフラストラクチャに適合する変更管理プロセスの実装を検討する必要がある。

ただ、オンプレシステムをGCPに移行するに当たり、社内 LAN は Google Cloud Platform VPC と簡単にピアリングで切るので、LAN 変更管理プロセスは大幅に変更する必要はない。

デバイスとサブネットがクラウドに移行するにつれて LAN チームの実装は変わるが、変更管理プロセスの変更は不要、ということ。

 

TCO計算

総保有コスト(Total Cost of Ownership)とは、サーバー ハードウェア、ソフトウェア ライセンス、電力、 労働力など、現在アプリケーションに影響を与えているトータルのコスト。

オンプレからクラウドに移行すると、TCO計算は大幅に変更される。

 

データセンターの拡張

言うまでもないですが、オンプレからクラウドに移行すると、データセンターの拡張を懸念する必要はなくなります。

これは、undifferentiated heavy lifting(差別化につながらない重労働)の一部 であり、クラウド プロバイダが対処する問題です。

 

 

次回に続く!

それでは!

末岐 碧衣
  • 末岐 碧衣
  • フリーランス のシステムエンジニア。独立後、一度も営業せずに月収 96 万円を達成。1986年大阪生まれ。早稲田大学理工学部卒。システムエンジニア歴 12年。
    2009年、ITコンサルティング企業に入社。3年目でコミュ障が爆発し人間関係が崩壊。うつにより休職するも、復帰後はコミュ障の自覚を持ち、「チームプレイ」を徹底的に避け、会社組織内においても「一人でできる仕事」に専念。社内外から評価を得た。
    無理に「チームプレイ」するよりも「一人でできる仕事」に専念した方が自分も周囲も幸せにできることを確信し、2015年フリーランスとして独立。