Google Cloud Platform 入門編トレーニングに参加してまいりました!

 先日、行ってまいります、と言っていたGoogle Cloud Platform入門編トレーニングに行ってまいりました。ただ、トレーニングとは言っていましたが、実際の練習はありませんでした。ま、時間の都合だったようです。トレーニングするのだからと、そんなに大人数がいることは想定していなかったのですけど、すごい人でした!
 休憩中に一番後ろから写真撮ってみました。休憩中なので空席が見えますが、これがほぼ満席状態でした!

Google Cloud Platform 入門編トレーニング会場 休憩中の様子
2019年2月20日 Google Cloud Platform 入門編トレーニング

 書店に置いてあったGoogle Cloud Platform関連書籍の数から、まだそんなに認知されていないと思っていたのですけど、これはスゴイですね。圧倒されました。

 さて、肝心のセミナー内容ですが、概要がバッチリ理解できました。概ね書籍に書いてあったことではあったのですけど、実際にデモンストレーションを見せてもらい、事例紹介してもらうことで、より理解が深まりました。
 もともとのGCPのコンセプトは、Googleのソフトウエアエンジニアが使っている開発環境を一般のデベロッパーにもパブリッククラウドとして利用できるように、というものだそうです。とにかく何十億人ものユーザーが利用できるサービスを提供しているので、自動的にスケールする、ということがとても魅力的ですね。ちなみに冒頭のあいさつにあった、残念ながらトイレはスケールしないのでお早めに、というGCPジョーク、会場は静まり返っておりましたが、ぼくはこっそりニヤリとしていましたよ。
 それで前々からそうじゃないかと思っていたけど今回明らかになったことは、GCPを利用すれば何もしなくても何でもかんでも自動的にスケールしてくれるんじゃないかという期待は、半分くらいはあっていたのだけれど、このページを提供しているCompute Engineでは勝手にはスケールしないということですね。必要ならLoad BalancingとKubertenes Engineを組み合わせればいいということでしたが、このページがバズって見れなくなることはきっとないでしょうから、ま、この構成で充分ですね。

 ぼくにとって今回の説明で特に印象的だったのは、BigQueryの説明で、これはデータウエアハウスのサービスなのですけど、実際にサンプルデータを使ってSQLを実行する画面を見せてもらいました。こういう環境があるなら、データをとにかく放り込んで、あとから分析する、ということも簡単にできそうだな、と思いました。あと、時間の都合で説明は割愛されたのですけど、DataflowというETLツールのようなものがあり、それを使うと入力データを分析しやすい形に変えることができる。そして、Data Portalというのを使ってデータの可視化ができそうだ、ということがわかったので、これらの組み合わせで現状のデータウェアハウスの代わりとして利用できそうだ、ということが分かりました。そこが特に今回の大きな収穫でした。
 Googleさん、そして、今回のスポンサー企業だった、トレノケートさん、NECマネジメントパートナーさん、トップゲートさん、クラウドエースさん、ありがとう!

