일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스프링부트
- 세션
- 자바
- AOP
- 백준
- 레벨2
- 우아한세미나
- 의존성
- CircuitBreaker
- AWS
- JUnit5
- yml
- 코드리뷰
- 트랜잭션
- Docker
- 프리코스
- Paging
- HTTP
- 우테코
- Level2
- 우아한테크코스
- mock
- MSA
- JPA
- 서블릿
- REDIS
- 스프링 부트
- Spring Batch
- 미션
- 프로그래머스
- Today
- Total
목록백앤드 개발일지/데이터베이스 (5)
늘
limit이 걸린 쿼리는 limit이 안걸린 쿼리보다 항상 빠르다? ----- (X)모든 조회쿼리에서 limit이 걸리면 특정 개수만 조회하기에 항상 빨라질거라 생각했지만 limit을 해제하니 오히려 쿼리 속도가 더 빨라졌습니다. 어떻게 이런 일이 발생했는지 확인해보겠습니다.해결 과정에서 헛다리도 짚었는데 그 과정 또한 기록했습니다. 결론만 보고싶으신 분은 아래로 가주시면 됩니다. 가정우선 예시 테이블 구조를 설명해드리겠습니다. history테이블은 5억이상의 데이터가 적재되어있고 복합 인덱스가 걸려있습니다.CREATE TABLE history ( id INT AUTO_INCREMENT PRIMARY KEY, active_id INT NULL, event_type VARCHAR(255) ..
학교 데이터베이스 수업을 들으면서 뒤로 갈수록 내용이 심화되고 좋은 정보도 많기에 글로 정리해보려고 한다!🤓🤓 Disk 구조 중요한 점은 File은 block단위로 디스크에 저장되고 메모리에 load 할 때는 page단위로 한다는 점이다. 그래서 block단위의 file들을 메모리에 가져올 때 transfer time이라는 비용이 발생한다. 이러한 transfer비용을 줄이기 위해서 cache가 등장한다. 이때, cache에서 read 할 땐 괜찮지만 update/delete 할 때는 디스크와의 동기화를 맞춰야 하는 게 중요하다.(db replication 할 때도 느꼈을 것이다) 이제 index를 보면 크게 두 가지로 나뉜다. unclustered Index : 엔트리 순서와 데이터 순서가 일치하지 않..
대용량 데이터 처리하는 방법에 여러 방법이 있다. Load Balancer Request를 연결된 서버들에게 나누어줌 장애 발생시 해당 LB(Load Balancer)에게 할당된 IP를 다른 LB에게 넘겨줌 DBMS 2개(Master-Slave = Primary-Secondary) primary(실제 서비스) primary에서 장애 발생시 secondary가 primary로 되고, 장애가 해결되도 primary는 secondary 역할을 하게 된다. primary(CUD), secondary(R) 두대를 두고 primary의 데이터를 secondary로 계속 Replication을 통해 복제한다. Object Storage Service (File-Server) 파일을 저장할 서버를 둘 경우 총 3개의 ..
자주 햇갈려서 정리해두었다. 짧고 굵게 이해하기 쉽게 정리해봤다. 식별자 부모테이블(상품, 주문테이블) 기본키(PK)가 자식 테이블(주문_상품)의 외래키이자 기본키로 사용되는 관계이다. 자식 테이블의 행(정보)를 추가할 때 부모테이블의 참조 행(상품번호 또는 주문번호)이 없다면 자식테이블의 행을 추가 할 수 없다. : 주문_상품테이블은 상품번호와 주문번호 중 하나라도 없다면 기본키를 만들 수 없게 되고(두개의 외래키가 합쳐 기본키가 되므로) 기본키가 없어 정보를 식별할 수 없으므로 데이터를 넣을 수 없다. : 예를 들면 게시판의 작성글과 댓글의 관계를 식별관계라고 할 수 있다.(작성글이 없다면 댓글도 없다) 식별관계는 - 복합키 관계 비식별자 부모 테이블(상품, 주문테이블) 기본키가 자식 테이블(주문_상..
백앤드 개발자의 친구 데이터베이스를 알아보려고 한다 [데이터베이스의 특징] 실시간 접근성 : 사용자의 질의에 대하여 즉시 처리하여 응답한다. 계속적인 진화 : 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지한다. 동시 공유 : 여러 사용자가 동시에 원하는 데이터를 공유할 수 있는 특징을 갖는다. 내용에 의한 참조 : 데이터베이스에 있는 데이터를 참조할 때 투플(tuple)의 주소나 위치가 아닌 사용자가 요구하는 데이터 내용에 따라 참조한다. 데이터 논리적 독립성 : 응용프로그램과 데이터베이스를 독립시킴으로써 데이터 논리적 구조를 변경시키더라도 응용프로그램은 변경되지 않는다. [데이터베이스 관리 시스템] 데이터베이스를 조작하는 별도의 소프트웨어로, DBMS를 통해 데이터베이스를 관리..