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
【ORM不要論の歴史】「ORM」と呼ばれているものが3つある
Search
赤神青空
PRO
September 09, 2026
Video
Programming
110
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 赤神青空
【AWS資格のニュース】SAP が SAP-C03 に変わります
akagami
PRO
0
2
【力学 #5】単振り子と小角近似
akagami
PRO
0
5
【AIニュース】Genie 4 とは何か
akagami
PRO
0
15
【基本情報対策】IPアドレスとサブネットマスク
akagami
PRO
0
15
GPT-6 Cyber とは何か
akagami
PRO
0
15
【AWSの新サービス】Amazon ECS Gateway とは何か
akagami
PRO
0
20
【力学 #4】単振動:ばねの運動方程式を解く
akagami
PRO
0
9
【力学 #4】単振動:ばねの運動方程式を解く
akagami
PRO
0
10
Cloudflare の AI で他人の会話が混ざった?
akagami
PRO
0
27
Other Decks in Programming
See All in Programming
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
3.8k
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.3k
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
170
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
160
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
220
ActionController meets Protocol Buffers
sorah
1
800
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
240
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
590
Next.js: The final boss of Web Performance
guaca
0
400
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
400
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
570
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.7k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
340
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
Skip the Path - Find Your Career Trail
mkilby
1
290
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
560
Reality Check: Gamification 10 Years Later
codingconduct
0
2.4k
What's in a price? How to price your products and services
michaelherold
247
13k
So, you think you're a good person
axbom
PRO
2
2.3k
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