SQLの学び方

 先日、職場の方から「石川さんは、どうやってSQL勉強したんですか?」と質問をいただきました。言われてあとから気づいたのですが、ちゃんとしたSQLの教育を受けたことって、ありませんでした。では、どうやって学んだのでしょうか。
 結論から言うと、Oracleのマニュアルです。Oracleのマニュアルは、膨大な量があって、どれを読んだらいいのか、本当に迷います。その中で、SQLを勉強しようとする方のためには、「SQLリファレンスマニュアル」これだけですね。今でもOracleさんのホームページで提供されていますので、本気で学びたい方は検索してみてください。最初は、この中の「SELECT」についての記述を読んでは試し、読んでは試し、してみてください。そのうちに何となくわかってくると思います。「SELECT」に慣れて余裕が出てきたころに、マニュアルの他の記載を見るのがよいでしょう。そこには、リテラルや値の種類、関数の種類などが書かれてあって、読めばより理解が深まって、SQLをもっと便利に使えるようになると思います。
 もし、もっと深く理解していきたいと思った人は、SQLが作られる元となった知識として「関係モデル」の「関係代数」を学ぶのがよいと思います。関係とはおおよそ表のようなものを表す概念のことで、関係代数は、それらの演算について述べられたものです。詳しくは、C.J.Dateさんによる「データベースシステム概論」を参照してください。関係代数の和、交わり、差、直積などについて詳しく記載されていて、関係というか、表というか、セットというか、そういう概念の演算について深く理解できるようになります。

 ぼくがSQLを初めて使ったのは、おそらくOracle6の時代で、とても衝撃的だったのを覚えています。当時はデータベースというものの存在も知らず、データはすべてファイルに書かれているのが当たり前で、システムごとプログラムごとにファイル定義を作り、そのルールに従ってファイルオープンし、読み書きして利用するのが当たり前だと思っていたからです。当時はSQLでデータを取得する仕組みが全く理解できず、とにかくこうやればデータが取れる、という利用方法でした。データベースが現在のように利用されるようになるとは夢にも思っていませんでした。
 Oracle7になって、本格的にOracleを使うようになったのですが、当時はまだインターネットもそんなに普及しておらず、すべて紙のマニュアルだよりでしたね。わからないことはすべて、マニュアルを読んで試してみる、ということしかできなかった、というわけです。
 当時のOracleを使っている人たちの間では、今よりももっとたくさん色々なパフォーマンス上の問題があって、ぼくにはそういう問題を解決する機会も多かったように思います(今でもそういう問題って起きているのかな?)。そうそう、SQLをすんなりと書けるようになったら、次に、パフォーマンスの問題が待っていました。そんな書き方したら、Oracleちゃんは、うまく動いてくれないよ~、というヤツですね。チューニングに関するSQLについては、また、別の機会に書きたいと思います。

Google Cloud Platform 入門編トレーニング

SHOEISHA iD News号外で案内が送られてきたので、 2019年2月20日(水)に、Google Cloud Platform入門編トレーニングに参加することにしました。

会社を始めることが決まったときに、以前からやろうと思っていたけどできていなかった情報発信をしていこうと思い、そのためのインフラとして、WordPressを使うことを決めました。
さらに、会社としてできそうなことを何か始めようと思って、Google Cloud Platform(GCP)を利用していくことに決めました(ずいぶんと今更だよねぇ )。
当然、このサイトもGCPであっという間(?)に作りました。

これまでデータベースを中心にした業務アプリケーション開発にかかわることが多かったので、業務分析やデータモデリング、アプリケーション開発、パフォーマンスチューニングなどは、申し分なく得意分野だと言い切れるまでになりました。
しかし、業務において発生する問題について、その解決策として何が提供できるの、となったときにすぐに提供できるものがない、ということがこれまではすごくジレンマでした。
インフラまわりが弱くて、業務サービスを単体で提供することができなかったのです。

そんなこともあり、これからはGCPがその助けになると信じて取り組むことにしたのでした。作りたいものさえ分かっていれば、かなりの短期間でサービス提供できるようになるという可能性はとても魅力的です。

そして、ちょうど勉強を始めたタイミングで入門編の案内がきたので、「これだ!」と即申し込みました。

現状のデータをいろいろと分析するために、データウエアハウスの代わりとしてGCPを利用することができそうだ、というところまではたどり着いていたのですけど、実際にどんな手段をつかって実現していくのか、そのストーリーがなかなか見えてこないので、今回のセミナーで確認してみたいと思っています。

Google Cloud Platformエンタープライズ設計ガイド

初出勤

今日は新しい会社としては、初出勤の日でした。ありがたいことに、その日のうちに取引先の方々からお祝いの宴を設けていただきました。本当に感謝です。これからも、もっとよいお仕事でお返ししていきたいと思います。

そして、その宴にぼくの会社のロゴの素案を持ってきてくださっていました。ぼくがロゴなんて考えていないということが完全にバレていてちょっとだけ恥ずかしかったけど、とてもうれしかったです。第二案も検討中とのことでしたので、このロゴか、まだ見ぬ案のどちらかで、まずは名刺を作らせてもらいたいな、と、思いました。