728x90 개발공부 개발새발/DB21 DB ) 트랜잭션과 스레드의 관계성, Isolation Level 트랜잭션이 종료될 때까지 “한 커넥션”을 계속 사용한다.그리고 일반적으로 “한 커넥션”은 “하나의 스레드”가 점유하여 처리한다.트랜잭션과 스레드의 관계동작트랜잭션은 일관성과 원자성을 보장하기 위해 시작(BEGIN) 부터 종료(COMMIT or ROLLBACK)를 하나의 작업 단위로 묶음.트랜잭션이 종료되기 전까지는 다른 작업이 해당 커넥션을 사용할 수 없음.커넥션은 트랜잭션 동안 고정트랜잭션이 시작되면, 애플리케이션은 “한 커넥션”을 고정하여 쿼리를 시작함.트랜잭션이 끝날 때까지 해당 커넥션은 다른 스레드나 작업에 할당되지 않음.하나의 스레드는 하나의 커넥션을..하나의 스레드는 하나의 커넥션을 점유한다.커넥션 풀을 사용한다면?트랜잭션이 종료된 후, 해당 커넥션은 풀로 반환 → 다른 스레드가 다시 커넥션을.. 2024. 12. 26. DB ) 모두 성공하지 않으면 모두 실패한다. 트랜잭션입니다. 트랜잭션이 종료될 때까지 “한 커넥션”을 계속 사용한다.그리고 일반적으로 “한 커넥션”은 “하나의 스레드”가 점유하여 처리한다.트랜잭션과 스레드의 관계동작트랜잭션은 일관성과 원자성을 보장하기 위해 시작(BEGIN) 부터 종료(COMMIT or ROLLBACK)를 하나의 작업 단위로 묶음.트랜잭션이 종료되기 전까지는 다른 작업이 해당 커넥션을 사용할 수 없음.커넥션은 트랜잭션 동안 고정트랜잭션이 시작되면, 애플리케이션은 “한 커넥션”을 고정하여 쿼리를 시작함.트랜잭션이 끝날 때까지 해당 커넥션은 다른 스레드나 작업에 할당되지 않음.하나의 스레드는 하나의 커넥션을..하나의 스레드는 하나의 커넥션을 점유한다.커넥션 풀을 사용한다면?트랜잭션이 종료된 후, 해당 커넥션은 풀로 반환 → 다른 스레드가 다시 커넥션을.. 2024. 11. 24. MySQL ) InnoDB 스토리지 엔진 InnoDB 스토리지 엔진 MySQL에서 가장 많이 사용되는 스토리지 엔진. 레코드 기반의 잠금을 제공, 높은 동시성 처리가 가능하며 안정적이고 성능이 뛰어나다. 프라이머리 키에 의한 클러스터링 InnoDB의 모든 테이블은 기본적으로 PK 를 기준으로 클러스터링되어 저장. PK 키 값의 순서대로 디스크에 저장되며 모든 세컨더리 인덱스는 PK 값을 논리적인 주소로 사용한다. PK 를 이용한 레인지 스캔이 상당히 빨리 처리된다. 외래 키 지원 DB 서버 운영의 불편함때문에 실제 서비스용 DB 에는 사용되지 않아도, 개발 환경의 DB에서는 좋은 가이드 역할을 한다. MVCC (Multi Version Concurrency Control) 일반적으로 레코드 레벨의 트랜잭션을 지원하는 DBMS 가 제공하는 기능... 2023. 8. 31. MySQL ) MySQL 엔진 MySQL 엔진 쿼리를 작성하고 튜닝할 때 필요한 기본적인 엔진 독특한 구조를 가지고 있어 다른 DBMS에 비해 혜택도 많지만 문제되지 않을 것들이 문제가 되기도 한다. 커넥션 핸들러 접속 및 쿼리 요청을 처리. 옵티마이저 SQL 파서 및 전처리기, 쿼리의 최적화된 실행을 담당. 핸들러 API 핸들러 요청에 사용되는 API 핸들러 요청 MySQL 엔진의 쿼리 실행기에서 데이터를 쓰거나 읽을 때 각 스토리지 엔진에 쓰기, 읽기를 요청하는 것. MySQL 스레딩 구조 MySQL 서버는 스레드 기반으로 작동한다. 포그라운드 스레드 사용자 요청 처리 적다. 공장. 백그라운드 스레드 실제 요청 작업 많다. 일꾼들. 포그라운드 스레드 (사용자 스레드) 서버에 접속된 클라이언트 수만큼 존재. 쿼리 문장 처리. (읽기.. 2023. 8. 31. MySQL ) MySQL 아키텍처 ?! MySQL 서버는 사람의 머리 역할을 담당하는 “MySQL 엔진” 손발 역할을 담당하는 “스토리지 엔진” MySQL 전체 구조 스토리지 엔진 실제 데이터를 디스크 스토리지에 저장 디스크 스토리지로부터 데이터를 읽기 핸들러 API 를 만족하면 누구든 스토리지 엔진을 구현해 MySQL 서버에 추가 가능. InnoDB 스토리지 엔진 99.9% 해당 엔진을 사용한다. 성능 굿. MyISAM 스토리지 엔진 지금은 거의 사용하지 않는 도태된 엔진 2023. 8. 31. MySQL ) 사용자 및 권한과 역할 사용자 MySQL 의 사용자 계정은 해당 사용자가 어느 IP 에서 접속하고 있는지도 확인한다. 권한을 묶어서 관리하는 역할 개념도 도입됐다. 각 사용자 권한으로 미리 준비한 권한 세트를 부여하는 것도 가능하다! 사용자 식별 MySQL 기준 호스트명 도메인 IP 주소 다음 사용자 계정은 로컬에서만 접속 가능하고, 다른 컴퓨터에서는 접속이 불가능하다. (127.0.0.1은 로컬 IP) 'user_id'@'127.0.0.1' 모든 외부 컴퓨터에서 접속이 가능하게 하려면 IP를 % 라고 대체한다. 'user_id'@'%' 192.168.0.1 인 PC에서 비밀번호를 “abcd” 라고 쳐서 접속한다면 ? 'member'@'192.168.0.1' // 비밀번호 1234 'member'@'%' // 비밀번호 abcd.. 2023. 8. 18. 이전 1 2 3 4 다음 728x90