DBMS/MySQL

    [MySQL] 인덱스

    기존의 Real MySQL (5.0, 5.1 버전) 책을 너무 유익하게 봤는데, Real MySQL 8.0이 전면 개정판이 나와서... 설레는 마음에 보면서 개인적인 공부용으로 정리하고 있습니다. 역시 믿고 보는 Real MySQL... 👍 한번 사서 보시는 것을 강력 추천드립니다! 인덱스 인덱스란? DBMS에서 데이터베이스 테이블의 모든 데이터를 검색해서 원하는 결과를 가져오려면 시간이 오래 걸린다. 그래서 칼럼의 값과 해당 레코드가 저장된 주소를 키와 값의 쌍으로 삼아 인덱스를 만들어 두는 것이다 인덱스의 효과 DBMS의 인덱스는 칼럼의 값을 주어진 순서로 미리 정렬해서 보관한다. 프로그래밍 언어의 자료구조로 비교하면 데이터 파일: ArrayList, 인덱스: SortedList라고 할 수 있다. S..

    [MySQL] 페이지 압축과 테이블 압축

    기존의 Real MySQL (5.0, 5.1 버전) 책을 너무 유익하게 봤는데, Real MySQL 8.0이 전면 개정판이 나와서... 설레는 마음에 보면서 개인적인 공부용으로 정리하고 있습니다. 역시 믿고 보는 Real MySQL... 👍 한번 사서 보시는 것을 강력 추천드립니다! MySQL 데이터 압축 MySQL 서버에서 디스크에 저장된 데이터 파일의 크기는 일반적으로 쿼리의 처리 성능과도 직결되지만 백업 및 복구 시간과도 밀접하게 연결된다 이러한 문제점을 해결하기 위해 데이터 압축 기능을 제공한다. MySQL 서버에서 사용 가능한 압축 방식은 크게 테이블 압축과 페이지 압축을 제공한다. 페이지 압축 MySQL 서버가 디스크에 저장하는 시점에 데이터 페이지가 압축되어 저장되고, 반대로 MySQL 서버..

    [MySQL] 잠금

    기존의 Real MySQL (5.0, 5.1 버전) 책을 너무 유익하게 봤는데, Real MySQL 8.0이 전면 개정판이 나와서... 설레는 마음에 보면서 개인적인 공부용으로 정리하고 있습니다. 역시 믿고 보는 Real MySQL... 👍 한번 사서 보시는 것을 강력 추천드립니다! 트랜잭션 vs 잠금 트랜잭션은 작업의 완전성을 보장하는 기능으로, 논리적인 작업 셋을 모두 완벽하게 처리하거나, 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상 (Partial Update)이 발생하지 않게 해주는 기능. 잠금은 동시성을 제어하기 위한 기능이고, 트랜잭션은 데이터의 정합성을 보장하기 위한 기능. 잠금 → 여러 커넥션에서 동시에 동일한 자원을 요청할 경우 순서대로 한 시점에는 하나의 커넥..

    [MySQL] InnoDB 스토리지 엔진 아키텍처

    기존의 Real MySQL (5.0, 5.1 버전) 책을 너무 유익하게 봤는데, Real MySQL 8.0이 전면 개정판이 나와서... 설레는 마음에 보면서 개인적인 공부용으로 정리하고 있습니다. 역시 믿고 보는 Real MySQL... 👍 한번 사서 보시는 것을 강력 추천드립니다! InnoDB 스토리지 엔진 아키텍처 InnoDB는 MySQL에서 사용할 수 있는 스토리지 엔진 중 거의 유일하게 레코드 기반의 잠금을 제공하며, 그 때문에 높은 동시성 처리가 가능하고 안정적이며 성능이 뛰어나다. 1. PK에 의한 클러스터링 InnoDB의 모든 테이블은 기본적으로 PK를 기준으로 클러스터링 되어 저장된다. (PK 키 값의 순서대로 디스크에 저장된다는 뜻) 모든 세컨더리 인덱스는 레코드의 주소 대신 PK의 값을..

    [MySQL] MySQL엔진 아키텍처

    기존의 Real MySQL (5.0, 5.1 버전) 책을 너무 유익하게 봤는데, Real MySQL 8.0이 전면 개정판이 나와서... 설레는 마음에 보면서 개인적인 공부용으로 정리하고 있습니다. 역시 믿고 보는 Real MySQL... 👍 한번 사서 보시는 것을 강력 추천드립니다! MySQL 엔진 아키텍처 MySQL 서버는 크게 MySQL 엔진과 스토리지 엔진으로 구분할 수 있다. 1. MySQL 엔진 vs 스토리지 엔진 MySQL 엔진 요청된 SQL 문장을 분석하거나 최적화하는 등의 DBMS의 두뇌에 해당하는 처리 커넥션 핸들러, SQL 파서, 전처리기, 옵티마이저가 중심을 이룬다. (각 내용은 아래에서 설명) 스토리지 엔진 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로부터 데이터를 읽..