본문 바로가기

CS21

NoSQL과 RDBMS의 특징과 장단점 NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. RDBMS는 관계형 데이터베이스 관리 시스템으로 관계모델, 스키마, ACID 특성을 가지고 있습니다. 테이블 형식으로 저장하며 테이블은 관계를 나타내고 있습니다. 데이터의 구조는 미리 정의된 스키마에 따라야 하며 트랜젝션의 원자성, 일관성, 고립성, 지속성을 보장합니다. 장점으로는 ACID 특성으로 데이터의 일관성 복잡한 쿼리를 다루는데 효과적입니다. 단점으로는 확장이 어렵기 때문에 성능 저하가 발생할 수 있습니다. NoSQL은 비관계형 데이터베이스로 데이터가 동적으로 정의되기 때문에 스키마가 느슨합니다. 비정형 데이터로 다양한 형식의 데이터를 저장할 수 있으며 대규모 데이터를 분산 저장하고 처리할 수 있습니다. 장점으로는 .. 2024. 1. 1.
기본키(Primary Key), 외래키(Foreign Key) Primary Key, Foreign Key에 대해 설명해주세요. 기본키(Primary Key)는 관계형 데이터베이스 관리 시스템 테이블에서 모든 행을 고유하게 식별하는 필드 또는 필드의 집합입니다. 데이터베이스 테이블 내에서 각 레코드는 오직 하나의 값만 존재해야하고 기본키를 구성하는 어떤 속성도 널 값을 가질 수 없는 개체 무결성 제약조건이 있습니다. 따라서 기록을 삭제하거나 업데이트 하는 경우 데이터 무결성을 확인하기 위해 지정한 조치가 수행됩니다. 기본키는 식별자 역할을 하며 빠른 검색을 가능하게 하며 상위 테이블에 대한 삭제 또는 업데이트 작업을 거부하려면 제한 작업이 수행됩니다. 외래키(Foreign Key)는 두 테이블 간의 관계를 생성하는 열입니다. 외래키는 참조 무결성 제약조건을 가지고 .. 2024. 1. 1.
HTTP Method HTTP 메서드에 대해 설명해주세요. HTTP 메소드는 클라이언트와 서버 사이에 이루어지는 요청과 응답 데이터를 전송하는 방식으로 서버에 주어진 리소스에 수행하길 원하는 행동과 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방식입니다. 주요 메소드로는 GET, POST, PUT, PATCH 메소드가 있습니다. GET 메소드는 리소스를 조회할때 사용하며 POST는 요청 데이터를 처리하고 등록하는데 주로 사용되는 메소드로 메시지 바디(body)를 통해 서버로 요청 데이터 전달합니다. PUT메소드는 리소스를 대체하며 해당 리소스가 없으면 생성하는 메소드입니다. 일부의 리소스를 변경을 할때 PATCH메소드를 사용합니다. DELETE 메소드는 리소스를 제거할때 사용하며 GET, PUT, DELETE는 메소드를.. 2024. 1. 1.
N+1문제의 발생이유와 해결방법 N+1 문제의 발생 이유와 해결 방법에 대해 설명해주실 수 있을까요? 해결 방법은 3가지 이상 말씀해주시면 좋습니다. N+1 문제란? N+1 문제는 데이터베이스 쿼리를 실행할 때 발생할 수 있는 성능 문제 중 하나로, 쿼리 실행 시 추가적인 N개의 쿼리가 발생하여 성능저하를 초래할 수 있습니다. 이는 주로 ORM(Object-Relation Mapping)를 사용하는 경우 발생하며, 한 번의 부모 쿼리로 N개의 자식 쿼리를 가져오는 방식에서 문제가 발생합니다. Lazy Loading(지연 로딩) : 연관된 데이터가 실제로 필요할때만 로드되도록 설계된 방식이지만, 이를 잘못 사용할 경우 여러번의 쿼리가 발생하여 N+1 문제가 발생할 수 있습니다. Eager Loading(즉시 로딩) : Eager 전략으로.. 2023. 12. 27.