Skip to content
TopicTracker
出典 HackerNews原文を表示
翻訳言語翻訳言語

ORMが教えてくれたこと:ただSQLを学べ (2014)

2014年の記事。著者はORM(オブジェクト関係マッピング)の限界を経験し、複雑なクエリやパフォーマンス問題に対処するにはSQLそのものを学ぶ方が効率的だと主張する。ORMは単純なケースでは便利だが、隠れた複雑さや非効率なクエリ生成を招くことが多く、開発者はSQLを理解した上でORMを使うべきだと説く。

背景メモ

- ORM(Object-Relational Mapping)とは、データベースのテーブルとプログラミング言語のオブジェクトを自動で対応付ける仕組み。RailsのActiveRecordやPythonのSQLAlchemy、JavaのHibernateなどが有名。2000年代〜2010年代に爆発的に普及し、「SQLを直接書かなくてもDB操作できる」として重宝された。 - しかしORMは複雑なクエリで非効率なSQLを生成したり、N+1問題(ループ内で大量のクエリが発行される問題)を引き起こすことが多く、パフォーマンス面での批判が根強い。 - 本稿(2014年)は、この種の批判の古典として知られる。著者のMichael Wozniakは、結局SQLをきちんと学んだほうが早くて柔軟だと主張。この論点は以後、特にGo言語やRustなどORMを採用しないエコシステムの台頭とも響き合い、現在も開発者の間で繰り返し話題になる。<br>- 「SQLを学ぼう」というメッセージ自体はシンプルだが、背景には「抽象化に頼りすぎると逆に生産性が落ちる」というソフトウェア工学の普遍的なジレンマがある。