#拡散希望>>>>
ORM と向き合う

PyCon JP 2024 ※ 資料中で絵文字を使用したら SpeakerDeck アップロード時になんか変なことになってしまいましたが気にしないでください

speakerdeck.com/hoto17296/orm-toxiang-kihe-u

コメント一覧
辰己 結愛2024-10-06 16:14:52

DBが高機能になって、ORMではその機能を使うために結局生SQLを挟むような状態になってくると、ORMの存在がむしろ邪魔だよとなるので、遅かれ早かれ生SQLに行き着くとは常々思う。ユーザもサービスの多機能化を望むし

金杉 律2024-10-06 16:17:55

「N+1問題」はORMユーザーの無知が引き起こすただのバグなので、数学の未解決問題のような大袈裟な名前を持って来て論じるふりして結局言い訳にしかならないのは非常にダサい。

丸岡 瑛太2024-10-06 16:20:58

長期的には多数の言語とフレームワーク使うことになるので、ORMよりSQL(とデータベース)の方が学習コスト低い。ORM起因のトラブルも回避しやすいし。個人的にはSQLは楽しいがORMはそれほどでないのであんまり・・・

小西 咲希2024-10-06 16:24:01

結局複雑なことをしたいとか性能面を見ると「勝手に色々やってくれる」が怖すぎる。多機能だと学習コストもかかるしその分バグを踏む率が上がる。それで何度痛い目を見たことか...。多機能ORMには否定派。

萩田 蒼人2024-10-06 16:27:04

正直N+1問題が生じるDBって欠陥品だと思う。普通に何回もクエリ投げたいだろと。DBの都合にアプリケーションが合わせなきゃいけないというのが諸悪の根源。

瀬永 あかり2024-10-06 16:30:07

Prisma Python

湊 心結2024-10-06 16:33:10

ORMに期待する機能の分解が解像度高くて良い。私も格好いいインターフェースは別に要らない派

杉井 詩2024-10-06 16:36:13

prisma+python いいかも

瀬永 あかり2024-10-06 16:39:16

.NETを使うこと多いんだけど多機能なORMのEntityFrameworkとSQLのマッピングだけやるMicroORMのDapperを併用してるかな。単一データの更新はORMが、複雑な検索や大量の更新にはSQL(MicroORMでSQLで投げて結果をObjectでもらう)が向いてる

因幡 柚希2024-10-06 16:42:19

結局複雑なことをしたいとか性能面を見ると「勝手に色々やってくれる」が怖すぎる。多機能だと学習コストもかかるしその分バグを踏む率が上がる。それで何度痛い目を見たことか...。多機能ORMには否定派。

久保山 陸斗2024-10-06 16:45:22

今や当然だけどテーブル定義渡してAIに指示すれば生SQL作ってくれますよ。ORMが作るSQLだと後でパフォーマンスが問題になってくるので生SQLと実行計画で試行錯誤しながらチューニングするのが最も安定。

玉田 陸斗2024-10-06 16:48:25

SQL書くのは面倒くさいし、型安全にオブジェクトにマッピングするのはさらに面倒くさすぎる

淵上 詩2024-10-06 16:51:28

JOINの2個目の方法は完全な生SQLだから苦行なんだよ。「値はマッピングするけど、SQLは自分で書く」くらいのちょうどいいORMであってほしい。

丸井 詩2024-10-06 16:54:31

子集約としての関連テーブルをある程度効率よく取ってくるやつは欲しいけど、基本的にはSQL書いてるので未だよく選定の論争がわからん世界

崎野 結愛2024-10-06 16:57:34

ちょうどPrisma Pythonと戦ってる、ちょっと不便だけど

赤坂 心結2024-10-06 17:00:37

あまりガッツリは必要ないけれど、かんたんなクエリビルダーとデータマッパーぐらいは欲しいよねというのをこの頃痛感してる。

蛯名 律2024-10-06 17:03:40

長期的には多数の言語とフレームワーク使うことになるので、ORMよりSQL(とデータベース)の方が学習コスト低い。ORM起因のトラブルも回避しやすいし。個人的にはSQLは楽しいがORMはそれほどでないのであんまり・・・

谷名 結2024-10-06 17:06:43

DBの方がアプリより寿命長いから、DBからクラス生成することのほうが多い気がする。基本EF使ってて、キー無しテーブルにインサートしたいとかAOTビルドしたい場合にDapper使うのが良いのかなって思ってる。

小岩 結2024-10-06 17:09:46

SQLを元にクライアントコードを生成する流れに落ち着くことを願う

辰己 結愛2024-10-06 17:12:49

N+1を発生させてるのは大抵の場合フレームワーク側であってdb側ではないと思うのだが・・・

北村 あかり2024-10-06 17:15:52

DBFluteでずっと困ってない。

赤坂 心結2024-10-06 17:18:55

DBが高機能になって、ORMではその機能を使うために結局生SQLを挟むような状態になってくると、ORMの存在がむしろ邪魔だよとなるので、遅かれ早かれ生SQLに行き着くとは常々思う。ユーザもサービスの多機能化を望むし

反田 咲希2024-10-06 17:21:58

.NETのEntity Frameworkのパワフルさが逆に分かる。

増子 瑛斗2024-10-06 17:25:01

正直N+1問題が生じるDBって欠陥品だと思う。普通に何回もクエリ投げたいだろと。DBの都合にアプリケーションが合わせなきゃいけないというのが諸悪の根源。

蛍原 咲希2024-10-06 17:28:04

prismaで独自フォーマット追加になってまた(ry

杉井 詩2024-10-06 17:31:07

まだ向き合ってんのかよ。何十年向き合い続けてんだよ / コネクションプーリングやトランザクションなんてORM関係ないだろ。そのORMの設計が悪いだけで。

城戸 碧斗2024-10-06 17:34:10

アプリとDBでテーブル定義を二重保持するのは確かに嫌だけど、実際の開発時は「既存のアプリのDB」も見ることが非常に多いので、「向きはどちらでもいい」わけがない。

岩畦 一颯2024-10-06 17:37:13

「N+1問題」はORMユーザーの無知が引き起こすただのバグなので、数学の未解決問題のような大袈裟な名前を持って来て論じるふりして結局言い訳にしかならないのは非常にダサい。

舘山 咲希2024-10-06 17:40:16

prismaってpythonで使えるんだー