본문 바로가기

백엔드

(3)
DB replication 사용이유 DataBase 안정성을 위해 사용됩니다 리플리카 서버는 아주 약간의 딜레이가 있지만 거의 실시간으로 마스터 서버와 동일한 데이터를 가지고 있기 때문에 장애 복구 시 데이터 소실이 최소화됩니다. 특징 리플리카 서버는 마스터 서버로 승격이 가능하기에 마스터 서버로 승격시켜 기존 마스터 서버를 대체하는 방식으로 복구가 진행됩니다 복제서버인 리플리카는 기본적으로 읽기 전용입니다 마스터 서버는 SQl 명령을 수신하면 그 SQL 명령을 리플리카 서버에도 똑같이 보냅니다 그러면 마스터 서버와 리플리카 서버의 데이터가 동일한 상태로 유지합니다 MySQL의 Replication은 기본적으로 비동기 복제 방식을 사용하고 있습니다. Master 노드에서 변경되는 데이터에 대한 이력을 로그에 기록하면 Relicat..
Swagger을 통해 OpenAPI 문서화하기 OAS에 대해 알아보기 OAS에 대해 알기 전 선행되어야 하는 개념들이 있다 REST Representational State Transfer의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것 HTTP Method를 통해 CRUD Operation을 적용하는 것을 의미한다 EX) DB의 게시글 정보가 자원일 때, posts로 표현함 RESTful API란? REST 기반으로 서비스 API를 구현한 것 기본 규칙 resource는 동사보다는 명사를, 대문자보다는 소문자를 사용한다 resource의 도큐먼트 이름으로는 단수 명사를 사용해야 한다 resource의 컬렉션 이름으로는 복수 명사를 사용해야 한다 resource의 스토어 이름으로는 복수 명사를 사용해야 한다 자원에 대한 행위..
N+1문제 N+1문제를 위해 필요한 기본 개념들에 대해 먼저 설명하겠습니다 ORM(Object-Relatonal Mapping) 우리가 일반 적으로 알고 있는 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면됩니다 장점 SQL이 아닌 Method를 이용하여 DB조작할 수 있어, 비지니스 로직을 구성하는데만 집중할 수 있습니다 객체지향적인 코드 작성 가능 -> 생산성 증가로 이어집니다 DB 종류를 변경할 경우에 ORM을 사용하면 쿼리를 수정할 필요가 없습니다 JPA • JAVA에서 ORM 기술 표준으로 사용하는 인터페이스 모음입니다 • 자바에서 관계형 데이터베이스를 사용하는..