# 애플리케이션 개발 측면에서 본 Drizzle ORM 대 Kysely 비교

> Clean Markdown view of GeekNews topic #19805. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19805](https://news.hada.io/topic?id=19805)
- GeekNews Markdown: [https://news.hada.io/topic/19805.md](https://news.hada.io/topic/19805.md)
- Type: news
- Author: [hongminhee](https://news.hada.io/@hongminhee)
- Published: 2025-03-17T14:08:09+09:00
- Updated: 2025-03-17T14:08:09+09:00
- Original source: [hackers.pub](https://hackers.pub/@hongminhee/2025/drizzle-orm-vs-kysely)
- Points: 7
- Comments: 3

## Summary

Drizzle ORM은 선언적 스키마 정의, 자동화된 마이그레이션, 객체 기반 쿼리 작성 등에서 강점을 보이며, 특히 동일 이름의 칼럼 처리에 우수합니다. 반면, Kysely는 가벼운 모듈화 구조와 SQL에 충실한 API를 제공하며, TypeScript 기반 마이그레이션과 복잡한 쿼리에 대한 유연성을 갖추고 있습니다. 두 ORM 모두 특정 프로젝트 요구사항에 따라 선택이 달라질 수 있으며, JavaScript/TypeScript 생태계에서도 SQLAlchemy 수준의 ORM 발전이 기대됩니다.

## Topic Body

### Drizzle ORM vs Kysely 비교 요약  
  
#### Drizzle ORM의 장점  
  
- **스키마 정의의 직관성**: 선언적 방식의 스키마 정의가 가능하며, 이로부터 자동으로 `CREATE TABLE` SQL 생성이 가능.  
- **자동화된 마이그레이션**: 스키마 변경사항을 자동으로 감지하여 SQL 마이그레이션 파일 생성이 가능.  
- **직관적인 관계 설정**: 테이블 간 관계를 명확하고 직관적으로 정의할 수 있는 API 제공.  
- **객체 기반 쿼리 작성**: 테이블과 칼럼을 객체로 참조하여 타입 안전성 보장.  
- **동일 이름 칼럼 처리의 우수함**: 여러 테이블 조인 시 동일한 이름의 칼럼을 객체 계층 구조로 자연스럽게 구분.  
  
#### Kysely의 장점  
  
- **가벼운 모듈화 구조**: 필요한 기능만 포함할 수 있는 유연한 구조.  
- **SQL에 충실한 API**: SQL 구문에 매우 가까운 API 설계로 SQL 숙련자에게 친숙.  
- **TypeScript 기반 마이그레이션**: 마이그레이션 스크립트에 애플리케이션 로직 통합이 가능.  
- **양방향 마이그레이션 지원**: `up`/`down` 함수 정의로 업그레이드와 다운그레이드 모두 지원.  
- **복잡한 쿼리에 대한 유연성**: 특정 복잡한 쿼리 작성에서 더 유연한 접근이 가능.  
  
#### SQLAlchemy와의 비교  
  
- **풍부한 기능 세트**: SQLAlchemy가 여전히 가장 기능이 풍부하고 강력한 ORM.  
- **비선형 마이그레이션**: Alembic의 브랜치포인트 지원으로 복잡한 개발 환경에 더 적합.  
- **방대한 문서화**: 단순 API 참조를 넘어 깊이 있는 설명과 내부 구현 세부사항까지 제공.  
- **검증된 안정성**: 대규모 프로젝트에서 오랜 기간 검증된 안정성 보유.  
  
#### 결론  
  
- **Drizzle ORM의 우위**: 직관적인 스키마 정의, 객체 기반 접근 방식, 동일 이름 칼럼 처리 등에서 우수.  
- **프로젝트 요구사항 고려 필요**: 특정 기능과 개발 스타일에 따라 ORM 선택이 달라질 수 있음.  
- **SQLAlchemy 수준으로의 발전 기대**: JavaScript/TypeScript 생태계에서도 SQLAlchemy 수준의 ORM 등장 희망.

## Comments



### Comment 36034

- Author: tested
- Created: 2025-03-18T10:27:30+09:00
- Points: 1

DrizzleORM for NestJS  
https://trilon.io/blog/nestjs-drizzleorm-a-great-match

### Comment 36012

- Author: onixboox
- Created: 2025-03-17T18:30:58+09:00
- Points: 1

저는 prisma, drizzle, sequelize, typeorm 을 써봤는데, 지금까지는 typeorm이 제일 낫더라고요

### Comment 36033

- Author: tested
- Created: 2025-03-18T10:24:20+09:00
- Points: 1
- Parent comment: 36012
- Depth: 1

TypeORM이 나으시다면 MikroORM도 ㅊㅊ드립니다.  
TypeORM과 비슷해서 마이그레이션 하기도 수월하고 Knex도 곁들일 수 있습니다.  
TypeORM의 유지관리가 더뎌서 다른 걸 찾을 때도 MikroORM이 가장 유사하죠.
