자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
이를 통해 DBMS의 종류에 관계 없이 데이터베이스를 연결하고 작업을 처리할 수 있다.
https://prohannah.tistory.com/175
조인 연산 알고리즘
구동 테이블(Driving Table)이 작을수록, 내부 테이블(Inner Table)의 결합키 필드에 인덱스가 존재하는 경우 가장 성능을 높일 수 있다.
구동테이블: 조인이 진행될 때 먼저 액세스되어 Access Path를 주도하는 테이블. 즉, 주도적으로 다른 테이블의 결합키에 다가가서 매칭을 시도하는 테이블
내부테이블: 구동테이블의 대상이 되는 테이블
인덱스: 검색 시 레코드를 Full Scan하지 않고 색인화되어 있는 INDEX 파일을 검색해 검색 속도를 빠르게 해준다.
조인은 실행계획에 변동이 일어나기 가장 쉬운 연산이다. 조인을 대체할 수 있는 다른 수단을 잘 활용하는 것이 좋다.
ex) 윈도우 함수
더 자세한 정보) https://schatz37.tistory.com/2
옵티마이저는 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할 수행한다. 이러한 최적의 실행 방법을 실행계획(Execution Plan)이라고 한다.
두 개 이상의 DBMS를 이용해 Master/Slave의 수직적 구조를 활용해 DB의 부하를 분산시키는 기술
출처: https://nesoy.github.io/articles/2018-02/Database-Replication
장점
단점
더 자세한 내용) https://velog.io/@zpswl45/DB-Replication-개념-정리
데이터베이스를 여러 부분으로 분하라는 것
VLDB(Very large DBMS)와 같이 하나의 DBMS에 너무 큰 테이블이 들어가면서 용량과 성능 측면에서 많은 이슈가 발생할 때 파티셔닝 기법을 이용해 해결할 수 있다.
즉, 큰 테이블이나 인덱스를 작은 팦티션 단위로 나누어 관리하는 것
데이터가 너무 커져서 조회하는 시간이 길어질 때 또는 관리 용이성, 성능, 가용성 등의 이유로 사용된다.
장점
단점
같은 테이블 스키마를 가진 데이터를 다수의 데이터베이스에 분산하여 저장하는 기법
같은 데이터베이스 내에서 하나의 큰 테이블을 쪼개 저장하는 수평 파티셔닝과 달리
샤딩은 하나의 큰 테이블을 쪼개 각각 다른 데이터베이스에 분산 저장하는 기법이다.
샤딩은 수평 파티셔닝의 장점을 모두 갖는다.
장점
단점
개체-관계 모델로, 테이블 간의 관계를 설명해주는 다이어그램이다.
즉, API를 효율적으로 뽑아내기 위한 모델 구조도
Ref)
https://velog.io/@fud904/DB-옵티마이저와-실행계획
https://velog.io/@zpswl45/DB-Replication-개념-정리
https://code-lab1.tistory.com/202
https://velog.io/@kjhxxxx/DataBase-ERD란