SQLアンチパターンNightに参加してきたまとめ #sql_ap_night

sql-ap-night-eyecatch

公開日: 

オライリーから出ているSQLアンチパターンという本。良書ですよね。

 

先日SQLアンチパターンNightという勉強会があるというので行ってきたのでそのときのメモです。

 

遅刻してしまったので他のまとめに期待はしていますが、中途半端なまとめだけども頑張ってまとめます。

 

sponcer link

@hironomiu様の発表

資料は見つけられないのと、遅刻してほとんどメモはございません。。。

資料見つけられたら追加します。

メタデータトリブルについてや、シャーディングなどについて話していました。

あとはDB設計における新たなアンチパターンとして、謎の言霊:安全率

(設計時に安全率を考慮して掛け算していくと膨大なサイジングになるという現象)

 

SQLアンチパターンNight

@t_wada様

スタンド名はワイルドサバンナ

ワイルドサバンナ

 

 

本の裏話
共同監修の和田省二様はなんと父親でした!

  • 原稿はRe:Viewで執筆
    • Markdownだとソースコードの引用が大変だったのでこれにした

アンチパターンとは

  • よかれとおもってやったことが裏目に出て問題が生じる
  • ナイーブツリー
    • 共通テーブルを使うなら使ってもいい
    • SQLサーバは列挙型をサポートしている
    • 再起クエリさえかければこれはアンチパターンじゃなくなる

ダイジェスト

  • ネット上でよく燃える炎上度ランキング
    • ナイーブツリー:1
    • IDリクワイアド:5
    • キーレスエントリ:4
    • EAV:1
    • ファントムファイル:4
    • フィア・オブ・ジ・アンノウン:3
      • わからないことにはNULLを入れる
      • NULLを巡る争い
    • スパゲッティクエリ:1
      • n+1の問題と勘違いする人がいた
    • SQLインジェクション:1
      • サニタイズの話で、prepared statement
  • キーとNULLはよく燃える
    • NULLを排除した場合はDBの設計にくわしくならないといけない

パターンの意義

  • SQLアンチパターンのいいところは悪い方法を悪いこととしてまとめてくれたこと
  • アンチパターン名で議論できるようになる
    • マルチカラムアアトリビュートとか10年前に通ったわー
    • あーはいはい、インデックスショットガン乙
  • 社内読書会をすると、社内での例で反省会ができる
  • 新たなアンチパターン
    • 闇雲な安全率
    • とりあえず論理削除フラグ
    • 忍者屋敷
      • トリガーが好きな設計者
      • トリガーがトリガーを発動させる
    • リレーションとリレーションシップ
    • 寿司とビール
  • 実は論理削除の章を書きたかった

無料シェア会議室 PORTの宣伝

今回、VOYAGE GROUPの会議室を借りての開催となりましたが、他にも勉強会で開催する場合は申し込むと会議室をレンタルする以外にもピザなども振る舞ってくれるみたいです。
https://voyagegroup.com/port/

 

虚々実々のファントムファイル

@bash0c7


 

ファントムファイルのアンチパターンに終息宣言をした発表。

その実態はS3にファイルをぶっこむという方法。

昔はサーバに置いたら使われないファイルを削除するようにしたり・・・などありましたが、S3などにおいてしまえば容量無限大ですのでそういうの気にせず、ミスした削除により置いたファイルがないということはなくなりそうですね。

良い世の中になりました。

 

SQLアンチパターンNight ライトニングトーク

板橋様

SQLアンチパターンNight ライトニングトーク from Itabashi Masayuki

サンプリングの少なさなどの見積もりミスと、本番サーバのほうがスペックがいいという思い込みにより発生した失敗談。

 

@yodatomato様の発表

実際にアンチパターンに遭遇したお話。

嘘!?私のDB、カンマ多すぎ!?や、SQLインジェクションのお話などをされてました。

最後のエンジニア募集は秀逸な募集の仕方で中々面白かったですw

 

@kamipo様の発表

MySQL と寿司ビール問題についての飛び入り発表

cf :

activerecord-mysql-awesome – ActiveRecordのMySQL向けパッチのバックポート集

activerecord-mysql-awesome

 

寿司ビール問題を解決するために、みんなImpact on meの「Affects me」ボタンを押しまくって是非MySQL本体のほうで解決してもらおう!!!

Sushi-Beer issue of MySQL with utf8mb4

 

個人的感想

  • キーとNULLはみんなだいすきな問題なんだなと感じました。
  • 再帰クエリ使ったこと無いけど、MySQLでも使えるようになれば可能性は広がりそう。
  • 懇親会で知りましたが、PostgreSQLにマテビュー追加されてたんですね。
  • 非売品のバッチがもらえて嬉しい!!

sql-ap-night-batch

  • このエントリーをはてなブックマークに追加
  • Pocket
PAGE TOP ↑