Skip to content
Latchkey

Drizzle vs TypeORM: 軽量かフルORMか?

DrizzleはSQL-firstで軽量、強い型を備えたquery builder。TypeORMはactive-recordとdata-mapperパターンを持つdecoratorベースのフルORMです。

Drizzleは完全な型推論と極小のランタイムでSQLに近い状態を保ち、serverlessやedgeに理想的です。TypeORMはdecoratorを付けたエンティティクラス、relations、lazy loadingを使う、より伝統的で機能豊富なORMです。トレードオフは、ミニマリズムとSQLの透明性か、よりフルでOOP志向の機能セットかです。

DrizzleTypeORM
スタイルSQL-firstのbuilderdecoratorベースのORM
ランタイムの重さ非常に軽いより重い
Relations / lazy load明示的なjoins組み込みのrelations
Edge / serverless強い実用可能
最適な用途SQL制御、edge豊富なOOPモデル

CIでは

どちらもCI内でテストデータベースに対しmigrationsを適用します - Drizzleはdrizzle-kit経由、TypeORMはCLI経由です。Drizzleはcodegenエンジンを持たず、バンドルもより軽量です。TypeORMはより多くのランタイム機能をもたらします。SQLの透明性が欲しいか、よりフルなORM抽象が欲しいかで選びましょう。

高速化する

依存関係を実行間でcacheし、使い捨てのDBサービスに対してmigrationsを実行します。両方ともCI runner上で実行されます。高速なmanaged runnerはinstallとmigrationのステップを短縮します。

結論

最小限のランタイム、SQLレベルの制御、強いedge適合を求める: Drizzle。豊富なrelations、decorators、伝統的なORMの機能セットを求める: TypeORM。リーン/serverlessにはDrizzle、機能重視のドメインにはTypeORM。

関連ガイド