Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MySQL 8.0.1 DMR

547 views

Published on

Algumas das principais novas funcionalidades do MySQL 8.0 divulgadas até Junho de 2017.

Published in: Technology
  • Be the first to comment

MySQL 8.0.1 DMR

  1. 1. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | MySQL 8.0 Development Milestone Releases 8.0.0 e 8.0.1 Oracle Confidential – Internal/Restricted/Highly Restricted Airton Lastori Consultor MySQL airton.lastori@oracle.com jun-17
  2. 2. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | MySQL Innovation: 5.7 -> 8.0 - 3x Better Performance - Replication Enhancements - Optimizer Cost Model - JSON Support - Improved Security - Sys & Performance Schema - GIS MySQL 5.7 (GA) MySQL InnoDB Cluster (GA) - MySQL Group Replication - MySQL Router - MySQL Shell MySQL 8.0 (DMR) - Data Dictionary - Roles - Unicode - CTEs - Window Functions - Security - Replication - SysSchema - GIS
  3. 3. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | “The demand for database administrators and developers is much higher than the current supply, as well, leading to lots of open positions.” https://stackoverflow.blog/2017/03/09 /developer-hiring-trends-2017/ Oracle Confidential – Internal/Restricted/Highly Restricted 3
  4. 4. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | MySQL 5.7 – Improvements across the board • Replication • InnoDB • Optimizer • Security • Performance Schema • GIS • Triggers • Partitioning • New! SYS Schema • New! JSON • Performance 4
  5. 5. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 5 MySQL InnoDB Cluster: Vision “A single product — MySQL — with high availability and scaling features baked in; providing an integrated end-to-end solution that is easy to use.”
  6. 6. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Principais features até DMR 8.0.1 1. Data Dictionary 2. Cloud-friendly Operations 3. Roles 4. CTEs 5. Window Functions 6. More for Developers 7. GIS 8. Security 9. Replication 10.InnoDB Cluster Goals
  7. 7. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 1. Transactional Data Dictionary • Increased Reliability • Using InnoDB internally for data dictionary – No FRM files – No DB.OPT files – No TRG files – No TRN files – No PAR files • MySQL 8.0 default install no longer contains MyISAM tables. 7
  8. 8. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 1. Transactional Data Dictionary • Better cross-platform experience – No dependencies on filesystem semantics • Atomic DDL – Better Replication – Simplifies server edge cases • MDL for Foreign Keys • Flexible Metadata API – Easier path to adding new features 8 Additional Benefits
  9. 9. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 2. Persist Configuration • Persist GLOBAL Server Variables – SET PERSIST max_connections = 500; • Examples Include: – Offline_mode – Read_Only • Requires no filesystem access • New! Includes timestamp and change user 9 Cloud Friendly
  10. 10. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 2. Variables Info 10 Find the source of variables changed on your installation SELECT * FROM performance_schema.variables_info WHERE variable_source != 'COMPILED'; +------------------------+-----------------+--------------------+-----------+-----------+---------------------+----------+-----------+ | VARIABLE_NAME | VARIABLE_SOURCE | VARIABLE_PATH | MIN_VALUE | MAX_VALUE | SET_TIME | SET_USER | SET_HOST | +------------------------+-----------------+--------------------+-----------+-----------+---------------------+----------+-----------+ | autocommit | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | basedir | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | bind_address | EXPLICIT | [..]my.sandbox.cnf | 0 | 0 | 2017-04-16 21:08:11 | | | | character_set_client | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | character_set_results | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | collation_connection | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | datadir | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | foreign_key_checks | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | log_error | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | lower_case_table_names | EXPLICIT | [..]my.sandbox.cnf | 0 | 2 | 2017-04-16 21:08:11 | | | | pid_file | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | plugin_dir | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | port | COMMAND_LINE | | 0 | 65535 | 2017-04-16 21:08:11 | | | | socket | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | sql_mode | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | sql_notes | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | time_zone | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | tmpdir | EXPLICIT | [..]my.sandbox.cnf | 0 | 0 | 2017-04-16 21:08:11 | | | | unique_checks | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | +------------------------+-----------------+--------------------+-----------+-----------+---------------------+----------+-----------+ 19 rows in set (0.00 sec) Cloud Friendly
  11. 11. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 3. MySQL Roles Improving MySQL Access Controls • Easier to manage user and applications rights • As standards compliant as practically possible • Multiple default roles • Can export the role graph in GraphML 11 Feature Request from DBAs Directly Indirectly Set Role(s) Default Role(s) Set of ACLS Set of ACLS
  12. 12. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 4. Common Table Expressions • “With queries” • Both Recursive and Non-Recursive Forms • Simplifies writing complex SQL: WITH t1 AS (SELECT * FROM tblA WHERE a=‘b’) SELECT * FROM t1; 12 Feature Request from Developers
  13. 13. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 4. Recursive CTE • A recursive CTE refers to itself in a subquery • The “seed” SELECT is executed once to create the initial data subset, the recursive SELECT is repeatedly executed to return subsets of data until the complete result set is obtained. • Useful to dig in hierarchies (parent/child, part/subpart) • Similar to Oracle's CONNECT BY 13 WITH RECURSIVE cte AS ( SELECT ... FROM table_name /* "seed" SELECT */ UNION ALL SELECT ... FROM cte, table_name) /* "recursive" SELECT */ SELECT ... FROM cte;/
  14. 14. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 14 Print 1 to 10 4. Recursive CTE (Example) a 1 2 3 4 5 6 7 8 9 10 WITH RECURSIVE qn AS ( SELECT 1 AS a UNION ALL SELECT 1+a FROM qn WHERE a<10 ) SELECT * FROM qn;
  15. 15. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 5. Window Functions 15 Feature Request from Developers SELECT name, department_id, salary, SUM(salary) OVER (PARTITION BY department_id) AS department_total FROM employee ORDER BY department_id, name;
  16. 16. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. utfmb4 as default character set • Support for the latest Unicode 9.0 • Accent and case sensitive collations • Language specific collations • including Japanese • Performance Optimization 16 +300-350% in OLTP RO +176-233% in OLTP RW +1500-1800% in SELECT DISTINCT_RANGES Feature Request from Developers
  17. 17. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. Continuing the JSON Developer Experience • MySQL Document Store – Document collections – Relational tables – Combine them as you like • Administer MySQL via the MySQL Shell – One stop DevOps tool for MySQL – Out of the Box HA – Use your preferred language: SQL, JavaScript, Python, … – Relational or Document 17 Feature Request from Developers
  18. 18. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. UUID and Bit-wise Improvements • Functions to convert UUID to and from binary: – UUID_TO_BIN() – BIN_TO_UUID() – plus IS_UUID() • Bit-wise operations on binary data types • Bit-wise operations on binary data types – Designed with IPv6 in mind: – INET6_ATON(address) & INET6_ATON(network) 18 Feature Request from Developers
  19. 19. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. UUID_TO_BIN Optimization 19 24.75 25.5 26.25 27. 27.75 28.5 29.25 Insert Performance Optimized Original • Binary format is now smaller and insert-order efficient: 11e678fe53303f87a4778c89a52c4f3b 53303f87-78fe-11e6-a477-8c89a52c4f3bFrom VARCHAR(36) To VARBINARY(16) Feature Request from Developers
  20. 20. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. MySQL 8.0: Better Handing of Hot Rows 20 SELECT seat_no FROM seats JOIN seat_rows USING ( row_no ) WHERE seat_no IN (3,4) AND seat_rows.row_no IN (12) AND booked = 'NO' FOR UPDATE OF seats SKIP LOCKED FOR SHARE OF seat_rows NOWAIT; Non deterministically skip over locked rows Error immediately if a row is already locked Feature Request from Developers
  21. 21. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 7. GIS • Geography support • st_distance() • Spatial Reference Systems (SRS) Support • SQL/MM Information Schema views • Standard compliant axis ordering in import/export functions • Helper functions to manipulate and convert data: • st_x(geom, x) • st_y(geom, y) • st_srid(geom, srid) 21
  22. 22. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 9. MySQL 8.0 Parallel Replication 22 Production Workload #1 Production Workload #2 4x Improvement on single-threaded!
  23. 23. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | • One Product: MySQL – All components created together – Tested together – Packaged together • Easy to Use – One client: MySQL Shell – Easy packaging – Integrated orchestration – Homogenous servers • Flexible and Modern – SQL and NoSQL together – Protocol Buffers – Asynchronous API – Developer friendly • Support Read/Write Scale Out – Sharded clusters – Federated system of N replica sets • Supporting cross shard operations – Each replica set manages a shard 23 10. MySQL InnoDB Cluster Goals
  24. 24. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | All these features plus… • Source code now documented with Doxygen • Plugin Infrastructure! • Expanded GIS Support • Expanded Query Hints Support • Improved Scan Query Performance • Improved BLOB Storage • Improved Memcached Interface • Cost Model Improvements • Scalability Improvements • Atomicity in Privileges • Parser Refactoring • Improvements to Temporary Tables • C++11 and Toolchain Improvements • GTID_PURGED always settable • Persistent Auto Increment • Native InnoDB Data dictionary • Improved Information Schema performance • New! SQL Grouping Function • New! Optimizer Trace detailed sort statistics • New! Descending Indexes • New! Smaller Package Downloads • New! JSON Aggregate, Pretty print functions • New! JSON performance improvements • New! Expanded Query Hints • New! Improved usability of cost constant configuration • Group Replication in 8.0 • New! Transaction Save Point support in Group Replication • New! Improved Replication Applier Lag Statistics in Performance Schema • New! Per Multi-source Channel Replication Filters • New! Atomic DDL extended to the Binary Log • New! Performance Improvements on the Replication Applier • New! Parallel Replication Applier Policy • New! Binary Log Management Enhancements • New! Additional Metadata Into the Binary Log
  25. 25. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Referências Oracle Confidential – Internal/Restricted/Highly Restricted 25
  26. 26. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 26
  27. 27. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 27
  28. 28. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 28
  29. 29. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Obrigado! airton.lastori@oracle.com
  30. 30. Oracle Confidential – Internal/Restricted/Highly Restricted30

×