일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ansible
- 클라우드 네이티브 자바
- 마이크로서비스
- java
- 머신러닝
- Adapter 패턴
- kubernetes
- Kotlin
- MSA
- cloud native
- spring microservice
- 자바
- Stress test
- CRD
- cloud native java
- Microservice
- Algorithm
- Semaphore
- 쿠버네티스
- 헬름
- decorator 패턴
- devops
- 코틀린
- ingress
- 동기화
- 익명클래스
- 클라우드 네이티브
- nGrinder
- MySQL
- Spring
- Today
- Total
목록MySQL (3)
카샤의 만개시기
Mysql Architecture Mysql 엔진 Mysql 서버의 머리 역할을 담당한다 커넥션 핸들러: 클라이언트로부터의 접속 및 쿼리 요청 SQL 인터페이스: DML, DDL 등 인터페이스 제공 SQL 파서: 쿼리를 트리 구조의 작은 단위로 분리하는 작업을 수행 전처리기: 파서 과정에서 만들어진 파서 트리를 기반으로 쿼리에 문제가 있는지 파악 SQL 옵티마이저 쿼리 실행기: 스토리지 엔진에 쿼리 수행을 요청하며 이때 핸들러 API를 이용 캐시 & 버퍼 핸들러 API 쿼리 실행기에서 데이터를 쓰거나 읽어야 할때는 각 스토리지 엔진에 핸들러 요청을 수행해야 한다 스토리지 엔진 데이터 읽기/쓰기와 같은 Mysql 서버의 손과 발 역할을 수행한다 쿼리 캐시 데이터가 잦은 변경이 일어나는 경우에는 잦은 업데이..
InnoDB에서 잠금은 두가지로 나눌 수 있다. FOR SHARE (LOCK IN SHARE MODE) FOR UPDATE FOR SHARE (LOCK IN SHARE MODE) 트랜잭션이 끝날 때까지 SELECT를 한 Row 값이 변경되지 않는 것을 보장한다. 해당 Row를 수정하려는 쿼리는 잠김 상태가 되어 트랜잭션이 끝날 때까지 대기하게 되고, 조회 쿼리는 여러 세션이 동시에 수행하는 것이 가능하다. 이는 트랜잭션이 끝나기 전까지만 유효하므로 auto_commit을 꺼야 한다. SELECT name FROM user WHERE id = 1 LOCK IN SHARE MODE; # 5.7 SELECT name FROM user WHERE id = 1 FOR SHARE; # 8.0 # 8.0 버전에서는 ..
MySQL의 HA(High Availabilty)를 위한 Replicaiton 기법은 다음과 같습니다. Master-Slave Replication Group Replication Galera Cluster 이 기법들에 대해서 알아보도록 하겠습니다. Master-Slave Replication 하나의 Master DB와 다수의 Slave DB들을 통해 Replication을 수행하는 방식인데 Master는 Read/Write Mode로 동작하고 Slave들은 Read Mode로 동작합니다. 이 말 뜻은 DB 변경 Query를 수신 받는 DB는 반드시 Master DB에게 변경 요청을 전달하고 Master DB는 변경 내용을 Slave DB에게 전달하여 복제를 수행한다는 말입니다. 그리고 Read 요청은 ..