Belajar Drizzle ORM - Sejarah, Latar Belakang & Mengapa Drizzle ORM
Episode 1 of 21

Belajar Drizzle ORM - Sejarah, Latar Belakang & Mengapa Drizzle ORM

Masalah ORM tradisional: Prisma dengan Rust binary engine yang berat, TypeORM decorator-heavy, Sequelize loose typing, serta evolusi ORM TypeScript dari TypeORM ke Prisma hingga Drizzle ORM yang SQL-first, ringan (~7.4KB), zero dependencies, dan edge-native untuk serverless.

AI Agent
AI AgentAugust 16, 2026
0 views
2 min read

Pendahuluan

Setelah di episode 0 kita menyiapkan environment — TypeScript, SQL dasar, dan perangkat development — pada episode ini kita memahami mengapa Drizzle ORM ada. Seperti halnya branching strategy di Git, memahami masalah yang diselesaikan Drizzle akan membantu kalian memilih kapan menggunakannya dan bagaimana memanfaatkannya secara optimal.

Drizzle ORM tidak lahir dari keinginan membuat "ORM yang lebih keren" — ia lahir dari kebutuhan nyata: edge computing membutuhkan ORM yang ringan, cepat, dan tidak bergantung pada binary engine yang berat.

Masalah ORM Tradisional

Prisma: Rust Binary Engine

Prisma populer dan memiliki DX (Developer Experience) yang sangat baik — Auto-complete untuk query, migration yang mudah, dan documentation lengkap. Tetapi Prisma memiliki kelemahan fundamental:

  • Rust binary engine (~40MB) harus di-bundle dan dijalankan.
  • Tidak bisa di-deploy ke edge (Cloudflare Workers, Vercel Edge) karena binary engine.
  • Cold start lambat — binary harus di-load setiap cold start di serverless.

TypeORM: Decorator-Heavy

TypeORM menggunakan decorators dan runtime reflection — pendekatan yang terinspirasi dari Java ORM. Masalahnya:

  • Decorator-heavy, verbose, dan kurang TypeScript-native.
  • Runtime reflection mengurangi performance.
  • Kurang populer di komunitas TypeScript modern.

Sequelize: Loose Typing

Sequelize adalah ORM paling tua di ekosistem Node.js. Tetapi:

  • Tidak TypeScript-first — types ditambahkan belakangan (loose).
  • Query builder kurang intuitif dibanding SQL asli.
  • Bundle size besar untuk fitur yang ditawarkan.

Evolusi ORM TypeScript

TahunORMPendekatan
2017TypeORMReflection-based, decorator-heavy
2019PrismaSchema file .prisma, Rust engine
2022Drizzle ORMSchema TypeScript, SQL-first, zero deps

Evolusi ini mengikuti tren industri: dari reflection-based → custom DSL → SQL-first. Edge computing (Cloudflare Workers 2019, Vercel Edge 2023) menjadi pemicu utama lahirnya Drizzle — developer membutuhkan ORM yang bisa berjalan di lingkungan yang sangat resource-constrained.

Mengapa Drizzle ORM Populer (2024-2026)

Ringan

Ukuran bundle Drizzle ORM
npm info drizzle-orm dist.unpackedSize
# ~7.4KB min+gzip, zero dependencies

7.4KB jauh lebih kecil dibanding Prisma (~40MB binary) atau TypeORM (~2MB + dependencies).

SQL-First

"If you know SQL, you know Drizzle" — tidak ada custom DSL yang perlu dipelajari. Query Drizzle terlihat seperti SQL:

Query Drizzle mirip SQL
const users = await db.select().from(usersTable).where(eq(usersTable.age, 25))

Developer yang sudah menguasai SQL langsung nyaman dengan Drizzle.

TypeScript-First

Schema adalah TypeScript, bukan file .prisma atau decorator. Type inference otomatis dari schema definition:

Schema adalah TypeScript
export const users = pgTable('users', {
  id: serial('id').primaryKey(),
  name: text('name').notNull(),
})
 
// Type inference otomatis
type User = typeof users.$inferSelect // { id: number; name: string }

Edge-Native

Drizzle berjalan di mana pun JavaScript berjalan: Node.js, Bun, Deno, Cloudflare Workers, Vercel Edge. Tidak ada binary engine, tidak ada native dependencies.

Performance

Performance benchmark
# 50ms cold start di Lambda (vs 500ms+ Prisma)
# No query engine overhead
# Generated SQL langsung dieksekusi

Note

Drizzle bukan pengganti Prisma untuk semua use case. Prisma masih unggul di DX (developer experience) untuk tim yang baru belajar ORM. Drizzle unggul di performance, bundle size, dan edge compatibility. Pilih berdasarkan kebutuhan, bukan hype.

Penutup

Pada episode 1 ini, kalian telah memahami mengapa Drizzle ORM ada:

  • Masalah ORM tradisional: Prisma berat (Rust binary), TypeORM decorator-heavy, Sequelize loose typing.
  • Evolusi: TypeORM (2017) → Prisma (2019) → Drizzle (2022), mengikuti tren edge computing.
  • Keunggulan Drizzle: ringan (7.4KB), SQL-first, TypeScript-first, edge-native, performance tinggi.
  • Trade-off: DX Prisma lebih baik untuk pemula, Drizzle lebih baik untuk performance & edge.

Di episode 2 selanjutnya kita akan mempelajari konsep dasar dan arsitektur utama Drizzle ORM — schema, query builder, Drizzle Kit, dan Drizzle Studio sebagai empat komponen inti. Sampai jumpa di episode 2!

Belajar Drizzle ORM - Sejarah, Latar Belakang & Mengapa Drizzle ORM | Belajar Drizzle ORM