Talk
そのカラム追加、ちょっと待って!カラム追加で増えるActiveRecordのメモリサイズ、イメージできますか?
新機能の開発で、商品テーブルにタイムセールの価格を追加するという要件があるとします。
よし、 add_column :items, :sale_price, :integer するぞ!
ちょっと待ってください。そのテーブルは一度にたくさん取得されることはありませんか?
既にschema.rbを見ると1画面に収まらないほどのカラムを持ったテーブルに育っていないですか?
このセッションでは、カラム追加ではなくテーブル分割を選んだ方が良いのか、許容できる変更なのか、を設計ではなくメモリ使用量の観点から考えます。
バッチ処理を行うときに find_each で1000件ずつ取ってくるコードを書くけれども実際にはどれぐらいのメモリを使うのかな? といった疑問にも答えていきます。
Ruby・Railsはわかってきたけど、さらに下のレイヤーでどんなことが起きているのかを知りたい、
ひとつ下を歩けるRailsエンジニアになるための入口となるセッションを目指します。
発表資料
Speaker
- Asayama Kodai asayamakk のGithubページ
-
GMOビューティー株式会社でCTO、Railsエンジニアをしています。
好きなプロトコルはAJP (Apache JServ Protocol) です。