builderscon 2017 に行ってきた / DBの寿命は本当に長い

8/4, 8/5に開催されたbuilderscon 2017行ってきました。ブログを書くまでがbuildersconとのことなのでブログ書きます。

ちなみに、Find Job!という求人情報サイトもスポンサーをしております。 トートバッグの中にチラシが入ってるのでぜひ見てくださいね!!

チラシに印刷されたかわいいキャラクターは「アカボシ」ちゃんです。

www.find-job.net

心に残った言葉「データベースの寿命はアプリケーションよりも長い」

そーだいさんの発表で今回も「データベースの寿命はアプリケーションよりも長い」っていうワードがあったけど、これは本当に痛感しています。

いま自分が関わっているFind Job! という求人情報サイトは今年で20周年を迎えます。 その20年間のなかで、OSやプログラミング言語、アプリケーション、RDBMS(MySQL)は改修やバージョンアップを重ねていますが、Find Job! ができた当時にあったテーブルの構造はたぶんいまでもほぼ変わってないはず。本当にDBの寿命は長いです。

詳しくは言えませんが、さすがに20年間運用されて続けてきただけあって、いろいろつらいなと感じるテーブル構造なものもあります。
いまでこそ書籍やネットに設計手法やアンチパターンなどの情報はいくつもあるけど、当時はなかっただろうしこの現状はある程度仕方がないことだとは思います。

逆に言うと、いまは恵まれたことに(?)いい設計の話やアンチパターン、今回の発表のようなリファクタに関する話が広まっていて、(少し話がずれるけど)用途によってはRDBではなくNoSQLなDBを使うという選択も容易*1にできる時代です。さらに10年20年と続いていくサービスを開発するつもりならば、それらの情報をもとに徐々にDBをリファクタするべきだし、または新規に開発する機能・サービスではしっかりとDBの選定、設計をすべきだなと思いました。

発表の内容からだいぶ脱線しましたが、今回の発表を聞いて、DBのリファクタの手法や困ったときの相談先(=コミュニティ)を知れたので、今後実践していきたいです。
あと、発表の後半はけっこうエモくて勇気をもらいました。 いまでも少しずつではあるけどDBのリファクタは行っていて、先日もとある機能の改修の際にテーブル構造変えたり制約追加したりしてリファクタしましたが、今後も折れずに地道に頑張っていこうと思えました。

面白かった発表

分割QRコードの話

Twitterでも2回くらい言ってるけど、リアル謎解きイベントとかでアイテム(分割QRコード)を集めて、すべて揃うとメッセージが読める仕組みがあったら絶対おもしろい。
まぁ別に分割QRコードじゃなくてもよさそうだけど、通信は発生しないし、分割QRコードを読めるアプリさえ用意すればいいからお手軽かつそれっぽさが出ていいかな〜と妄想してました。

サーバレスの話

いまちょうど個人でも業務でもAWSのLambdaやらSQSやらその辺を使って開発をしていて、同じ壁にぶつかって(Macでビルドしたものが動かない…とか)、同じ解決方法をとっていて(Docker上でビルド)、とても共感できる話でした。

builderscon楽しかった

いくつも学びがあって楽しかったです。いつか自分も発表する側、運営する側にまわってみたいな〜って思いました。(高校の学園祭実行委員だったこと思い出して懐かしくなった)

最後に、水が重かった

最後に2つトートバッグもらったけど、それぞれのバッグにペットボトルの水が2本ずつ入ってて、その前にもらってた水と合わせると5本(合計約1.6kg)持って帰る事になり、けっこう大変でした。

*1:NoSQLの選択は容易ではあるけれど、安易に選択するべきではなさそう