Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kaigi on Rails 2026 After Event from ピクシブ LT saki
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Saki
October 19, 2026
Programming
15
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kaigi on Rails 2026 After Event from ピクシブ LT saki
Saki
October 19, 2026
More Decks by Saki
See All by Saki
How to face the load
yensaki
0
300
Other Decks in Programming
See All in Programming
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
1.8k
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
200
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.2k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
470
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
200
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
2.9k
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
150
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
200
気持ちぃ〜角丸 Squircle
ryu1013
0
330
ChromeでローカルLLM
ryu1013
0
160
Domain-Driven Transformation
hschwentner
2
2.3k
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.8k
Featured
See All Featured
Designing for Performance
lara
612
70k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
How STYLIGHT went responsive
nonsquared
100
6.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
810
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Accessibility Awareness
sabderemane
1
260
Testing 201, or: Great Expectations
jmmastey
46
8.4k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Transcript
プロダクト成長につれて テーブル構造は枷になるか 共有資産になるか saki
ピクシブ株式会社 広告 テックリード & Vice Lead 初めてのRubyは1.8 初めてのRailsは2.3 saki @yensaki
3系でwhere メソッドに感動した
テーブルやカラムに、 実態に合わない名前を 残していませんか?
これは名前が重要な話 Rubyist一生聞いてる
しかし、初めから正解の名前は難しい 不確実な現実に沿って 仮置きして変えていく moroさん Kaigi on Rails 2025 Keynote
DBもそうしていきたいが DBはなかなかにしんどくないですか
2つの例を紹介して 考えてみます
ケース1. アカウントとロールの紐づけ
アカウントにロールをつける場合 アカウントに、アクセスや編集などの権限を付与可能にする話だと想像してください
中間テーブルの命名をよく見る account_roles …?
ロール付与者や有効期限が必要になったら? 無機質な名前の割に存在感が強くなってしまった…!(困る)
ケース2. コンテンツの表示可否管理
リストページに掲載できないものを管理したい list_available …?
でもそれは、リストページ限定で使うのでしょうか? 数ヶ月後にこんな展開に
Rails app 内側は新しい命名もできるが、カラムの方は残る list_availableカラムが #export_available? に使われる(困る)
こうして 最初に決めたテーブルが あとあとでまずいことに気づく
それぞれ、適切な概念があった
適切な概念があった : ケース1 → イベント概念
適切な概念があった : ケース2 → 本当の意味 概念的には listpage ではなく法的要件のコントロールだった
動的に変更していきたいが …
1000万件に膨れていても現実的に変えられる? • 作り直す前提の設計なら問題なし • 仮に1000万件のテーブルに育っていたら…? ◦ 本番データ移行は相当に大変 • 勘案して見送るケースが多い
移行が大変ならば … Q: 作成時に概念を得ることは可能か
そもそも 概念って Rails + DB だけで扱う?
PdMや営業も不可視の概念を持っているのでは?
特に現代は、 PdMや営業も可視の DBを使う
バラバラだと気付けないので 構造を揃える
事業の構造を揃えてから DBの設計に反映させる 概念を揃える(データ構造を共有のものにする)
概念の可視化は抽象的で 結構難しい ホワイトボードなどが 自由に描けてオススメ
データ構造が足枷になると Railsの良さが減ってしまう! プロダクト概念を具現化した 共有資産にしていきたい end