본문 바로가기
DataBase/MySQL

innodb 와 myisam 의 차이점과 성능비교

by 백룡화검 2010. 4. 24.
1. innodb 과 isam 의 비교
   innodb :
    데이터 파일 : Shared Datafile (인덱스와 데이터 공간이 공유)
                      innodb_file_per_table 를 설정하면 테이블 단위의 데이터 파일로 분리가 된다.
                      그러나 테이블 정보는 메인 Shared DataFile에 저장 된다.
                      따라서 백업에 반드시 메인 SharedDB 파일도 같이 이루어 져야한다.
 
                      MyIsam에 비해 약 1.5 ~ 2.5배의 정도 파일이 더 크게 필요로 한다.
 
                      데이터 량이 감소하더라도 증가된 데이터 파일 사이즈는 그대로임.
                       (OPTIMIZE TABLE `테이블` 을 수행 하면 리사이징 됨.)     
    트랜젝션 : ib_logfileN  log파일을 통하여 대량의 트랜젝션을 버퍼링 하고 Seriallization 을 한다.
                   (로그파일은 최소 2개의 그룹이며,  서로 Rotate 스위칭되며 갱신되 데이터를 파일로
                     적용 한다. )
    속     도 : 인덱스와 데이터 파일이 같은 파일에 있어 속도가 느리다.
                  대량의 insert, update가 일어 나면 fragment가 발생되어 더느려 진다.
            
     백   업 : 테이블 단위의 hot Backup (파일 복사) 가 불가능하고,
                mysqldump나 데이터 베이스 전체적인 복사가 필요하다.
                백업에 반드시 메인 SharedDB 파일도 같이 이루어 져야한다.
 
   MyIsam :     
    데이터 파일 : 인덱스(*.MYI) 와 데이터 파일(*.MYD) 분리
                      ( innodb 보다 파일 크기가 작게 소요)
                   데이터 량이 감소하더라도 증가된 데이터 파일 사이즈는 그대로임.
                   OPTIMIZE TABLE `테이블` 을 수행 하면 리사이징 됨.
    트랜젝션 : 테이블 락을 기본으로 insert update delete 가 이루어 진다.
    속     도 : 인덱스와 데이터 파일이 테이블 단위 이므로 속도가 빠르다.
    백     업 : 테이블 단위의 hot Backup (파일 복사) 가 유용하다. 
                   테이블 파일만 있더라도 복구가 가능하다.
 
 
2. 필자의 견해
 
일반적으로 데이터 베이스의 생명은 lock 처리 이며, 성능은 디스크 분산에서 부터 결정된다
 
디스크 분산이 잘되어야 복구부터 로드분산이 가능하고 성능이 향상 되는 것이다.
아직 mysql은 이부분이 미흡하다.
 
기본 적으로 innodb는 디스크별 스토리지를 배분하기에 아직 Oracle만큼 기대할수 없다.
 
전반적인 평가는 Oracle을 10점으로 준다면 Mysql은 5 ~ 6점 정도가 적합하다고 본다.
 
아직 mysql은 속도만이 흡족한 상태이며 전문적인 부분에 있어 아직은 미흡한상태다..
 
하지만 미래의 데이터 베이스는  Hybrid Database 가 된다고 한다.
지금 mysql NDB Clustering 을 보면 hybrid 에 근접한 부분을 볼수가 있다.
필자는 아직 이부분을 실습 해보지는 않았지만 지금의 일반적인 mysql의 버전 보다
성능이나 기능에 있어 진보적이라고 생각한다.
 
향후에 상당한 사용자가 늘것으로 본며 추후에 NDB 에 대한 실습을 해보고자 한다.
 
-http://blog.empas.com/ing1560/18458056 펌-

'DataBase > MySQL' 카테고리의 다른 글

mysql 재시작  (0) 2010.04.24
mysql 버젼 확인  (0) 2010.04.24
큐브리드 NHN NBD 벤치마크 결과  (0) 2010.04.24
블로그 테이블 구조  (0) 2010.04.24
[MYSQL] 우선순위, LOW_PRIORITY, DELAYED, ...  (0) 2010.04.24