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) です。

Asayama Kodaiのアバター画像