2016年9月21日水曜日

【schoo連動】PostgreSQLで学ぶデータベース技術

※ 本記事はポエムかつ炎上するような物でも無いのでまったく読む必要ないやつです ※


schooのオンライン授業でPostgreSQLの話をすることになりました。

PostgreSQLで学ぶデータベース技術という全五回の授業で、9/25(日)と9/28(水)に生放送されます。(有料会員の方はアーカイブも見れるそうなので、そちらでも。)

■データベース技術とは

タイトルに使った「データベース技術」という言葉について。

授業の内容を考えながら、SQLの解説では言葉だけの説明では限界があるし、全体で10話したとしても、PostgreSQLならではのことって3以下ぐらいにしかならないよなーとか思っていました。schooさんではこの夏、数回にわたりSQLやデータベース理論に関する授業が公開されていたそうなので、PostgreSQLに絞っていっても相当に重複するであろうという懸念もありました。
それでも、SQLは学んだはずなのに、(むしろ普段から書いてるのに)得意とは言えない、思うようにパフォーマンスがでない、という相談は私も日々いただいているのです。特に、schooさんで対象としている学生の多くは「webアプリ開発者を目指す(または駆け出し)」とか「社会人数年目」だったりするので、ここにまだ学びの余地があると考えました。
データベースを使う人の立場で、
  • 最初にこれを勉強しておけば苦労が減るだろうな
  • 何かあったときにググるために、脳内のインデックスを作れてるといいのにな
というゴールを設定して、広く浅く易しく、「RDBのことを勉強した気になれる」講座にしたいと思いました。こういうテーマでは、RDBが本来満たすべき領域を質実剛健に、しっかりとカバーしているPostgreSQLは最適です。

つまり、「RDBが本来満たすべき領域」のことをひっくるめて「データベース技術」としました。


■授業をつくってみて

「データベース技術」の中には、トランザクションのこともあるし、SQL言語のこともあるし、セキュリティのこと、バックアップのこと、いろいろあるでしょう。そしてそれらは、きちんと実装されているPostgreSQLにとっては当たり前のことだし、おそらく意識しなくてもある程度使うことはできてしまっていることでもあります。これらに光をあて、でも、難しさよりも、勉強した感を大事に、易しく扱う内容を目指しました。

さて、そんな感じで準備をしてきたのですが、 PostgreSQLを使う人(=アプリ開発者)にとって、RDBを知っているとどんなところが有利なのか、PostgreSQLならではのどういうところが便利なのか、そういう点をちゃんと紹介するのは、私にとっても普段から(DB管理者よりで、移行、障害対応やDBA教育をやっている)身近に扱う話題ではないので、とても勉強になりました。

作っていると、 細かい言葉の意味だったり、他のDBのことが気になってきたり、図の細かいところが気になったりw それでいて、説明に最適な実行例を考えるのはめんどくさくなってみたり。いろいろ雑念が生まれてくるのですが、そういうのもだんだん楽しくなってきて、最終的には手抜きしない内容にできたと思います。
仕事ではOpen Office、Libre Office慣れして数年やってきたのですが、Power Point on Windows10 対応(自分がw)したことも良かった点です。

■と、いうわけで。

そんなシルバーウィークを過ごして、今は資料を提出した喜びでこんなポエムを詠っているわけですが、せっかく作ったのでいろんな人に見てもらいたいし、ツッコミどころがあったら指摘してもらってより良くしていきたいし、良くなったものを今後もどこかで話したりして、PostgreSQLの普及、製品問わずRDBスキルの向上、Webアプリだけじゃなくていろんなシステムへの応用など、いろんなところに少しでもお役立ちできたらなーと思っています。

それでは、本番まであと数日、私も楽しみにしています!

0 件のコメント:

コメントを投稿

PostgreSQL11のJITコンパイリングを試す

llvm-postgres 開発中のPostgreSQL11でJIT(Just In Time=実行時)コンパイリングを行い、クエリ性能の高速化を期待する新機能が登場した。 本記事では 構築方法を確認したので紹介。JITコンパイ...