twjug august, what's new in mysql 5.7 rc
TRANSCRIPT
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
What's new in MySQL 5.7
Ryusuke Kajiyama / 梶山隆輔 / @RKajiyama MySQL Sales ConsulNng Senior Manager, Asia Pacific & Japan
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement The following is intended to outline our general product direcNon. It is intended for informaNon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcNonality, and should not be relied upon in making purchasing decisions. The development, release, and Nming of any features or funcNonality described for Oracle’s products remains at the sole discreNon of Oracle.
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
A Year of Anniversaries!
20 Years: MySQL
10 Years: Oracle stewardship of InnoDB 5 Years: Oracle stewardship of MySQL
Thank You, MySQL Community, for 20 years of ContribuNons to MySQL!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 6
4.0 Full Text Search/GIS (MyISAM) MulN-‐table UPDATE/DELETE libmysqld (embedded MySQL)
Oracle MySQL Sun
3.23 MyISAM InnoDB ReplicaNon
5.1 Pluggable Storage Engine ParNNoning Task Scheduler
5.6 memcached API UNDO Tablespace Global TransacNon ID MulN Thread Slave Online ALTER TABLE Transportable Tablespace
5.5 InnoDB as Default Semi-‐sync ReplicaNon PERFORMANCE_SCHEMA
1.0-‐3.22 Storage Engine (ISAM, HEAP) MulN Thread Windows ready/64bit Character sets (SJIS/UJIS)
5.0 Stored Procedures Stored FuncNons Cursors/Triggers/Views XA TransacNons INFORMATION_SCHEMA
4.1 Unicode Subquery CSV, ARCHIVE ndbcluster
1995 2000 2005 2010 2015
5.7+ New OpNmizer Cost Model Loss-‐Less ReplicaNon MulN Source ReplicaNon Group RplicaNon CJK Full Text Search/GIS (InnoDB) Enhanced Security Data DicNonary NoSQL OpNons
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Performance – Read-‐Only TransacNon – SSD OpNmizaNons – UNDO Tablespace – Faster Subqueries – JSON EXPLAIN – Memcached API
• Availability – Global TransacNon ID – Auto Failover – MulN Thread Slave – Binlog Group Commit – OpNmized Row-‐Based ReplicaNon
– Crash-‐safe Slave – ReplicaNon Checksum
7
• OperaNons – Online ALTER TABLE – Dump and Import of InnoDB Buffer Pool
– Transportable Tablespace – Enhanced Security
• Password Policy • SHA256 • Password ExpiraNon
What's new in MySQL5.6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7 Release Candidate Available!
8
Enhanced InnoDB: faster online & bulk load operaNons
ReplicaNon Improvements (incl. mulN-‐source, mulN-‐threaded slaves...)
New OpNmizer Cost Model: greater user control & berer query performance
Performance Schema Improvements
MySQL SYS Schema
Performance & Scalability Manageability
2 X Faster than MySQL 5.6
Improved Security: safer iniNalizaNon, setup & management
NEW! JSON Support (now in labs)
RC
And many more new features and enhancements... hrp://mysqlserverteam.com/the-‐mysql-‐5-‐7-‐7-‐release-‐candidate-‐is-‐available/
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: Improvements Leading up to RC1 • InnoDB for berer transacNonal throughput, availability, IO • ReplicaDon for berer scalability and availability • Fabric for high availability and sharding • Performance Schema for new and improved performance metrics • OpDmizer for berer EXPLAINing, parsing, query performance • GIS with naNve InnoDB spaNal indexes and Boost.Geometry integraNon • Security with easier, safer instance iniNalizaNon, setup and management
Available Now! dev.mysql.com/downloads/mysql/
9
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
0
100,000
200,000
300,000
400,000
500,000
600,000
700,000
8 16 32 64 128 256 512 1,024
Que
ries p
er Secon
d
ConnecDons
MySQL 5.7: Sysbench Read Only (Point Select)
MySQL 5.7
MySQL 5.6
MySQL 5.5
MySQL 5.7: Sysbench: Read Only
Intel(R) Xeon(R) CPU E7-‐4860 x86_64 4 sockets x 10 cores-‐HT (80 CPU threads) 2.3 GHz, 512 GB RAM Oracle Linux 6.5
2x Faster than MySQL 5.6 3x Faster than MySQL 5.5
645,000 QPS
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: InnoDB, NoSQL With Memcached 6x Faster than MySQL 5.6 Thank you, Facebook
0
200,000
400,000
600,000
800,000
1,000,000
1,200,000
8 16 32 64 128 256 512 1,024
Que
ries p
er Secon
d
ConnecDons
MySQL 5.7 vs 5.6 -‐ InnoDB & Memcached
MySQL 5.7
MySQL 5.6
1 Million QPS
Intel(R) Xeon(R) CPU E7-‐4860 x86_64 4 sockets x 10 cores-‐HT (80 CPU threads) 2.3 GHz, 512 GB RAM Oracle Linux 6.5
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7 Parser & OpNmizer Refactoring
OpNmizer
Logical transformaNons
Cost-‐based opNmizer: Join order and access methods
Plan refinement
Query execuNon plan
Query execuNon
Parser
Resolver: SemanNc check,name resoluNon
SQL DML query
Query result
Storage Engine InnoDB MyISAM
Improves readability, maintainability and stability
– Cleanly separate the parsing, opNmizing, and execuNon stages
– Allows for easier feature addiNons, with lessened risk
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: Parser Refactoring • Challenge:
– Overly complex, hard to add new syntax
• SoluNon: – Create an internal parse tree borom-‐up – Create an AST (Abstract Syntax Tree) from the parse tree and the user's context.
– Have syntax rules that are more precisely defined and are closer to the SQL standard.
– More precise error messages – Berer support for larger syntax rules in the future
Resolver
Optimizer
SE
Lexical Scanner (lexer)
GNU Bison-generated Parser (bottom-up parsing style)
Contextualization
Parser (new)
Executor
AST
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• OpNmizer and Parser refactoring – Improves readability, maintainability and stability
– Cleanly separate the parsing, opNmizing, and execuNon stages
– Allows for easier feature addiNons, with lessened risk
• New hint framework – Easier to manage – With support for addiNonal new hints
• Improved JSON EXPLAIN • EXPLAIN for running thread
• New Cost based OpNmizer • Generated Columns
• Support for InnoDB based internal temp tables
• Berer ONLY_FULL_GROUP_BY mode
• Berer support for InnoDB & GIS • Many specific new opNmizaNons
Queries execute faster, while using less CPU and disk space!
MySQL 5.7: OpNmizer Improvements
14
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7 OpNmizer: New Cost Model • More accurate cost esNmates
– Berer decisions by the opNmizer should improve query performance
• Adapt to new hardware architectures – SSDs, larger memory sizes, improved caches
• More maintainable cost model implementaNon – Avoid hard coded “cost constants” – Refactoring of exisNng cost model code
• Configurable and tunable – mysql.server_cost and mysql.engine_cost tables – API for determining where data resides: on disk or in cache
15
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: Query Rewrite Plugin • New pre and post parse query rewrite APIs
– Users can write their own plug-‐ins • Provides a post-‐parse query plugin
– Rewrite problemaNc queries without the need to make applicaNon changes – Add hints – Modify join order – Many more …
• Improve problemaNc queries from ORMs, third party apps, etc • Eliminates many legacy use cases for proxies
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: OpNmizer -‐ Cost Info in JSON EXPLAIN • Expanded JSON EXPLAIN
– Now includes all available cost info – Used for Visual Explain In MySQL Workbench
17
{ "query_block": { "select_id": 1, "cost_info": { "query_cost": "200.40" }, "table": { "table_name": "nicer_but_slower_film_list", "access_type": "ALL", "rows_examined_per_scan": 992, "rows_produced_per_join": 992, "filtered": 100, "cost_info": { "read_cost": "2.00", "eval_cost": "198.40", "prefix_cost": "200.40", "data_read_per_join": "852K" }, "used_columns": [ "FID", "title", "description", "category", "price", "length", "rating", "actors" ], ...
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Memory InstrumentaDon • Aggregates staNsNcs by
– Type of memory used (caches, internal buffers, …)
– Thread/account/user/host indirectly performing the memory operaNon
• Arributes include – Memory used (bytes) – OperaNon counts – High/Low Water Marks
Statement InstrumentaDon • Stored Procedures • Stored FuncNons • Prepared Statements
• TransacNons
AddiDonal InformaDon • ReplicaNon slave status • MDL lock instrumentaNon
• Status and variables per thread
• Server stage tracking • Track long running SQL • Improved configuraNon and ease-‐of-‐use
• All while reducing total footprint and overhead
MySQL 5.7: Performance Schema
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Plugin for MySQL • Server Plugin adds HTTP(S) endpoints to MySQL • Results are serialized to JSON format encoded as UTF8 • Provides 3 choices of User Endpoint Types
– SQL – CRUD -‐ Key-‐Value – JSON -‐ Document
• For more details; hrp://www.slideshare.net/nixnutz/hrp-‐plugin-‐for-‐mysql-‐39598656
19
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Plugin for MySQL The SQL endpoint and JSON
shell> curl --user basic_auth_user:basic_auth_passwd --url "http://127.0.0.1:8080/sql/db/SELECT+1” [ { "meta":[ {"type":8,"catalog":"def","database":"","table":"”, "org_table":"","column":"1","org_column":"","charset":63, "length":1,"flags":129,"decimals":0} ], "data":[ ["1"] ], "status":[{"server_status":2,"warning_count":0}] } ]
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Plugin for MySQL -‐ IniNal version • HTTP Basic AuthenNcaNon for SSL and Non-‐SSL • No query cache support • No commercial thread pool plugin support • Not all MySQL pluggable auth methods supported • Unlimited: all SQL statements • Unlimited: everything the server returns
21
shell> curl --user basic_auth_user:basic_auth_passwd --url "http://.../sql/db/SELECT+col_float+FROM+sql_types"
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Plugin for MySQL GET = SELECT
shell> curl ... --url "http://../crud/db/sql_types/1" { "id" : "1", "col_char" : "CHAR(127)" , "col_null" : null, "col_date" : "2014-12-23", "col_decimal" : "123.45", "col_float" : "0.9999", "col_bigint" : "9223372036854775807" } shell> curl ... --url 'http://../crud/db/simple/' { "errno" : 2000, "error" : "The request URL must include a primary key value” }
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL Binlog Events Formerly known as Binlog API
• C++ library for reading Binary log • Can read binary log from server or from file
– One transport for each kind of source – Currently have file and mysql transport
• Decode binary log events – Contain code to decode the events
• Event Driven API
23
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: JSON • OpNmized for read intensive workload • NaNve JSON data types
– NaNve internal binary format for efficient processing & storage
• Built-‐in JSON funcNons – Allowing you to efficiently store, search, update, and manipulate Documents
• JSON Comparator – Allows for easy integraNon of Document data within your SQL queries
• Indexing of Documents using Generated Columns – InnoDB supports indexes on both stored and virtual Generated Columns – New expression analyzer automaNcally uses the best “funcNonal” index available
24
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: JSON
25
mysql> CREATE TABLE employees (data JSON); Query OK, 0 rows affected (0,01 sec) mysql> INSERT INTO employees VALUES ('{"id": 1, "name": "Jane"}'); Query OK, 1 row affected (0,00 sec) mysql> INSERT INTO employees VALUES ('{"id": 2, "name": "Joe"}'); Query OK, 1 row affected (0,00 sec) mysql> select * from employees; +---------------------------+ | data | +---------------------------+ | {"id": 1, "name": "Jane"} | | {"id": 2, "name": "Joe"} | +---------------------------+ 2 rows in set (0,00 sec)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: JSON • Document ValidaNon
– on insert only
• Efficient Access
26
mysql> INSERT INTO employees VALUES ('some random text'); ERROR 3130 (22032): Invalid JSON text: "Expect a value here." at position 0 in value (or column) 'some random text'.
mysql> select jsn_extract(data, '$.name') from employees; +-----------------------------+ | jsn_extract(data, '$.name') | +-----------------------------+ | "Jane" | | "Joe" | +-----------------------------+ 2 rows in set (0,00 sec)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• jsn_array() – Build a JSON array from list of expressions
• jsn_object() – Builds JSON objects from a variable length list of key/value pairs
• jsn_insert() – Adds 'missing' data to JSON documents
• jsn_remove() – Removes arributes from exisNng JSON documents
• jsn_set() – Sets arributes within JSON documents
• jsn_replace() – Replaces (but doesn't add) arributes within JSON documents
• jsn_append() – Adds a value to the end of an array
• jsn_merge() – Merges two arrays
• jsn_extract() – Returns a value nested inside of a JSON document
27
JSON FuncNons for CreaNng & ManipulaNng JSON Documents
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• jsn_search() – Search for values within JSON documents and return their locaNons
• jsn_contains() – Checks for a specific element and value
• jsn_contains_path() – Determine if a specific element is present in a document in a specific posiNon
• jsn_valid() – Check if document is a valid JSON document
• jsn_type() – Find the type of a value within a document
• jsn_keys() – Returns arrays of the key names for the JSON documents
• jsn_length() – Number of elements in JSON document
• jsn_depth() – Level of nesNng in JSON document
• jsn_unquote() – Helps move from JSON to other MySQL types
• jsn_quote() – Helps move from other MySQL types to JSON
28
Query and Search JSON FuncNons
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Generated Columns
• Virtual Generated Column – Generated on the fly when the column is read – Can be indexed
• Stored Generated Column – Generated when the referenced column is wriren to – Can be indexed mysql> ALTER TABLE employees ADD name VARCHAR(100) GENERATED ALWAYS AS(jsn_extract(info, '$.name')) VIRTUAL; mysql> ALTER TABLE employees ADD INDEX(name); hrp://mysqlserverteam.com/
Digging into your Documents
labs.mysql.com
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Save memory/storage and simplify applicaNon – Joins between Documents
• Normalize data where it makes sense
– Foreign Keys between Documents – Update mulNple Documents in a single atomic transacNon
• Leverage all of your data – Read/write Document and relaNonal data in a single query/transacNon
• 20 years of product maturity
30
So Just Another Document Store?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: SYS Schema Helper objects for DBAs, Developers and OperaDons staff • Helps simplify DBA / Ops tasks -‐ Monitor server health, user, host staNsNcs -‐ Spot, diagnose, and tune performance issues
• Easy to understand views with insights into -‐ IO hot spots, Locking, Costly SQL statements -‐ Schema, table and index staNsNcs
• SYS is similar to -‐ Oracle V$ catalog views -‐ Microso{ SQL DMVs (Dynamic Mgmnt Views)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Replaced custom code with Boost.Geometry – For spaNal calculaNons – For spaNal analysis – Enabling full OGC compliance – We’re also Boost.Geometry contributors!
• InnoDB R-‐tree based spaNal indexes – Full ACID, MVCC, & transacNonal support – Index records contain minimum bounding box
• GeoHash • GeoJSON • Helper funcNons such as ST_Distance_Sphere() and ST_MakeEnvelope()
MySQL 5.7: GIS Improvements
32
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• NaNve ParNNoning – Eliminates previous limitaNons – Eliminates resource usage problems – Transportable tablespace support
• NaNve Full-‐Text Search – Including full CJK support!
• NaNve SpaNal Indexes • Transparent page compression
• Support for 32K and 64K pages – Use with transparent page compression for very high compression raNos
• General TABLESPACE support – Store mulNple tables in user defined shared tablespaces
• Support for MySQL Group ReplicaNon – High priority transacNons
• Improved support for cache preloading – Load your horest data loaded at startup
• Configurable fill-‐factor – Allows for improvements in storage footprint
• Improved bulk-‐data load performance
MySQL 5.7: InnoDB Improvements
33
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: InnoDB – Always Online • Resize the InnoDB Buffer Pool online
– Allows DBAs to tune the buffer size without any downNme – Adapt in real-‐Nme to changes in database usage parerns
• Separate UNDO tablespace – With automaNc online truncaNon
• AddiNonal Online ALTER TABLE support – Enlarge VARCHAR, Rename Index
• Dynamic configuraNon – Making exisNng se}ngs dynamically configurable – As a design principle for new features & se}ngs
34
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: InnoDB -‐ Bulk Load for Create Index • Much faster INDEX creaNon and bulk loads • Sorted index builds, done from the borom-‐up
– Improves speed by increasing locality and decreasing node spli}ng
• Pages are compressed only when full • New innodb_fill_factor opNon controls free space le{ in each page • Performance results show
– 2-‐3x performance improvement for ADD/CREATE INDEX operaNons • Up to 500x improvement with larger -‐-‐innodb_sort_buffer_size values
– 2-‐5% improvement for standard INSERT operaNons
35
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: InnoDB Temporary Tables • New separate tablespace for temporary tables
– Improved CREATE/DROP performance – DDL changes are transient, which eliminates some disk IO
• OpNmize DML operaNons – No REDO logging, no change buffering, less locking
• New intrinsic temporary tables – Specialized temporary tables with tailored ACID/MVCC semanNcs – Light weight and ultra-‐fast, great for intermediate query execuNon operaNons
• InnoDB as default storage engine for disk based temp tables – OpNmizer switched from MyISAM to InnoDB (faster) for internal temp tables
36
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: InnoDB Full-‐Text CJK Support • Two new Full-‐Text Parser plugins • N-‐gram parser supports Chinese, Japanese, & Korean
– Supports all ideographic languages that do not use word delimiters
• MeCab parser supports Japanese – NaNve Japanese focused language support
• Easily customized – Token sizes, stop words, …
• Supports advanced searches – BOOLEAN MODE, NATURAL LANGUAGE MODE, with Ranking
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
EAF: InnoDB Compression Thank you, SanDisk Fusion-‐io
• Transparent Page Level Compression – Happens transparently in background threads – Managed enNrely within the IO layer – Uses sparse file and "hole punching" support in OS kernels and File Systems
• Reduces IO – Improves MySQL performance – Improves storage efficiency – Reduces write cycles, thus increasing SSD lifespan
• Applies to all InnoDB data, including the system tablespace and UNDO logs
38
labs.mysql.com
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: Syslog Support for Linux/Unix pla�orms
• NaNve support for syslog • Simple opNon to (re)direct log output to naNve syslog facility • Start-‐up server configuraNon opNon • Dynamically in the running server
– System variable log_syslog (ON/OFF, defaults to OFF).
Thank you, Simon Mudd at booking.com
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: Security -‐ EncrypNon, Passwords, InstallaNon • AES 256 EncrypNon
– Default in MySQL 5.7
• Password rotaNon policies – Can be set globally, and at the user level
• Deployment: enable secure unarended install by default – Random password set on install – Remove anonymous accounts – Deployment without test account, schema, demo files
• Easier instance iniNalizaNon and setup: mysqld –iniNalize • New detecNon and support for systemd
40
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: Security – SSL, Proxy User • SSL
– Enabled by default – Auto-‐detecNon of exisNng keys and certs – Auto generaNon of keys and certs when needed – New helper uNlity: mysql_ssl_rsa_setup
• Extended Proxy User Support – Added Built-‐in AuthenNcaNon Plugins support for Proxy Users – Allows mulNple users to share a single set of managed privileges
41
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• GTID enhancements – On-‐line, phased deployment of GTIDs – Binary logging on slave now opNonal
• Enhanced Semi-‐synchronous replicaNon – Write guaranteed to be received by slave before being observed by clients of the master
– OpNon to wait on Acks from mulNple slaves
• MulN-‐Source ReplicaNon – Consolidate updates from mulNple Masters into one Slave
• Dynamic slave filters
• 8-‐10x Faster slave throughput – O{en removes slave as a borleneck; keep pace with master with 8+ slave threads
– OpNon to preserve Commit order – AutomaNc slave transacNon retries
MySQL 5.7: ReplicaNon Improvements
42
0%#
50%#
100%#
150%#
200%#
250%#
1# 8# 24# 48#Slave#Threads#
Slave#throughput#vs.#96#Thread#Master#
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• MulN-‐Source ReplicaNon – Consolidate updates from mulNple Masters into one Slave • Consolidated view of all shards • More flexible topologies • Centralized point for backups
– CompaNble with Semi-‐Sync ReplicaNon & enhanced MTS
• Performance Schema tables for monitoring slave
• Online OperaNons: Dynamic ReplicaNon Filters, switch master
MySQL 5.7: ReplicaNon Improvements
Binlog
Master 1
Binlog
Master 2
…
…
Binlog
Master N
IO 1
Relay 1
Coordinator
W1 W2 … WX
IO 2
Relay 2
Coordinator
W1 W2 … WX
…
…
Coordinator
W1 W2 … WX
IO N
Relay N
Coordinator
W1 W2 … WX
Slave
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• MulN-‐master update anywhere – Conflict detecNon and resoluNon (transacNon rollback) – OpNmisNc State Machine ReplicaNon
• AutomaNc group membership management and failure detecNon – No need for server fail-‐over – ElasNc scale out/in – No single point of failure – AutomaNc reconfiguraNon
• Well integrated – InnoDB – GTID-‐based replicaNon – PERFORMANCE_SCHEMA
EAF: Group ReplicaNon
ApplicaNon
MySQL Masters ReplicaNon Plugin
API
MySQL Server
Group Comms
labs.mysql.com
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL Fabric 1.5
• High Availability – Server monitoring with auto-‐promoNon and transparent applicaNon failover
• OpNonally scale-‐out through sharding – ApplicaNon provides shard key – Range or Hash – Tools for resharding – Global updates & tables
• Fabric-‐aware connectors rather than proxy: Python, Java, PHP, .NET, C (labs) – Lower latency, borleneck-‐free
• Server provisioning using OpenStack etc.
High Availability + Sharding-‐Based Scale-‐out
MySQL Fabric
Connector
ApplicaNon
Read-‐slaves
mappings
SQL
HA group
Read-‐slaves
HA group
Connector
ApplicaNon
GA
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL Workbench 6.3 • Fabric
– Add node, browse, view, connect • Performance Dashboard
– Performance Schema Reports & Graphs
• Visual Explain • GIS Viewer • MigraNon
– New Microso{ Access – Microso{ SQL Server, Sybase, PostgreSQL, SQLite
GA
46
• New Easy to Use Wizards for – Fast Data MigraNon – Table<-‐>File Data Import/Export (like Excel) – SSL CerNficate CreaNon
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL on Windows • MySQL Installer for Windows • MySQL Workbench
• MySQL MigraNon Wizard – Microso{ SQL Server – Microso{ Access
• MySQL for Visual Studio
• MySQL for Excel
• MySQL NoNfier
• MySQL Connector/.Net
• MySQL Connector/ODBC
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL Repos • DistribuNons
– Oracle, Red Hat, CentOS – Fedora – Ubuntu, Debian – SUSE
• Official MySQL Docker Image from Oracle
• Coming Soon – Preconfigured Containers – Improved support for popular DevOps deployment tools
hrps://dev.mysql.com/downloads/repo
MySQL on GitHub • Git for MySQL Engineering
– Fast, flexible and great for a distributed team – Great tooling – Large and vibrant community
• GitHub for MySQL Community – Easy and fast code availability to the community and to downstream projects
– New Pull Requests hrps://github.com/mysql
48
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: AddiNonal Info • hrp://mysqlserverteam.com/whats-‐new-‐in-‐mysql-‐5-‐7-‐first-‐release-‐candidate/ • hrp://mysqlserverteam.com/json-‐labs-‐release-‐overview/
• hrp://mysqlserverteam.com/?s=query+rewrite
• hrp://mysqlserverteam.com/category/performance/opNmizer/
• hrp://mysqlserverteam.com/category/innodb/
• hrp://mysqlserverteam.com/category/mysql/performance-‐schema/
• hrp://mysqlserverteam.com/category/gis/
• hrp://mysqlserverteam.com/category/full-‐text-‐search/
• hrp://mysqlserverteam.com/category/dicNonary/
• hrp://dev.mysql.com/doc/refman/5.7/en/
49