ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • InnoDB ( 1 / x )
    카테고리 없음 2016. 7. 13. 23:12
    InnoDB

    + MySQL을 위한 데이터베이스 엔진
    + MySQL AB가 배포하는 모든 바이너리에 내장
    + 트랜잭션 - 세이프 스토리지 엔진
    + MyISAM 과 비슷하지만 ORACLE 처럼 많은 기능을 지원함
    ( commit, rollback, 장애복구, row-level locking, 외래키 등)
    + 다수의 사용자 동시접속과 퍼포먼스가 증가하여 대용량 데이터를 처리할 때 최대의 퍼포먼스를 내도록 설계되었다. 
    + CPU효율은 어느 디스크 기반의 데이터 베이스와 비교해도 손색이 없고 자체적으로 메인 메모리 안에 데이터 캐싱과 인덱싱을 위한 버퍼 풀을 관리
    + 테이블과 인덱스를 테이블 스페이스에 저장을 하고 테이블 스페이스는 몇 개의 서버 파일이나 디스크 파티션으로 구성되어 있는데 이것은  MyISAM과 다른 점이다. MyISAM은 테이블과 인덱스를 각각 분리된 파일로 관리
    + InnoDB테이블은 OS의 파일 사이즈 한계가 2GB이더라도 상관없이 어느 크기나 가질 수 있음
    + InnoDB는 높은 퍼포먼스가 필요한 대용량 사이트에 적합




    InnoDB의 장점 

    + MyISAM과 달리 InnoDB는 트랜잭션을 지원하므로 트랜잭션-세이프 스토리지 엔진에 해당됩니다.
    + 데이터 무결성에 대한 보장이 가능
    + 제약조건, 외래키의 생성이 가능, 동시성 제어가 가능
    + MyISAM의 Table Lock에 비해 InnoDB는 Row-level Lock을 사용하기 때문에 변경(INSERT, UPDATE, DELETE)에 대한 속도가 빠르다.



    InnoDB의 단점

    + 여러가지 기능을 제공하다보니 데이터 모델 디자인에 많은 시간이 필요하다.
    + 시스템 자원을 많이 사용한다.
    + Full-Text 인덱싱이 불가능하다.




    InnoDB의 경우 트랜잭션 처리가 필요한 작업을 수행하며, 데이터 입력 및 수정과 같이 변경이 빈번한 높은 퍼포먼스를 요구하는 대용량 사이트 등에서 효율적으로 사용될 수 있다.



    [참고]


Designed by Tistory.