• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 1. InnoDB 소개
    2. InnoDB의 개념과 아키텍처
    3. InnoDB 구성
    4. InnoDB 관리
    5. InnoDB 테이블 스페이스 관리
    6. InnoDB 테이블 관리
    7. InnoDB 압축 테이블
    8. InnoDB 파일 형식 관리
    9. InnoDB Row Storage and Row Formats
    10. InnoDB 디스크 I/O 및 파일 영역 관리
    1. InnoDB 디스크 I/O
    2. 파일 공간 관리
    3. InnoDB 체크 포인트
    4. 테이블의 조각
    5. TRUNCATE TABLE에 의한 디스크 공간의 재사용
    11. InnoDB와 온라인 DDL
    12. InnoDB 부팅 옵션 및 시스템 변수
    13. InnoDB의 성능
    14. InnoDB INFORMATION_SCHEMA 테이블
    15. InnoDB 모니터
    16. InnoDB 백업 및 복구
    17. InnoDB와 MySQL 복제
    18. InnoDB 및 memcached의 통합
    19. InnoDB 문제 해결
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

14.10.1 InnoDB 디스크 I/O

InnoDB 는 가능하면 I / O 작업을 처리하기 위해 여러 스레드를 생성하여 비동기 디스크 I / O를 사용합니다. 이를 통해 I / O가 아직 진행중인 동안에도 다른 데이터베이스 작업을 계속할 수 있도록합니다. Linux 및 Windows 플랫폼에서는 InnoDB는 사용 가능한 OS 및 라이브러리 함수를 사용하여 "기본"비동기 I / O를 수행합니다. 다른 플랫폼의 경우도, InnoDB는 계속 I / O 스레드를 사용하지만 이러한 스레드가 실제로는 I / O 요청의 완료를 기다릴 수 있습니다. 이 기술은 "시뮬레이션 된"비동기 I/O라고합니다.

예측

InnoDB는 데이터가 곧 필요하게 될 가능성이 높다고 판단 할 경우 예측을 수행하여 그 데이터를 메모리에서 사용할 수 있도록 버퍼 풀로 이동합니다. 연속적인 데이터에 대해서는 몇 가지 큰 읽기 요청을 만드는 것이 여러 확산 작은 요청을 만들려면보다 효율적인 경우가 있습니다. InnoDB는 두 개의 예측에 관한 경험칙이 있습니다.

  • 순차 예측에서는, 테이블 스페이스 내의 세그먼트에 대한 액세스 패턴이 시퀀셜 인 것을 알게되면 InnoDB 는 데이터베이스 페이지 읽기의 배치를 I / O 시스템에 미리 전송합니다.

  • 랜덤 예측에서는, 테이블 스페이스 내의 일부 영역이 버퍼 풀에 완전히 읽고있는 중임을 발견하면 InnoDB 는 나머지 읽기 I / O 시스템에 보냅니다.

이중 쓰기 버퍼

InnoDB 는 이중 기입 버퍼 로 불리는 구조에 관련한 참신한 파일 플래시 기법을 사용하고 있습니다. 이것은 기본적으로 활성화되어 있습니다 ( innodb_doublewrite=ON ). 따라서 충돌이나 정전 후 복구의 안전성이 높아질뿐만 아니라 fsync() 조작의 필요성이 줄어들 기 때문에 거의 모든 종류의 Unix에서 성능이 향상됩니다.

데이터 파일에 페이지를 쓰기 전에 InnoDB 는 먼저 그 페이지를 이중 쓰기 버퍼라는 연속 된 테이블 스페이스 영역에 씁니다. 이중 쓰기 버퍼에 기록하고 플래시가 완료된 후에 비로소 InnoDB 는 그 페이지를 데이터 파일의 적절한 위치에 기입합니다. 페이지 쓰기 중에 운영 체제, 스토리지 서브 시스템 또는 mysqld 프로세스의 충돌 (그에 따른 손상 페이지 의 상태)가 발생했을 경우, InnoDB 는 나중에 복구하는 동안 해당 페이지의 정상적인 사본을 이중 쓰기 버퍼 에서 찾을 수 있습니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved