Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【ORM不要論の歴史】「ORM」と呼ばれているものが3つある
Search
赤神青空
PRO
September 09, 2026
Video
Programming
53
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【ORM不要論の歴史】「ORM」と呼ばれているものが3つある
赤神青空
PRO
September 09, 2026
Video
More Decks by 赤神青空
See All by 赤神青空
【ORM不要論の歴史】2026年の不要論は何を言っているのか
akagami
PRO
0
13
【ORM不要論の歴史】運用の問題は、いまの責務論に直結する
akagami
PRO
0
11
【ORM不要論の歴史】なぜ生まれ、20年前に何を言われたか
akagami
PRO
0
19
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
95
【Vitest5.0大解剖】Vitest5.0で消えた記法とAPI
akagami
PRO
0
24
【Vitest5.0大解剖】Vitest5.0で増えた書き方
akagami
PRO
0
32
【Vitest5.0大解剖】Vitest5.0で静かに変わる挙動
akagami
PRO
0
27
【Vitest5.0大解剖】Vitest5.0のTrace View
akagami
PRO
0
28
【Vitest5.0大解剖】Vitest5.0は何が速くなったのか
akagami
PRO
0
28
Other Decks in Programming
See All in Programming
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
130
フロントエンドUIフレームワークのこれまでとこれから
ssssota
1
800
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
680
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
600
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
160
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
510
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
120
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
180
XHTMLが残したもの
yosuke_furukawa
PRO
2
450
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
Mind Mapping
helmedeiros
1
350
WENDY [Excerpt]
tessaabrams
12
39k
Google's AI Overviews - The New Search
badams
0
1.6k
Practical Orchestrator
shlominoach
191
12k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
Crafting Experiences
bethany
1
310
Making Projects Easy
brettharned
120
6.7k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
770
Transcript
2026年9月 ORM不要論を、20年ぶんさかのぼる 第1回 「ORM」と呼ばれているものが3つある 赤神 青空
▪3つのパートに分けて見ていきます この動画で扱うこと SNSで「AIがSQLを書けるならORMは要らない」という話が流れてきます。 この主張がどこから来ているのかを、順にさかのぼります。 01 02 03 同じ名前で呼ばれている別物たち 20年前に何が問題とされたか 今回は何が新しいのか
ORMとは何か 今ココ はじめに 2006年の論争 2026年の論争 2/13
▪持ち帰ってほしいのはこれ1つです 先に結論 ORM不要論は20年前から続いている。 AIは新しい根拠ではなく、新しい言い方である。 新しく見える 「AIが書くから」という前提は確かに今までなかった。 でも論点は同じ 20年前から批判されてきたのは同じ箇所。 だから、20年前の議論を知っていると今の議論が読めます。 今ココ
はじめに 3/13
▪この動画で行き来する時間の幅 20年をひと目で 2004 2006 2026.01 2026.09 20 年 TechEd後の立ち話で エッセイ公開
記事が火をつける 番組から 「ベトナム」と言われる 6つの逃げ道が並ぶ AI時代にORMは要るか 生SQL回帰論 結論は同じ。理由の付け方だけが、そのつど更新されている 2004年の立ち話から、2026年9月の波まで 今ココ はじめに 4/13
01 ORMとは何か まず、言葉の指す範囲を揃える 今ココ ORMとは 5/13
▪オブジェクトとリレーショナルデータベースの橋渡し ORM=Object-Relational Mapping 名前のとおりなら、オブジェクトと関係モデルの間を埋めるもの。ただし実物はかなり違う姿をしている。 オブジェクト側にあるもの … クラス、インスタンス、参照、継承 関係モデル側にあるもの … テーブル、行、外部キー、集合演算
この2つは前提が違うので、そのままでは繋がらない 繋ぎ方の選択が、ライブラリごとの性格の差になる 今ココ ORMとは 6/13
▪テーブルがクラスになり、行がインスタンスになる ① ActiveRecord(Rails) user.posts と書くだけで関連レコードが取れる。SQLは表に出てこない。 ruby user = User.find(1) user.name
= "asahi" user.save user.posts.each { |post| puts post.title } 今ココ ORMとは 7/13
▪クラスではなくクライアント経由でデータを取る ② Prisma include がJOINになるのか別クエリになるのかは、書いた側からは決められない。 typescript const user = await
prisma.user.findUnique({ where: { id: 1 }, include: { posts: true }, }); 今ココ ORMとは 8/13
▪SQLの構造がそのまま残っている ③ Drizzle 返ってくるのはオブジェクトのグラフではなく、JOINした結果の行の集まり。 typescript const rows = await db
.select() .from(users) .innerJoin(posts, eq(posts.userId, users.id)) .where(eq(users.id, 1)); 今ココ ORMとは 9/13
▪議論が噛み合わない一番の原因 この3つが同じ「ORM」 ActiveRecordを思い浮かべている人と Drizzleを思い浮かべている人が、 同じ言葉で違うものを議論している。 「ORMは要るか」という問いは、この時点ですでに雑です。 今ココ ORMとは 10/13
▪論争の中で引かれた、ある研修資料の分類 広義のORマッパーは4種類 さっきの3つも、この分類の上に置くと位置が決まる。 JDBCラッパー型 … JDBCを薄くラッピングしただけ SQLマッパー型 … SQLとクラスの詰め替えに特化 クエリビルダー型
… クラスやメソッドでSQLを記述する (狭義の)ORマッパー型 … リレーション重視、SQLを自動発行 Java以外の言語では3か4がほとんど、という個人の見立ても添えられていた ネット上の議論は、Javaでいう「JPA or JDBC」の対立になりやすい 今ココ ORMとは 11/13
▪SQLからの距離で並べ直す どこを指しているかで話が変わる SQL に近い オブジェクトに近い 生 SQL SQL マッパー型 クエリビルダー型
狭義の OR マッパー ライブラリを挟まない Dapper / MyBatis Drizzle / Kysely ActiveRecord + Zod + テスト sqlc / SQLx jOOQ Hibernate / EF Core この3つが、まとめて「ORM」と呼ばれている 議論の対象になりにくい 批判が集中するのはここ Prisma はクエリビルダー型と狭義の中間。書き方がSQLから離れるぶん、やや右寄り 同じ「ORM」でも、思い浮かべている位置が人によって違う 今ココ ORMとは 12/13
▪第2回 次回 なぜ生まれ、20年前に何を言われたか 同じ語が、3つの別物を指していた。 ではそもそも、なぜ生まれたのか。 ORMなしのコードを見てから、2006年のエッセイに入ります。 今ココ おわりに 13/13