MySQL 아카이브

MySQL Archive
ArchiveStorage 엔진
원본 작성자브라이언 에이커
초기 릴리즈2004
기록 위치C, C++
운영 체제크로스 플랫폼
플랫폼x86, x86-64, SPARC, MIPS, 전원PC
유형데이터베이스 엔진
면허증GNU 일반 공중 사용권
웹사이트mysql.bkbits.com Edit this on Wikidata

ArchiveMySQL 관계형 데이터베이스 관리 시스템의 스토리지 엔진이다.사용자는 이 분석 저장 엔진을 사용하여 "아카이브(archive)" 전용 테이블을 만들 수 있다.이 테이블에서는 데이터를 삭제할 수 없으며, 추가만 가능하다.아카이브 엔진은 zlib 라이브러리에 기반한 압축 전략을 사용하며, 비트 헤더를 사용하여 행을 압축하여 null을 나타내고 문자 유형 필드의 공백을 모두 제거한다.완료되면 행이 압축 버퍼에 삽입되고 명시적 플러시 테이블, 읽기 또는 테이블 닫기에 의해 디스크로 플러시된다.

현재 Archive 테이블의 제한 사항 중 하나는 인덱스를 지원하지 않기 때문에 SELECT 작업에 대한 테이블 스캔이 필요하다는 것이다.그러나 아카이브 테이블은 MySQL Query Cache에 의해 지원되므로 반복적으로 실행되는 아카이브 테이블 쿼리에 대한 응답 시간을 획기적으로 줄일 수 있다.[1]MySQL은 다음 릴리스의 Archive 테이블에 대한 인덱스 지원을 검사하고 있다.

그 엔진은 산성을 준수하지 않는다.OLTP 엔진과 달리 블록 경계가 없는 디스크에 "스트림" 형식을 사용한다.생성된 보관 파일의 헤드는 해당 파일의 데이터 형식과 내용을 나타내는 바이트 배열이다.MySQL 5.1에서는 MySQL FRM 파일의 복사본이 각 아카이브 파일의 헤더에 저장된다.테이블의 정의를 나타내는 FRM 파일은 아카이브 파일이 서버에 복사될 경우 MySQL 서버에 아카이브 파일을 복원할 수 있다.

zlib를 사용함에도 불구하고 아카이브 파일은 gzip 도구의 기본인 gzio와 호환되지 않는다.gzio의 포크인 자체 아지오 시스템을 사용한다.

아카이브는 행 레벨 잠금 엔진으로서 단일 쿼리(MVCC로 만들기) 동안 일정한 버전 스냅샷을 유지함으로써 다른 MySQL 분석 엔진인 MyISAM과 다르다.이는 동시 대량 삽입에 대해 Archive가 잠기지 않는다는 것을 의미한다.대량 인서트의 경우 인터레이스된 INSERT를 수행하므로 MyISAM과 달리 순서가 보장되지 않는다.

사용자는 archive_reader 도구를 사용하여 테이블의 온라인 스냅숏을 만들고 아카이브 파일의 특성을 변경할 수 있다.

보관 테이블을 만들려면 다음 엔진 문자열을 지정하십시오.

만들다 테이블 t1 (  a 인트로,  b 바카르(32)) 엔진=기록 보관소 

MySQL Archive Storage Engine은 Brian Aker에 의해 제작되었으며 유지 관리되고 있다.2004년에 MySQL 4.1과 함께 도입되었다.

참조

외부 링크