MySQL 8.0 & MySQLaaSmktg.co.kr/eDM/20200416_Oracle/session/MySQL8.0_New... · 2020. 4. 16. ·...
Transcript of MySQL 8.0 & MySQLaaSmktg.co.kr/eDM/20200416_Oracle/session/MySQL8.0_New... · 2020. 4. 16. ·...
MySQL 8.0 & MySQLaaS
류수미, Principal MySQL solution Engineer
Copyright © 2020 Oracle and/or its affiliates.
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
다음은 일반적인 제품 방향을 설명하기위한 것입니다. 정보용으로만 사용되며 어떠한 계약에도 포함되지않을 수 있습니다. 자료, 코드 또는 기능을 제공하겠다는 약속은 아니며 구매 결정에 영향을 미치지않습니다. Oracle 제품에 대해 설명 된 모든 특징 또는 기능의 개발, 릴리즈 및 출시시기는 전적으로Oracle에 따릅니다.
Safe Harbor
Copyright © 2020 Oracle and/or its affiliates.
DB-Engines 2020 데이터베이스 순위
Copyright © 2020 Oracle and/or its affiliates.
개발자들이 가장 선호하는 데이터베이스
Copyright © 2020 Oracle and/or its affiliates.
MySQL 8.0
MySQL 8.0: 하이라이트
Copyright © 2020 Oracle and/or its affiliates.
MySQL Document Store
MySQL Security
MySQL InnoDB Cluster
MySQL Shell
MySQL 8.0: Document Store
Copyright © 2020 Oracle and/or its affiliates.
Document-oriented data storage - SQL 및 새로운 X DevAPI의 NoSQL 인터페이스로 JSON 도큐멘트에 대한 전반적인 지원
관계형 및 비 관계형 데이터 모델 지원
- 비 관계형 COLLECTIONs 및 관계형 TABLEs 동시 지원
Rapid prototyping & 간단한 CRUD APIs
- “method chaining”의 현대적인 APIs 및 비 동기 실행(e.g. promises, callbacks, etc.)
다양한 개발 언어 지원
- Node.JS, Java, NET, C++/C, PHP, Python
NoSQL + SQL = MySQL
MySQL 8.0: Shell
Copyright © 2020 Oracle and/or its affiliates.
신속한 프로토타이핑- JavaScript 및 Python
SQL 및 X DevAPI 지원- 내장된자동완성기능
InnoDB Cluster 지원- 몇 분 이내로 HA 솔루션 구성
InnoDB ReplicaSet 지원(8.0.19)
- MySQL Replication기반의 통합 솔루션
DevOps 툴
- DevOps 운영을 위한 설계
몇 분 안에 시작 가능
MySQL 8.0: CTEs & Window 함수
Copyright © 2020 Oracle and/or its affiliates.
Common Table Expression (WITH clause)
- Recursive 지원
- 계층 구조의 데이터 분석
Window Functions
- 집계, 순위, 분석
- 분석 및 보고
CTEs & Window 함수
MySQL 8.0: Hash Join
Copyright © 2020 Oracle and/or its affiliates.
큰 결과 셋에 대한 nested roop보다 더 빠름
가능하면 메모리내에서 처리
필요할 경우 디스크로 처리
inner equi-joins 에 사용
- outer, semi 및 anti joins로 확장 가능
쿼리 실행 계획에서 BNL 대체
Hints를 강제 적용하는 것으로 hash join 혹은 nested loop 사용
Hash Join
8.0.18
MySQL 8.0: EXPLAIN ANALYZE
Copyright © 2020 Oracle and/or its affiliates.
쿼리에 대한 점검 및 실행
코스트 예측
실제 실행 통계
- Time to return first row
- Time to return all rows
- Number of rows returned
- Number of loops
새로운 트리 포맷으로 출력
EXPLAIN ANALYZE
8.0.18
MySQL InnoDB Cluster
Copyright © 2020 Oracle and/or its affiliates.
MySQL Group Replication
- 고 가용성
- 탄력성, 내 결함성, 자가 치유
MySQL Router
- 연결 라이팅, 로드 밸런싱
MySQL Shell
- 쉬운 설정 & 관리
Native HA for MySQL
App Servers withMySQL Router
MySQL Group Replication
MySQL ShellSetup, Manage,
Orchestrate
MySQL CLONE Plugin
Copyright © 2020 Oracle and/or its affiliates.
New! CLONE 플러그인에 의한 노드 자동 프로비저닝
CLONE: 자동적인 풀 데이터스냅샷 프로비저닝
MySQL Group Replication
Joining Member
8.0.17
MySQL NDB Cluster
Copyright © 2020 Oracle and/or its affiliates.
MySQL의 최고의 스룻풋의 실시간 데이터스토아
8.0.19
MySQL 8.0 기반 구축
용량을 수백 terabyte로 확장, 더 많은 데이터 노드 지원
세개 및 네개 사본 지원
실시간 리소스 풀을 통한 자동 구성
더 빠르고 강력한 디스크 데이터
SQL 성능 향상, 병열 백업, 더 큰 row수 지원
MySQL 8.0 : 애플리케이션 성능 확장성
Copyright © 2020 Oracle and/or its affiliates.
Performance Schema더 많은 성능통계항목을 디폴트로활성화, 인덱스 추가함으로 조회성능 향상
InvisibleIndexes옵티마이저로 부터 인덱스를숨겨서, 인덱스에 대한 “임시 삭제” 혹은 단계별 추가 기능
SolvingContentionFOR UPDATE 에 NOWAIT 와SKIP LOCKED 옵션으로 핫데이터에 대한 Lock의 경합을줄임
Transaction Scheduling
“Contention-Aware Transaction Scheduling” 을 InnoDB의디폴트 스케줄링 알고리즘으로성능 대폭 향상
Better CostEstimation
최신 스토리지 기술에 최적화된코스트 모델 및 메모리 버퍼 인식가능한 코스트 견적을 참고하는옵티마이저
Histograme
인덱스 없는 컬럼 데이터의통계정보를 옵티마이저에게 제공
MySQL 8.0 : 보안 강화
Copyright © 2020 Oracle and/or its affiliates.
Dynamic Privilege
더 많은 성능통계항목을 디폴트로활성화, 인덱스 추가함으로 조회성능 향상
Atomic DDL
새로운 InnoDB기반 데이터딕셔너리로 ACL 구문의 원자성 및안정성 향상
SQL Role ImplementationE사용자 및 애플리케이션 권한을더 쉽게 관리하고 SQL 표준 준수
Dynamic linking with OpenSSL
MySQL Community Edition은OpenSSL을 사용하고 모든바이너리는 동적으로 연결됨
Enhanced Password Options
암호 재사용 정책을 추가 및 더빠른 캐싱, 암호 해싱 방법 추가
TDE for Logs
테이블 스페이스 파일 외에REDO, UNDO 로그 및 바이너리로그에 대한 AES256 암호화
Transactional Data Dictionary
Copyright © 2020 Oracle and/or its affiliates.
New! MySQL의 더 강력한 아키텍처 기반
SQ
LS
QL
8.0
5.7
[root@DockerHost oracle]# ls -l /docker/docker802/worldtotal 1084-rw-r----- 1 27 27 638976 Jul 18 01:25 city.ibd-rw-r----- 1 27 27 196608 Jul 18 01:25 country.ibd-rw-r----- 1 27 27 262144 Jul 18 01:25 countrylanguage.ibd
신뢰성 향상
InnoDB로 메타데이터 관리
- No FRM files
- No DB.OPT files
- No TRG files
- No TRN files
- No PAR files
- MyISAM 없음
MySQL Enterprise Edition
Management ToolsAdvanced Features Support
• Scalability• High Availability• Authentication• Audit• Encryption + TDE• Firewall• Data Masking
• Monitoring• Backup• Development• Administration• Migration
• Technical Support• Consultative Support• Oracle Certifications
Copyright © 2019 Oracle and/or its affiliates.
MySQL Enterprise Edition
Copyright © 2020 Oracle and/or its affiliates.
• MySQL Enterprise Monitor
– Monitor Changes in Database Configurations, Users Permissions, Database Schema, Passwords
• MySQL Enterprise Backup
– Securing Backups, AES 256 encryption
• MySQL Enterprise Masking
– De-identify, Anonymize Sensitive Data
• MySQL Enterprise TDE
– AES 256 encryption, Key Management
• MySQL Enterprise Authentication
– External Authentication Modules
• MySQL Enterprise Encryption
– Public/Private Key Cryptography, Asymmetric Encryption
• MySQL Enterprise Firewall
– Block SQL Injection Attacks, Intrusion Detection
• MySQL Enterprise Audit
– User Activity Auditing, Regulatory Compliance
Copyright © 2019 Oracle and/or its affiliates.
MySQL Enterprise Edition
Copyright © 2020 Oracle and/or its affiliates.
Copyright © 2019 Oracle and/or its affiliates.
Vault API
Vault API
Vault API
KeyringPlugin
KeyringPlugin
KeyringPlugin
HashicorpVault• Hashicorp Vault
– 확장성이뛰어나고가용성이높은방식으로secrets 생성, 관리및저장
• MySQL Keyring
– Key Vaults 로/부터 key 및 secret를가져오거나보호함
– MySQL 메모리에서 keys 및다른 secrets 를보호
– TDE/At Rest 암호화가능
– OKV 및다른 KMIP 표준키볼트지원
MySQL Keyring
Copyright © 2020 Oracle and/or its affiliates.
Copyright © 2019 Oracle and/or its affiliates.
ID Last First SSN
1111 Smith John 555-12-5555
1112 Templeton Richard 444-12-4444
ID Last First SSN
2874 Smith John XXX-XX-5555
3281 Templeton Richard XXX-XX-4444
• 데이터 마스킹
– 스트링마스킹, 딕셔너리대체
• 랜덤 데이터 생성
– 범위기반, 지불카드, 이메일, SSN
• 규제 요구 사항 충족
– GDPR, HIPAA and PCI DSS
• 개발, 테스트, 분석 환경 향상
– 중요한데이터보호
MySQL Enterprise Data Masking
Copyright © 2020 Oracle and/or its affiliates.
MySQL 8.0: 업그레이드 확인
간단한 MySQL Shell 툴
- JavaScript
- Python
문제의 심각도 기반
- 문제 없음
- 잠재적인 오류
- 업그레이드 전에 반드시 변경
변경 권장
- Schema、설정
- 서버 데이터 등
업그레이드 확인
Copyright © 2020 Oracle and/or its affiliates.
MySQL as a Service
Only with MySQL Cloud Service
MySQLaaS 특징
MySQL Engineering 팀에서 개발하고 관리됨
MySQL 8.0 Enterprise Edition
Oracle Cloud Infrastructure Gen 2
24x7 Oracle Premier Support
Exclusive! MySQL Analytics Service
Copyright © 2020 Oracle and/or its affiliates.
2
Oracle Responsibility• Backup and recovery• High-availability with
automatic fail-over• Vertical and horizontal
scaling• Database and OS
patching• Monitoring and log
handling• Security with advanced
options available in MySQL Enterprise Edition
User Responsibility• Logical schema
modeling• Query design and
optimization• Define data access and
retention policies
OCI REGION
AVAILABILITY DOMAIN 1
Dev or
Admin
CUSTOMER PREMISES
MySQLaaS INTERNAL TENANCY
VIRTUAL CLOUD NETWORK (VCN)
USER TENANCY
Client App
MySQL protocol
MySQLaaS API
MYSQL DB SYSTEMS & INSTANCES
MYSQL DATABASE ENDPOINTS
VNICVNICVNIC
HTTPS
SSH
Managed MySQL: Focus on Your Business
Copyright © 2020 Oracle and/or its affiliates.
• 물리적으로 다른 위치에복제
• Auto fail-over 는내부적으로 관리됨, 사용자는 어떤 조치도 취할필요없음
• 수평적 확장을 위해 read-only replicas 추가
OCI REGION
AVAILABILITY DOMAIN 1 AVAILABILITY DOMAIN 2 AVAILABILITY DOMAIN 3
VIRTUAL CLOUD NETWORK (VCN)
ID & Access
Management
Object
Storage
(Backups)
PUBLIC IP ADDRESS
Listener
Internet
Gateway
MYSQL CLOUD SERVICE ENDPOINTS
Load Balancer
Primary
Load Balancer
Failover
BACKEND APP
VNICVNICVNIC
Elasticity & High Availability
Copyright © 2020 Oracle and/or its affiliates.
Oracle Cloud Native
OCI 플랫폼 전반에 걸쳐
통일됨
• Web Console
• Monitoring & Notification
• Logging
• Events & Audit
• Identity
• Cost Tracking
• Search
• Tags
• DevOps Tools
Copyright © 2020 Oracle and/or its affiliates.
MySQL Analytics Service
Analytics on MySQL Data
#1 오픈소스 데이타베이스인 MySQL, 하지만 분석위한 솔루션이 부족
Copyright © 2020 Oracle and/or its affiliates.
MySQL 외부에서분석작업실행
• MySQL –트랜젝션 처리에최적화됨
• 데이타 마이그레이션 요구됨
• 결국 두개의 데이타베이스를 사용해야 함
• 실시간 분석을 지원하지 않음
MySQL Analytics Service
An Oracle Cloud native service with compelling Performance per Dollar
Copyright © 2020 Oracle and/or its affiliates.
MySQL 데이타베이스와 함께 통합
• 매우 효율적인 리소스 활용
Oracle Cloud Infrastructure에 최적화됨
• GB DRAM 당 최선의 가격을 제공하는 Shape
• 메모리, 컴퓨팅, 스토리지 및 네트워크 BW에 최적화
달러 당 매우 뛰어난 성능
High scale factor는 확장할 때 더 큰 비용을 발생시킴
Interconnect
MySQL
OCI Nodes
Now Available in LA
Query Processing Integration
RAPID Node
Query Execution
Query/Job Scheduler
Setup for Execution
DBMS
SQL Execution
Users queries (unaltered)
RAPID Server
SQL Query Compiler
Query OptimizationAnalytic Pushdown
Results
Results
Copyright © 2020 Oracle and/or its affiliates.
TPCH Query Performance: ~400x Faster
Improvement over MySQL 8.0, Single Node, 512G
Q1 Q3 Q5 Q6 Q7 Q8 Q10 Q12 Q14 Q19GeoMe
an
Speedup 402.05 434.67 241.18 3127.8 42.42 247.36 669.5 1294.8 2160 34.43 393.57
1
10
100
1000
10000
Pe
rfo
rma
nce
Im
pro
ve
me
nt
Copyright © 2020 Oracle and/or its affiliates.
Scalability for TPCH: Good Scale Factor
24 servers, 64 cores each
Copyright © 2020 Oracle and/or its affiliates.
0
0.2
0.4
0.6
0.8
1
1.2
1 Node,
256G
2 Nodes,
512G
4 Nodes,
1024G
6 Nodes,
1536G
8 Nodes,
2048G
12 Nodes,
3072G
16 Nodes,
4096G
24 Nodes,
6144G
Sca
le
Ideal Scalability Current Scalability of Geomean
추가 정보
MySQL 추가정보
MySQL 8.0의 새로운 기능
https://mysqlserverteam.com/the-complete-list-of-new-features-in-mysql-8-0/
업그레이드시 주의해야 할 문제점 및 준비사항
https://dev.mysql.com/doc/refman/8.0/en/upgrade-before-you-begin.html
MySQL Shell 의 Upgrade checker에서 위의 모든 사항을 포함
https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-upgrade.html
Copyright © 2020 Oracle and/or its affiliates.