محمد صدرا برومند
محمد صدرا برومند
خواندن ۲ دقیقه·۹ ماه پیش

مقایسه Drizzle Orm و Prisma Orm

باسلام
در این پست به مقایسه دو orm محبوب برای Node.js می پردازیم که می توانید در پروژه های Next.js, Nuxt.js, Nest.js و سایر پروژه های خود استفاده کنید، مقایسه بین
Drizzle Orm vs Prisma Orm




هر دو این orm ها node.js هستند و از Typescript پشتیبانی می کنند و برای پایگاه داده های محبوب نظیر
PostgreSQL
MySQL
SQLite
پشتیبانی می کنند و البته پایگاه داده های بیشتری را نیز پشتیبانی می کنند.
مقایسه بر اساس یک پروژه node.js و پایگاه داده Postgresql انجام می شود.
Node.js Project
• Language: TypeScript
• Dependencies:
• Drizzle: ^1.99.0
• Prisma: ^3.12.0
• Postman Runner: ^8.10.0
PostgreSQL Database
• Provider: Digital Ocean Managed Database
• Size: 1 GB RAM
• CPU: 1 vCPU
و روی یک دیتابیس با اطلاعاتی بیش از 5300 سطر به انجام کوئری های زیر می پردازد:
لینک پایگاه داده worldDB-1.0 :
https://github.com/morenoh149/postgresDBSamples/blob/master/worldDB-1.0/world.sql
کوئری های اجرا شده شامل
Fetch all Cities
شامل دریافت اطلاعات کامل تمامی شهرها
Insert a new City
شامل افزودن یک شهر جدید
Update a City Info
بروز رسانی اطلاعات یک شهر
Delete a City
حذف یک موجودیت شهر
معیارهای ارزیابی شامل معیار Synthetic و معیار Performance می باشد:
در اسلاید ۲ به نمایش نتایج معیار Synthetic می پردازد که در این نتایج Drizzle در کوئری های Fetch all Cities و Delete a City بهتر عمل کرده است و نتایج در زمان کمتری در واحد ms انجام شده است و در سایر کوئری ها Prisma نتایج بهتری کسب کرده است.



در اسلاید ۳ به نمایش نتایج معیار Performance می پردازد، که در این معیار براساس میانگین زمان Response انجام شده است که در نهایت Drizzle با زمان 17ms و Prisma با زمان 1565ms انجام شده است.



نتیجه گیری
در حالی که Drizzle در هر دو تست Performance و Synthetic برتری دارد، ضروری است که وضعیت آن را به عنوان یک ORM نسبتاً جدید با document محدود و پشتیبانی جامعه community support تأیید کنیم.  از طرف دیگر، Prisma به دلیل رویکرد توسعه‌دهنده‌پسند خود متمایز است که با اسناد گسترده و سازگاری با پایگاه‌های داده متعدد، چه رابطه‌ای و چه غیررابطه، پشتیبانی می‌شود.


لینک منبع:
https://stories.bazaarnxt.com/drizzle-vs-prisma-a-comprehensive-comparison-daefa0e670ef

nodejsormtypescript
Full Stack Developer and Mobile Developer
شاید از این پست‌ها خوشتان بیاید