🌿 중급 DB
ORM이 뭔가요?
쉽게 이해하기
외국어를 배우지 않아도 자동 번역기로 대화할 수 있듯이, ORM은 SQL을 배우지 않아도 익숙한 프로그래밍 언어로 데이터베이스를 다룰 수 있게 해주는 번역기 같은 거예요.
핵심 정리
SQL을 직접 작성하지 않고 프로그래밍 언어의 코드로 데이터베이스를 다루는 도구예요.
자세히 알아보기
ORM은 Object-Relational Mapping의 약자로, 데이터베이스의 테이블을 프로그래밍 언어의 객체처럼 다룰 수 있게 해주는 도구예요. 예를 들어 'SELECT * FROM users WHERE age > 20' 같은 SQL 대신, 'User.find({ age: { gt: 20 } })' 처럼 코드로 작성할 수 있죠.
실무에서는 대부분의 프레임워크가 ORM을 제공해요. Node.js의 Sequelize나 Prisma, Python의 Django ORM, Java의 Hibernate 같은 것들이죠. 이걸 사용하면 SQL 문법을 몰라도 데이터베이스를 다룰 수 있고, 데이터베이스를 MySQL에서 PostgreSQL로 바꿔도 코드를 거의 수정하지 않아도 돼요.
하지만 ORM이 완벽한 건 아니에요. 복잡한 쿼리는 ORM으로 표현하기 어렵거나 비효율적일 수 있어요. 예를 들어 여러 테이블을 조인하고 집계 함수를 사용하는 복잡한 통계 쿼리는 ORM보다 직접 SQL을 작성하는 게 더 빠르고 명확할 수 있습니다.
많은 개발자들이 ORM으로 시작해서 점점 SQL을 배워가는 방식으로 성장해요. ORM은 생산성을 높여주지만, 성능 최적화나 복잡한 데이터 처리가 필요할 때는 SQL을 직접 다룰 줄 알아야 하기 때문이죠.