ORMが教えてくれたこと:SQLを学べばいい(2014年)
2014年の記事で、ORM(オブジェクト関係マッピング)に頼るよりも生のSQLを学ぶことの重要性を説く。ORMは抽象化によって開発を容易にするが、非効率なクエリや複雑なデバッグを引き起こすことが多く、SQL自体を理解することでより効率的で堅牢なデータベース操作が可能になると主張する。
背景メモ
- オブジェクト関係マッピング(ORM)とは、プログラムのオブジェクトとデータベースのテーブルの対応づけを自動化する手法。RailsのActiveRecord、DjangoのORM、Hibernateなどが有名。SQLを直接書かずにデータ操作できるとされ、2000年代~2010年代に広く普及した。
- 筆者のDavid Wozniakは当時カナダのWeb開発者。この記事は2014年のものだが、ORM批判の古典として今も引用される。著者はORMの「抽象化」がかえって複雑さを増し、SQLのほうがシンプルだと主張する。
- このブログが書かれた背景には、ORMが「初心者でもDBを使える」と謳われながら、実際にはN+1問題、非効率なクエリ生成、不透明なエラーなど実務上の問題を引き起こしていた時期がある。
- 2014年といえばNoSQLブームの直後でもあり、「SQL不要論」へのカウンターとして、改めてSQLそのものを学ぶ重要性を説く論調が強まっていた。