일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스케줄링
- 백준장학금
- 멀티프로세서
- 자료구조
- 점근적 표기법
- 힙트리
- JPA
- 연결리스트
- 엔티티 그래프
- 운영체제
- 완전이진트리
- SpringSecurity
- JVM
- heapq
- AVL트리
- spring
- 최대 힙
- 연결리스트 종류
- Kruskal
- 백준 장학금
- 알고리즘
- HTTP
- posix
- 이분탐색이란
- MSA
- 프로세스
- python
- 최소힙
- 강화학습
- jpa n+1 문제
- Today
- Total
목록백엔드/DB (3)
KKanging

InnoDB 스토리지 엔진 아키텍처MySQL 은 클라이언트의 쿼리를 해석하는 MySQL 엔진과 해석한 쿼리를 실행하기 위한 데이터를 읽고 쓰기 위한 핸들러 역할을 하는 스토리지 엔진으로 구성된다.InnoDB는 현재 MySQL 기본 스토리지 엔진이고 제일 많이 쓰는 MySQL 스토리지 엔진이다.Primary 키에 의한 클러스터링InnoDB에서 모든 테이블은 PK에 의해 클러스터링 되어 있다.→ PK 값의 순서대로 디스크에 저장된다는 의미그리고 Secondary index 는 레코드의 물리 주소가 아닌 PK 를 가진다.따라서 InnoDB는 pk에 의한 레인지 스캔은 상당히 빨리 처리될 수 있다.오라클 DBMS 의 IOT와 동일하게 구성 💡 PK 기준으로 클러스터링 되기 때문에 PK에 의한 Range 스캔이..

MySQL 전체 구조MySQL 구조는 클라이언트의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와SQL 파서 및 전처리기 SQL 옵티마이저와 캐시 와 버퍼로 이루어진 MYSQL 엔진과 스토리지 엔진으로 구성되어 있다MySQL 엔진은클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL 파서 및 전처리기, 쿼리의 최적화된 실행을 담당하는 옵티마이저가 주를 이룬다.SQL 문장을 분석하거나 최적화하는 등 DBMS의 두뇌에 해당하는 처리를 수행한다.스토리지 엔진은, 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로부터 데이터를 읽어오는 부분은 스토리지 엔진이 전담한다.스토리지 엔진을 여러대를 사용할 수 있다?MySQL 서버에서 엔진은 MySQL 엔진은 하나이지만 스토리지 엔진은 여러 대..

동시성 제어란동시성 제어가 왜 필요할까?위 이미지 처럼 2개의 트랜잭션이 실행되었다고 가정하자트랜잭션 A 는 x와 y를 더해 y값을 수정하고트랜잭션 B는 x와 y를 더해 x값을 수정한다.위 예시는 정상적인 흐름의 실행 예시이다.하지만 트랜잭션이 동시에 실행됐다고 가정해보자.위 이미지 과정처럼 트랜잭션 A가 실행하다가 다른 트랜잭션에 switching 될 수도 있고 꼭 트랜잭션이 동시에 시작하지 않더라도 동시에 실행되는 트랜잭션은 어떻게 switching되어 어떤 실행 결과가 나올지 예상할 수 없다.(이러한 동시성 문제를 운영체제에선 경쟁조건:race condition 이라고 부른다) 데이터베이스에서 동시성 문제를 어떻게 해결할까?데이터베이스에서 이러한 동시성 문제를 락으로 해결한다(운영체제에서도 존재하는..