본문 바로가기

MySQL별책부록39

MySQL Ver. 5.7 InnoDB Fulltext Search 기능 개선 1. InnoDB Plugin Parser 지원 MySQL Ver. 5.7.3부터 InnoDB Fulltext Search 에 대한 플러그인 파서를 지원한다. 이 파서 플러그인은 두가지의 규칙을 가지고 동작한다. 1. 이 플러그인은 bulit-in parser의 기능을 대체할 수 있다. 즉, 이 플러그 인이 파싱된 입력 내용을 읽어서 단어를 잘라서 서버에 단어를 전달하는 작업을 모두 진행한다는 것을 의미한다. 2. 이 플러그인은 builtin-parser와 결합하여 front end 로서의 서비스를 제공할 수 있다. 즉, 일반적인 파싱 규칙으로 입력값으로 부터 텍스트를 추출하고 파서에 전달하여 단어를 분리하게 할 수 있다는 것을 의미한다. 위 규칙을 가지고 사용자는 MySQL 서버에 플러그인 파서를 만들.. 2016. 6. 30.
MySQL Ver.5.7 Keyring framework MySQL Ver. 5.7.11 부터 컴포넌트와 플러그인 형태로 keyring service를 제공한다. 이 기능은 InnoDB를 사용하는 경우에만 사용할 수 있다. 그러나, 나중에는 다른 스토리지 엔진에서도 사용할 수 있게 개선할 것이다. Keyring 서비스는 front-end 인터페이스이고, back-end는 모두 다른 Keyring을 사용할 수 있다. 2가지의 keyring을 제공한다. 1. keyring_file MySQL Ver. 5.7.11부터 플러그인 형태로 커뮤니티 서버에서 제공하는 것으로 암호화 되지 않은 일반 파일안에 키를 정한다. 그래서 안전한 곳에 해당 파일을 저장해야 한다. 2. keyring_okvMySQL Ver. 5.7.12부터 플러그인 형태로 엔터프라이즈 서버에서 제공하는.. 2016. 6. 29.
MySQL Ver. 5.7 InnoDB Transparent Page Compression InnoDB에서 페이지에 대한 압축 기능을 제공한 건 InnoDB Plugin for MySQL Ver. 5.1 부터였다. 하지만, 처음에 이 압축기능은 성능도 많이 떨어지고 문제가 많아서 쓰기에 부적합했었다. 버젼이 높아지면서 해당 문제는 조금씩 해결되어 가고 있는데, MySQL Ver. 5.7에서는 어떻게 수정되어 변경되었는지 알아보도록 하자. MySQL Ver. 5.7에서는 좀 더 단순하게 구현하려고 노력했다. 그래서 변화된 코드에서는 기본은 localize 즉, 관리 데이터는 로컬에서 처리되게 하고, 기존의 InnoDB 압축 기능과 새 압축 기능이 하나의 인스턴스 안에서 공존하여 사용할 수 있게 하였다. 사용자 입장에서는 자신이 원하는 압축 방법을 사용할 수 있게 제공하고, 가능하면 테이블 별로 .. 2016. 6. 3.
MySQL Ver. 5.7에서 임시테이블에 대한 성능 개선 1. InnoDB Temporary Table Undo Logs MySQL Ver. 5.7.2에서 일반 임시 테이블과 암축 임시테이블 그리고 거기에 연관된 오브젝트들을 위한 새로운 타입의 Undo Log 가 소개되었다. 임시 테이블의 내용은 Crash Recovery에서 사용되지 않기 때문에 redo log가 필요하지 않다. 즉, 임시 테이블의 정보는 서버가 운영 중일때, 롤백해야 하는 상황에서만 필요하다. 리두로그를 만들지 않는 Undo Log는 해당 임시 테이블과 거기에 관련된 오브젝트를 위한 redo logging으로 인해 발생하는 Disk I/O를 피할 수 있기 때문에 성능에 도움을 준다. 임시 테이블에 대한 Undo Log는 임시 테이블 스페이스에 위치한다. 기본으로 생성되는 임시 테이블 스페이.. 2016. 6. 2.