Drizzle ORM

Drizzle ORM은 헤드리스 TypeScript ORM입니다. 🐲

Drizzle는 여러분이 필요할 때 곁에 있고, 혼자 있고 싶을 때는 방해하지 않는 좋은 친구와 같습니다.

단순해 보이지만, 프로젝트 1000일째에도 뛰어난 성능을 발휘합니다.
여러분의 방식대로 작업할 수 있게 해주고, 필요할 때 언제든지 도와줍니다.

Drizzle는 관계형SQL 스타일 쿼리 API를 모두 제공하는 유일한 ORM입니다.
관계형 데이터에 접근할 때 두 가지 세계의 장점을 모두 누릴 수 있습니다.
Drizzle는 가볍고, 성능이 뛰어나며, 타입 안전성을 보장합니다.
락토스 프리, 글루텐 프리, 소버(sober)하며, 유연하고 서버리스 환경에 최적화되어 설계되었습니다.
Drizzle는 단순한 라이브러리가 아니라, 하나의 경험입니다. 🤩

Drizzle bestofjs

헤드리스 ORM?

우선, Drizzle는 라이브러리이자 선택적으로 사용할 수 있는 보조 도구 모음입니다.

ORM객체 관계 매핑(object relational mapping)을 의미하며, 개발자들은 Django나 Spring과 유사한 도구를 ORM이라고 부르곤 합니다.
하지만 이는 레거시 명명법에 기반한 오해라고 생각합니다. 우리는 이런 도구들을 데이터 프레임워크라고 부릅니다.

WARNING

데이터 프레임워크를 사용하면 프로젝트를 그 주변에 구축해야 하지, 함께 구축할 수 없습니다.

Drizzle는 여러분의 프로젝트나 구조를 방해하지 않고 원하는 방식으로 프로젝트를 구축할 수 있게 해줍니다.

Drizzle를 사용하면 TypeScript로 데이터베이스 스키마를 정의하고 관리할 수 있으며, SQL 또는 관계형 방식으로 데이터에 접근할 수 있습니다.
또한 선택적 도구를 활용해 개발자 경험을 극대화할 수 있습니다. 🤯

왜 SQL과 비슷한가요?

SQL을 안다면, Drizzle도 쉽게 이해할 수 있습니다.

다른 ORM과 데이터 프레임워크는 SQL에서 멀어지거나 추상화하는 경향이 있습니다. 이로 인해 SQL과 프레임워크 API를 모두 배워야 하는 이중 학습 곡선이 생깁니다.

Drizzle은 반대입니다.
Drizzle은 SQL을 받아들이고, 핵심적으로 SQL과 비슷하게 설계되었습니다. 따라서 학습 곡선이 거의 없으며, SQL의 모든 기능을 활용할 수 있습니다.

익숙한 SQL 스키마, 쿼리, 자동 마이그레이션, 그리고 **한 가지 더**를 제공합니다. ✨

index.ts
schema.ts
migration.sql
// 데이터에 접근하기
await db
	.select()
	.from(countries)
	.leftJoin(cities, eq(cities.countryId, countries.id))
	.where(eq(countries.id, 10))

SQL과 비슷한 방식이 아닌 이유는 무엇인가요?

우리는 항상 완벽하게 균형 잡힌 해결책을 추구합니다. SQL과 유사한 방식이 모든 요구사항을 100% 충족할 수 있지만, 특정 일반적인 시나리오에서는 데이터를 더 나은 방식으로 쿼리할 수 있습니다.

여러분을 위해 **Queries API**를 구축했기 때문에, 데이터베이스에서 관계형 중첩 데이터를 가장 편리하고 효율적으로 가져올 수 있습니다. 조인(join)과 데이터 매핑에 대해 더 이상 고민할 필요가 없습니다.

Drizzle은 항상 정확히 1개의 SQL 쿼리를 출력합니다. 서버리스 데이터베이스와 함께 사용해도 성능이나 왕복 비용에 대해 걱정하지 마세요!

const result = await db.query.users.findMany({
	with: {
		posts: true
	},
});

서버리스(Serverless)?

가장 좋은 부분은 아무것도 없는 부분입니다. Drizzle은 정확히 0개의 의존성을 가지고 있습니다!

Drizzle은 가볍고 서버리스에 적합합니다

Drizzle ORM은 디자인 상 특정 SQL 방언에 맞춰져 있으며, 가볍고 성능이 뛰어나며 서버리스에 적합합니다.

우리는 여러분이 Postgres, MySQL 등을 포함한 최고 수준의 SQL 방언 지원을 받을 수 있도록 많은 시간을 투자했습니다.

Drizzle은 업계 표준 데이터베이스 드라이버를 통해 네이티브로 동작합니다. 주요 PostgreSQL, MySQL, SQLite, SingleStore 드라이버를 모두 지원하며, 새로운 드라이버도 매우 빠르게 추가하고 있습니다.

환영합니다!

점점 더 많은 기업들이 Drizzle를 프로덕션 환경에서 도입하며, 개발자 경험(DX)과 성능 측면에서 큰 혜택을 누리고 있습니다.

우리는 항상 여러분을 도울 준비가 되어 있으니, 언제든지 문의해 주세요. Drizzle 여정에서 기꺼이 도움을 드리겠습니다!

우리는 활발한 **Discord 커뮤니티**를 운영하고 있으며, 모든 빌더들을 **트위터**로 초대합니다.

이제 PostgreSQL, MySQL, 또는 SQLite 데이터베이스와 함께 Drizzle로 멋진 것을 만들어 보세요. 🚀

동영상 소개