生産性を求めるあまり捨てた機能が死んでいたせいで、DBの本来の役割を果たさせることができなくなる。 #phpcon2016 #phpcon2016_2
2016-11-03 13:14:30シャーディングはつらみの道の始まり #phpcon2016 #phpcon2016_2
2016-11-03 13:16:53データが巨大になると、Indexがデータの大きさを超えることがある。index足したら10時間返ってこなくなるとかある。 #phpcon2016 #phpcon2016_2
2016-11-03 13:18:19怖い怖い怖い #phpcon2016 #phpcon2016_2 pic.twitter.com/hkthDd2mEZ
2016-11-03 13:18:42クエリを意識している時点で、ORMはRDBの完全な抽象化ではない。 #phpcon2016 #phpcon2016_2
2016-11-03 13:20:05【RDBアンチパターン】 制約と契約によって失ってる存在を忘れない #phpcon2016_2 #phpcon2016
2016-11-03 13:21:25ORMバリバリ使ってる・つかえてるからDBの勉強しなくていいというわけではな。 10->100にするときにエンジニアとしてのバリューを出せなくなる。 #phpcon2016 #phpcon2016_2
2016-11-03 13:21:27DBは超高度なシステムの集合みたいなものですよね… 頭下がりますよね… #phpcon2016 #phpcon2016_2
2016-11-03 13:22:39事実と状態 DBには事実を保存する。アプリは生き物だから常に状態を保存させる必要がある。 delete_flag作ったことありますよね? #phpcon2016 #phpcon2016_2
2016-11-03 13:23:44ORMだけ使える人は0から1、1から10はできるけど、10から100は無理なので会社が一番成長するときに給料が上がらない。DBだけ得意な人は10から100はできるけど、0から1、1から10はできないので就職先が限られる。よって0から100までできるのが大事 #phpcon2016
2016-11-03 13:24:04unique制約死ぬ(soneが2レコード)/indexが死ぬ(indexは出席簿みたいなもの。この部屋の中の人全員の性別にindexが張られている場合、indexより直接聞いたほうが早い) #phpcon2016 #phpcon2016_2
2016-11-03 13:27:05delete_flagについては福岡のPHPConf.の資料を見てね。 これかな?speakerdeck.com/soudai/phperni… #phpcon2016 #phpcon2016_2
2016-11-03 13:28:37状態を保っているとき->歴史がわからない 価格が改定された、消費税変わった、配送中から配送済みになったのか、いきなり配送済みになったのか。 #phpcon2016 #phpcon2016_2
2016-11-03 13:30:21状態をなくすのは難しい。事実の履歴を保存するのは一つの方法。 非正規化により、計算できる値を持っておくのも一つの方法。 #phpcon2016 #phpcon2016_2
2016-11-03 13:33:39更新できるようにする代わりに、更新する前のなまえをカートの中に残すようにする MySQL(5.7~)の仮想列を使うと綺麗に実装できる。 #phpcon2016 #phpcon2016_2
2016-11-03 13:35:42エンジニアなんだから、なんとなくで仕事できないじゃないですか。 #phpcon2016 #phpcon2016_2
2016-11-03 13:36:43「適正な形」でデータを保存するのは、クラス設計と同じで、トレーニングが必要。 そねさん的にはある程度冗長に作る。例外にも対応できるようにする。パフォーマンスチューニングで非正規化するのはちゃんと動くようになってから。 #phpcon2016 #phpcon2016_2
2016-11-03 13:38:20