살인!
mariadb, mysql
mariadb, mysql - MariaDB 테이블 엔진 종류, 테이블 종류...
이 름 : 바다아이
|
조회수 : 2474
짧은 주소 : https://www.bada-ie.com/su/?v-n3AeSqYtTx
MariaDB 에는 여러가지 스토리지 엔진이 있습니다.
MyISAM, innoDB, blackhole, csv, memory, archive, merge, aria, xtradb, federatedX 이 있습니다.
그중 가장많이 사용하는 엔진들을 알아보겠습니다.
1. innoDB 엔진
– 트랜잭션–세이프 (transaction-safe) 엔진
– commit, rollback, 장애복구, row-level locking, 외래키 등의 다양한 기능 지원
– row-level lock(행 단위)을 사용하기 때문에 변경 작업(insert, update, delete) 속도가 빠름
– Full-text 인덱싱이 불가능
– 데이터 무결성 보장
– ibdata1, ibdata2 과 같은 파일에 index 및 파일데이터가 저장
– DB 및 테이블 정보는 /usr/local/mysql/data/DB명/테이블명.frm 과 같은 구조로 이루어져 있음
– 백업 시 ibdata1와 같은 파일과 /usr/local/mysql/data/DB명/테이블명.frm 파일을 복사하여 백업
– MyIsam에 비해 약 1.5~2.5배 정도 파일이 커짐
– 테이블 단위의 hot backup(파일복사)가 불가능
– mysqldump나 db 전체적인 복사가 필요
2. MyISAM 엔진
– ISAM(Indexed Sequential Access Method)의 단점을 보완하기 위해 나온 업그레이드 버전
– 비–트랜잭션–세이프(non-transaction-safe) 엔진
– 읽기 작업(Select) 속도가 빠름
– table-level lock을 사용하기 때문에 쓰기 작업(insert,update) 속도가 느림
– Full-text 인덱싱이 가능하여 검색하고자 하는 내용에 대한 복합검색이 가능
– 데이터 무결성 보장이 되지 않음
3. XtraDB 엔진
– Percona Xtradb는 mysql 엔진인 innodb에 Galera패치 등을 적용한 DB엔진
– mariaDB 또는 percona server 에서 사용 가능
– window에서 사용 불가
4. MEMORY 엔진
- 데이터가 메모리에 보관되기 때문에 정전이나 하드웨어 고장에 매우 취약
- 서버가 재시작 하면 MEMORY 테이블은 (정의 파일이 디스크에 저장되기 때문에) 재생성 되지만 그 내용은 비어있을 것입니다. --init-file 서버 시작(startup) 옵션을
사용하여 쿼리로 원하는 내용을 다시 채울 수 있습니다.
- MEMORY 저장 엔진의 내용은 디스크보다 메모리에 보관됩니다.
- 다른 테이블로부터 데이터의 읽기전용 캐쉬 즉 임시적인 작업 영역에서 사용하는 데 최고입니다.
5. ARCHIVE 엔진
- ARCHIVE스토리지 엔진 용도 압축 행 gzip을 저장하는 엔진이다. 주로 매우 작은 풋 프린트로 인덱스없이 대량의 데이터를 저장하는 데 사용됩니다.
- ARCHIVE스토리지 엔진을 사용하는 테이블 은 디스크의 두 파일에 저장됩니다. 확장자가 .frm 인 테이블 정의 파일과 확장자가 .ARZ 인 데이터 파일이 있습니다.
최적화 중에 때때로 .ARN 파일이 나타납니다.
6. ARIA 엔진
- MariaDB 10.4 부터 모든 시스템 테이블 은 Aria입니다.
- 내부 온 디스크 테이블은 MyISAM 테이블 형식 대신 Aria 테이블 형식 입니다.
- Aria는 MyISAM보다 더 나은 캐싱을 제공하므로 일부 GROUP BY 및 DISTINCT 쿼리의 속도가 빨라집니다
출처 : http://www.linuxdata.org/bbs/board.php?bo_table=DB&wr_id=17
|
|