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 지원



+ Recent posts