Why We’re Excited About MySQL 8.0 (2018-01-10 진행) 리뷰
오늘 진행되었던 웨비나 내용을 타이틀을 대강 정리해 보았습니다.
여기서 제가 보았을 때 특히 눈에 띄는 것은
ROLE기능, Window 펑션 기능 강화(좋은소식), SET PERSIST 명령인데요, 점점 OS단 접근 없이MySQL 클라이언트 접근만으로 MySQL 조작이 가능해질 듯 하네요.
또한 디센딩 인덱스가 유명무실하지 않고 실제 사용이 가능해진다는 것 또한 매우 좋은 소식이라고 생각합니다.
물론 stable 버전 릴리즈 이후 직접 테스트 해봐야겠지만, 많은 부분이 기대되네요 ^^
아래는 관련 타이틀별로 좋지 못한 실력으로 번역해놓아보았습니다.
5.7에 비해 달라진 기능을 확인하시고 한번 체험해 보시는 것도 나쁘지 않겠습니다!
1. information_schema의 퍼포먼스가 많이 빨라짐
2. utf8 캐릭터셋의 속도가 빨라지고 좋아짐(utf8mb4의 경우로 비교).
3. 보안 부분 강화
- ROLE 기능 제공
- SUPER 권한에서 Breakdown
- 비밀번호 히스토리
- cached-SHA2 인증에서 더욱 빨라짐
- --skip-grants 명령이 원격 연결에서 거부됨.
- 리두와 언두로그가 테이블 암호화가 활성화되어있다면 함께 암호화됨.
4. 영속적인 AUTO INCREMENT\
5. 자동관리되는 UNDO 테이블스페이스
- 시스템 테이블 스페이스를 언두를위해 사용하지 않음
- 자동적으로 디스크의 공간을 큰 트랜잭션으로부터 교정함.
6. 셀프 튜닝(이노디비에서만 적용)
- innodb_dedicated_server값을 세팅하면 자동으로 튜닝함
- 버퍼풀, 로그버퍼사이즈, 플러시메소드
7. JSON을 위한 부분 In-Place 업데이트
- JSON 오브젝트를 모든 필드 재작성 없이 업데이트 가능
- 카운터, 스테이터스, 타임스탬프에 훌륭함.
- 오직 특정요소 업데이트나 제거 지원
8. 보이지 않는 인덱스(invisible index)
- 실제 인덱스를 드랍했을때의 효과를 테스트 가능
- use_invisible_indexes 를 세션에서 생성, 제거할 수 있음.
9. TmpTable 스토리지 엔진
-내부 임시테이블들을 위한 더욱 효율적인 스토리지 엔진
-VARCHAR 와 VARNINARY를 위한 더욱 효율적인 스토리지 엔진
10. 백업 잠금
- 비일관적인 백업을 방지
- 백업을 위한 인스턴스 잠금
11. 옵티마이저 히스토그램
- 상세화된 통계가 컬럼에 나온다. 인덱스들만이 아니다.
12. 퍼포먼스 스키마
- 응답 시간 히스토그램 제공
- 현재 상호적으로 사용가능하고 스케일 가능.
- 퍼포먼스 비교.
- sys.session 모두 비교시 8.0이 30배 빠름(5.7에 비해)
13. persistent global variables.
- set persist 명령 제공.(my.cnf 에 직접 써주나: 이건 아니고 다른 파일에 쓰는듯)
14. 스토리지가 SSD라고 가정한느 것이 디폴트
15. 바이너리로그의 디폴트
- 빈로그 ON이 디폴트
- log_slave_update도 디폴트로 켜지고
- expire_logs_date도 30이 디폴트
16. 쿼리 캐시가 사라짐.
- 이를 넣으려니 더욱 많은 문제
- ProxySQL이나 다른 것을 외부 쿼리 캐시로 사용.
17. 오직 Native partitioning만 사용가능(?)
18. 리소스 그룹(?)
- 격리수준과 더 나은 퍼포먼스
- MySQL 8.0 리소스 그룹 : 100% 더 빠름.
19. 스케일에서 더욱 좋은 퍼포먼스
- 시스벤치로 보았을때, 유저가 많아져도 계속 성능이 좋음
20. 기능 요청(?)
- 싱글스레드 퍼포먼스가 더 나아지는 것 (싱글 스레드 퍼포먼스는 MySQL 버전이 올라갈수록 QPS가 떨어짐.)
- 페럴렐 쿼리 프로세싱
21. NO WAIT와 SKIP LOCKED(향후 테스트)
- SELECT 쿼리에서 NOWAIT는 row가 잠겨있다면 에러가 나오고,
- SKIP LOCKED는 결정적으로 잠긴 로우를 넘김.
22. 디센딩 인덱스.
- 인덱스에서 디센딩 플래그가 더이상 무시되지 ㅇ낳는다.
- ORDER BY a desc, b asc 등이 가능해짐
23. JSON에서의 관계형 병합
- JSON_table 함수로 테이블 모양으로 볼 수 있음.
24. 데이터 추출에 JSON 다큐먼트가 더욱 나아짐.
25. 공통 테이블 표현(?)
- 리커시브와 non-recursive 표현.
26. 윈도우 펑션들.
- 그룹바이와 비슷하게, 그러나 row간의 관계를 더욱 잘 표현할 수 있음.
27, GIS가 더욱 좋아짐(GPS관련 인덱스인듯?)
28. MySQL 다큐먼트 스토어(레퍼런스 읽어보기 필요할듯)
- 풀텍스트 인덱싱
- GeoJSON 지원
'MySQL & Aurora' 카테고리의 다른 글
MySQL Internal 살펴보기 - SELECT 수행과정 (0) | 2021.10.14 |
---|---|
MySQL 원하는 버전으로 패키지 설치(With Amazon Linux) (0) | 2021.10.08 |
What Is New In MySQL 5.7 (0) | 2018.04.05 |
MySQL Position 설정(SBR의 경우 무엇으로 맞출까?) (0) | 2018.01.05 |
MySQL 소스코드 설치(CentOS) (2) | 2017.12.26 |