포럼

myISAM vs innodb

2012.08.18 00:23

휘즈

저의 경우에는 xe 최초 정식버전 사용할 때 부터 innodb를 사용했습니다.


그 이유는 웹 환경에서는 myISAM 보다는 innodb가 유리하다는 판단을 했기 때문입니다.

그런데 속도면에서 innodb가 myISAM보다 빠른가?

꼭 그렇지만은 않습니다.


정확한 버전은 생각나지 않지만 오래전 innodb 가 처음 발표되었을 때 테스트 해본 적 있습니다.

그때 결론은 "실 사용할 수 없다" 였습니다.

속도가 너무 느렸습니다.


그러던 중 xe가 innodb를 지원하기에 서버도 센트5 로 새로 구축된 상태라 mysql5.0에서 myISAM과 innodb로 테스트해보았습니다.

테스트라고 해봐야 myISAM과 innodb로 xe를 각각 설치한 상태에서 체감속도를 비교해 본 것 뿐입니다.


결론은 비슷하거나 innodb가 조금 느린 느낌이었습니다.


그런데 왜 innodb를 사용하기로 결정했을까요

innodb가 myISAM보다는 웹환경에서는 확실히 장점이 있다는 판단입니다.

그리고 innodb는 계속 발전해 나갈 것이니까요


관련 기술문서를 꽤 많이 읽었었는데 다 기억은 못하고 몇가지만 기술하면 다음과 같습니다.


첫째는 myISAM은 table-level lock으로 DML을 처리하고 innodb는 row-level lock 으로 처리한다는 것입니다.

이것은 많은 동시접속자가 게시글과 코멘트를 입력, 수정할 때 하나의 documents 테이블과 comments 테이블을 사용하는 xe에 있잇어서는 큰 장점이 됩니다.


둘째는 쿼리 캐시인데

myISAM은 쿼리캐쉬메모리를 늘리는 것만큼 비례해서 성능이 늘어나지 않습니다.

쿼리케시 히트율이 그리 효율적이 아니기 때문입니다.

같은 쿼리라도 토씨 하나라도 틀리면 사용할 수 없고 테이타가 입력, 수정될 때마다 쿼리케시를  flush시키기 때문입니다.

결국 myISAM은 고성능의 cpu와 고용량의 메모리보다는 빠른 하드디스크가 성능 향상에 도움이 된다는 것입니다.


이에 비하여 inno디비는 innodb buffer pool에 데이타와 인덱스를 캐시해두고

관련된 색인과 데이타가 있으면 캐시된 데이타를 활용하고 자주 사용되는 데이타는 버퍼에 남겨 두고 적게 사용되는 캐시에서 삭제,  자주 쓰이는 데이타로 캐시를 교체하는 메카니즘을 갖고 있기 때문입니다.

따라서 cpu의 코어수가 늘어날수록 메모리양이 충분할수록 성능이 비례해서  향상된다는 것입니다.

 

지금은 mysql5.5 innodb를 사용하고 있는데 myISAM과 비교는 해보지 않았지만 체감상 사이트가 느리지는 않습니다.


고비용스펙에 투자하는 것보다는 ssd의 안정성이 확보된다면 myISAM에 ssd를 사용하는 것이 성능향상에  더 기여 할 수도 있겠으나

고성능의 서버에 충분한 메모리를 확보할 수 있다면 innodb가 더 나을 것이라는 것이 개인적인 소견입니다.


여담:

   1. mysql을 ssd에 설치하는 것이 유행처럼 되었는데 확실히 myISAM에서는 효과가 있는가 봅니다.

   2. xe가 많이 최적화 되긴 하였지만 디비 특성에 맞게 더욱 쿼리가 최적화되었으면 하는 바람입니다.






글쓴이 제목 최종 글
sejin7940 카테고리 총 개수 부분이.. 글쓰기시 속도 저하의 한 원인이네요 ^^;  
고수군 혹시 첨부파일 첨부시에 특정단어로 인해서 증발경험 있으신분? [1] 2012.08.17 by 고수군
미노아 한창 이슈인 SSL 적용문제..도데체 왜 이렇게 급하게 흘러가죠? [6] 2012.08.17 by 치사메
황비 서버에서 SSD가 효과가 있을까요? [6] 2012.08.17 by 황비
황비 DB서버 분리가 효과 있을까요? [21] 2020.03.14 by 데미갓
황비 xe에서 모바일 지원을 좀 더 확대했으면 좋겠네요.  
EnterTM 옆동네에서는 SSL 말고도 이런방법으로 암호화하는 방법이 있네요. [7] 2012.08.18 by dus2000.myid.net
-웹지기- 관리그룹(그룹관리자)에 회원관리 권한 일부를 줄 수 있으면 좋겠어요 [2] 2012.08.18 by rladydrl1
Xiso XE 활성화 방안에 대해.. [9] 2012.08.18 by rladydrl1
코불스 파폭에서 파일첨부시 본문삽입이되지 않고 로그인이 끊기는 현상[원인 해결]  
CMD Xzet 1.4.5.13 (XE 1.4.x 보안 패치) [15] file 2012.08.19 by imgXE™
KTK cafe XE 이거 정말 좋은 프로그램이네요!! [3] 2012.08.20 by KTK
데미갓 네이버 신디케이션의 비하인드 스토리? [13] 2012.08.20 by KTK
CM XE쉬운설치 잘되고 있나요? [6] 2012.08.20 by CM
onesung 이런 버그가~!!! XE Core ver. 1.5.3 에서 [2] 2012.08.20 by mocona
휘즈 myISAM vs innodb [4] 2012.08.20 by 루아틱™
카이닉스 SSL 때문에 이제 로그인 위젯에 보안접속 체크박스가 있어야 할것 같네요. [5] 2012.08.21 by 오뎅궁물
코불스 이 글을 자유 게시판으로 옮긴 이유나 좀 알으켜 주세요. [7] 2020.03.14 by 코불스
코불스 딱 한 마디로 표현해서 XE의 가장 큰 장점은 무엇일까요? [15] 2012.08.22 by 데브위트™
CM XE 도메인에 DNS에 문제가 있다고하네요.. [2] 2012.08.22 by CM