http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
Advanced Knowle...  
엔지니어 노트  
블로그존  
글로벌 MySQL  
MySQL 5.5 GA  
MySQL 5.6 Developer  
최신글
MySQL DBA과정(4…
MySQL 5.7.19 설…
아래 slow query …
슬로우쿼리 발생 …
안녕하세요... ma…
 
MySQL5.5.x Storage Engines
글쓴이 : royster   날짜 : 11-10-13 10:19   조회수 : 5341
MySQL 은 다른 테이블 유형에 대한 핸들러 역할을 할수 있는 여러개의 스토리지 엔진을 지원합니다.
MySQL 스토리지 엔진은 트랜젝션에 안전한 (transaction-safe) 테이블을 처리하는 것과
그렇지 않은 테이블을 처리하는 것 모두를 포함하고 있습니다.

MySQL 은 서버가 스토리지 엔진으로 로드 하고 실행중인 MySQL 서버에서 언로드 할수 있는 플러그 스토리지 엔진 아키텍쳐를 사용합니다.

MySQL 서버에서 SHOW ENGINES 문을 사용하여 지원하는 스토리지 엔진을 확인할수 있습니다.
지원 하는 열의 값을 엔진에서 사용할수 있는지 여부를 나타냅니다.

Yes 일 경우 스토리지 엔진을 사용할수 잇으며, No 일 경우 스토리지 엔진을 사용할수 없으며 Default 일 경우에는 기본 스토리지 엔진으로 설정되어 있는지 나타냅니다.

mysql> SHOW ENGINES\G
*************************** 1. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL
*************************** 2. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************
Engine: MyISAM
Support: DEFAULT
Comment: Default engine as of MySQL 3.23 with great performance
Transactions: NO
XA: NO
Savepoints: NO ........

이 장에서는 MySQL Cluster NDB 6.X/7.X 제외한 다른 스토리지 엔진에 대해서 설명을 할 것이며, 또한 플러그 스토리지 엔진 아키텍처에 대한 설명을 포함 (see Section 13.4, “Overview of MySQL Storage Engine Architecture”\) 참조하기 바랍니다.

Commercial MySQL Server binaries 에서 제공하는 스토리지 엔진 지원에 대한 자세한 내용은 MySQL 웹 사이트에서, see MySQL Enterprise Server 5.1, 참고 하십시요.

MySQL의 스토리지 엔진에 대한 몇 가지 자주하는 질문에 대한 답변을 듣고 싶으시면, Section B.2, “MySQL 5.5 FAQ: Storage Engines”을 참조하시기 바랍니다.

MySQL 5.5 supported storage engines
InnoDB: 사용자 데이터를 보호하기 위해 InnoDB는 실행, 롤백, 그리고 크래쉬 복구 기능이 있는 트랜잭션-세이프(transaction-safe) (ACID compliant) 스토리지 엔진이다.

InnoDB row-level locking 및 Oracle 스타일의 (상수 비-락킹) 읽기 연산도 제공한다. 이러한 특성으로 인해 MySQL의 다중-사용자 연속성과 성능이 향상된다. InnoDB에서는 락 에스컬레이션 (lock escalation)이 필요 없는데, 그 이유는 하위-레벨 락이 공간을 거의 차지하지 않기 때문입니다.

InnoDB 는 외래키 참조-무결성 제약 조건을 지원합니다. InnoDB는 MySQL5.5.5부터 기본 스토리지 엔진 입니다.

MyISAM: 사용되는 MySQL의 스토리지 엔진은 웹, 데이터 웨어하우징 및 다른 응용 프로그램 환경에 최적화 되어있습니다. MyISAM은 모든 MySQL의 구성에서 지원하고 기본 스토리지 엔진이며 MySQL 5.5.5 이전 것 입니다.

Memory: 데이터의 빠른 조회 를 요구하는 환경에서 매우 빠른 액세스를 위해 메모리에 모든 데이터가 있습니다. 이 엔진은 이전에 HEAP 엔진으로 알려져 있습니다.

Merge: 한 개 처럼 사용할 수 있는 개별적인 MyISAM 테이블들의 집합이다. 여기에서 말하는 "개별적인(ldentical)" 이란 의미는 , 모든 테이블이 고유의 컬럼과 인덱스 정보를 가지고 있다는 것을 의미한다. VLDB 환경에 대한 좋은 데이터 웨어하우징이 있다.

Archive: 데이터를 저장하고 검색 및 보관, 저장 또는 보안 참조를 위한 완벽한 솔루션입니다.

Federated: 별도의 MySQL 서버에 많은 물리적 서버를 하나의 논리적 데이터베이스를 만들고 연결하는 기능, 분산 데이터를 좋은 환경에서 지원한다.

CSV: 값을 콤마로 구분된 형식을 사용하여 텍스트 파일을 CSV 스토리지 엔진으로 데이터를 저장. 당신은 쉽게 다른 소프트웨어의 데이터를 가져 올 수 있으며 CSV 형식으로 내보내기 가능하며, 응용 프로그램 간에 데이터를 교환하는 CSV로 엔진을 사용할 수 있습니다.

Blackhole: 스토리지 엔진은 데이터를 저장하지는 않지만 항상 빈 셋트를 리턴하도록 한다. 기능은 데이터가 자동으로 하지만, 복제 로컬에 저장되지 안고, 분산 데이터베이스 설계에 사용할수 있습니다.

Example: 스토리지 엔진은 아무런 역할을 하지 않는 "stub" 엔진이다. 여러분은 이 엔진을 사용해서 테이블을 생성할 수 있지만, 이 테이블에 데이터를 저장하거나 복구 시킬 수는 없다. 이 엔진을 제공하는 목적은 새로운 스토리지 엔진을 작성하는 방법에 대해서 예시를 보여 주기 위한 것이다. 따라서, 이 엔진은 개발자가 주로 관심을 가지는 엔진이다.

당신은 전체 서버 또는 스키마에 대해 동일한 스토리지 엔진을 사용해 국한되지 않고 있다는 점을 명심하는 것이 중요하다: 당신은 당신의 스키마에 있는 각 테이블에 대해 서로 다른 스토리지 엔진을 사용할 수 있습니다.

Table 13.1. Storage Engines Feature Summary
Feature MyISAM Memory InnoDB Archive NDB
Storage limits 256TB RAM 64TB None 384EB
Transactions No No Yes No Yes
Locking granularity Table Table Row Row Row
MVCC No No Yes No No
Geospatial data type support Yes No Yes Yes Yes
Geospatial indexing support Yes No No No No
B-tree indexes Yes Yes Yes No Yes
Hash indexes No Yes No No Yes
Full-text search indexes Yes No No No No
Clustered indexes No No Yes No No
Data caches No N/A Yes No Yes
Index caches Yes N/A Yes No Yes
Compressed data Yes[a] No Yes[b] Yes No
Encrypted data[c] Yes Yes Yes Yes Yes
Cluster database support No No No No Yes
Replication support[d] Yes Yes Yes Yes Yes
Foreign key support No No Yes No No
Backup / point-in-time recovery[e] Yes Yes Yes Yes Yes
Query cache support Yes Yes Yes Yes Yes
Update statistics for data dictionary Yes Yes Yes Yes Yes
 
이전글 MySQL5.5 Added Features(추가된 기능) 
다음글 MySQL5.5.x Performance Schema 
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
ⓒ 2010-2011 ssebiz All Rights Reserved.