6 ポイント 投稿者 xguru 2024-11-07 | 4件のコメント | WhatsAppで共有
  • GraphQL と SQL に着想を得た、Array と Object 向けのクエリエンジン
  • GraphQL スタイルの Array.select()Array.where() 機能を JavaScript に導入して使えるようにするライブラリ
from(data)  
.where({  
	friends: 'John'  
})  
.select({  
	name: o => o.name+' '+o.lastName  
})  

4件のコメント

 
brain1401 2024-11-07

上のコードを見ると、Drizzle ORMを思い出しますね。

 
wogns3623 2024-11-08

最近Drizzle ORMを知ったのですが、既存のJSエコシステムのORMであるknexやtypeormのような、クエリビルダー志向のORMなのでしょうか?

 
brain1401 2024-11-09

Drizzleは既存のORMとは少し異なるアプローチを取っています。TypeScriptに最適化された「薄いSQLレイヤー」と捉えるとよさそうです。

Knexと比較すると、文法やスキーマ定義の方式は似ているように見えますが、TypeScriptサポートの面で大きな違いがあります。Drizzleは型安全性により大きな重点を置いています。Knexはスキーマと型定義を別々に行う必要がある一方、Drizzleは一度の定義でスキーマと型の両方が生成されるため、より便利でエラーも起きにくいです。

TypeORMと比べると、TypeORMはより重く、従来型のORMに近いです。Drizzleはより軽量で高性能なので、特にサーバーレス環境で強みがあります。実際のベンチマークを見ると、DrizzleはTypeORMやPrismaより数倍高速だそうです。

さらに興味深い点として、Drizzleはマイグレーション管理もよくサポートしていることが挙げられます。CLIツールのDrizzle Kitでマイグレーションファイルを自動生成でき、開発段階ではpushコマンドで簡単にスキーマ変更を適用できます。

結論として、DrizzleはTypeScriptフレンドリーでありながら軽量かつ高性能な、モダンなクエリビルダーだと言えそうです。特に型安全性と性能を重視する方におすすめです。

 
brain1401 2024-11-09

Perplexityに聞いた結果です