728x90
node.js 강의를 듣고, 과제를 구현하면서 MongoDB ↔ mongoose와 MySQL ↔ sequelize를 사용해봤다.
mongoose는 noSQL인 MongoDB를 편리하게 사용할 수 있게 해주는 ODM이고, sequelize는 MySQL과 같은 SQL을 편리...(?)하게 사용할 수 있게 해주는 ORM이다. 둘의 차이는 관계형 데이터베이스이냐, document 또는 noSQL 방식의 데이터베이스냐의 차이인데, 조금 더 공부하는 차원에서 정리해 보면,
Database icons created by Smashicons - Flaticon
ORM과 ODM은 모두 데이터베이스와 상호작용하는 프로그래밍 도구이지만, ORM은 관계형 데이터베이스와 작동하고 ODM은 NoSQL 데이터베이스와 작동한다. 두 도구는 비슷한 목적을 가지고 있지만 몇 가지 중요한 차이점이 있다.
같은점:
- 객체 관계 매핑(ORM)과 객체 문서 매핑(ODM)은 모두 데이터베이스 작업을 추상화하며, 개발자가 적은 코드로 데이터베이스 작업을 수행할 수 있도록 도와준다.
- 두 도구는 모두 데이터베이스 모델링을 추상화하며, 개발자가 객체 지향 프로그래밍으로 데이터베이스를 사용할 수 있도록 한다.
- ORM과 ODM 모두 데이터베이스에서 데이터를 쉽게 조회, 생성, 업데이트, 삭제할 수 있는 기능을 제공한다.
다른점:
- ORM은 관계형 데이터베이스와 작동하는 도구이며, ODM은 NoSQL 데이터베이스와 작동하는 도구이다.
- ORM은 데이터를 테이블로 구성된 관계형 데이터베이스에 저장한다. 반면에 ODM은 데이터를 문서 형태로 구성된 NoSQL 데이터베이스에 저장한다.
- ORM은 SQL 쿼리를 사용하여 데이터베이스 작업을 수행한다. ODM은 자체 쿼리 언어를 사용하여 데이터베이스 작업을 수행한다.
- ORM은 테이블, 행, 열 등의 데이터베이스 개체와 관련된 개념을 사용한다. ODM은 문서, 컬렉션, 필드 등의 데이터베이스 개체와 관련된 개념을 사용한다.
'daily' 카테고리의 다른 글
23.04.29. Sequelize와 Mongoose의 차이? (0) | 2023.04.29 |
---|---|
23.04.28. sequelize로 mySQL migration하기 (0) | 2023.04.29 |
23.04.29. Foreign Key Convention? (0) | 2023.04.29 |
23.04.24. node.js, express, mongoose, mongoDB 관계, 구조 (0) | 2023.04.25 |
23.04.19. programmers 코딩테스트 문제 풀기[6] (0) | 2023.04.20 |