728x90
반응형

NoSQL 2

[현문hyun답] MongoDB 에서 별도의 컬렉션으로 분리하는 것과 문서 내부에 저장하는 것 비교

서론MongoDB의 장점이자 단점이 될 수 있는 것은 문서 내부에 통으로 저장하는 방식으로 join으로 인한 성능 저하를 줄일 수 있다는 점이다. 이는 다시 말해 처음 설계에서 어떻게 할지 정하는 것이 더욱 중요하다는 얘기가 될 수도 있다. 데이터 무결성과 중복 사이에서 적절한 줄타기가 필요한 특징이다.그럼에도 불구하고, 별도의 컬렉션으로 분리하여 다른 컬렉션의 id를 참조해야하는 경우가 발생하기 마련이기 때문에, 두 방법을 비교해보는 글을 쓰게 되었다. 본론별도의 컬렉션으로 분리사용자주 추가되고, 자주 변경되는 데이터A와 B 데이터가 독립적으로 관리되어야 하는 경우다양한 필터링이나 분석이 필요한 경우장점데이터 중복을 줄일 수 있어 저장 공간을 효율적으로 사용별도의 문서로 관리되기 때문에 필요할 때만 쿼..

현문hyun답 2024.11.18

[현문hyun답] 언제 어떤 데이터베이스와 ORM/ODM을 사용하는게 좋을까? (2) - ORM/ODM

본론 - 2Mongoose개요MongoDB 전용 ODM장점MongoDB의 모든 기능을 활용할 수 있음스키마를 쉽게 정의하고 유효성 검사를 설정할 수 있음쿼리 전후에 미들웨어를 추가하여 로직을 쉽게 확장할 수 있음단점비동기 처리 방식이 TypeORM이나 Prisma에 비해 덜 직관적임쿼리 작성 시 코드가 복잡해 질 수 있음    Prisma개요Typescript ORM다양한 데이터베이스 지원타입 안정성을 제공하고 데이터베이스 스키마를 선언적으로 정의할 수 있음장점Typescript와 호환이 잘 되어 컴파일 시점에 오류를 잡을 수 있음체이닝을 통한 간결한 쿼리 작성 가능데이터베이스 스키마에 따라 자동으로 타입 생성단점MongoDB의 모든 기능을 지원하지 않음마이그레이션 충돌이나 관리가 복잡함생성된 쿼리가 최..

현문hyun답 2024.11.15
728x90
반응형