Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Dive into the Latest Developments Andrew clusterdb.com.

Slides:



Advertisements
Similar presentations
Enhancing Productivity with MySQL 5.6 New Features
Advertisements

High Availability Group 08: Võ Đức Vĩnh Nguyễn Quang Vũ
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | New Data Dictionary: An Internal Server API That Matters Alexander Nozdrin, Principle.
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
1 © Copyright 2010 EMC Corporation. All rights reserved. EMC RecoverPoint/Cluster Enabler for Microsoft Failover Cluster.
Features Scalability Availability Latency Lifecycle Data Integrity Portability Manage Services Deliver Features Faster Create Business Value.
© 2011 Citrusleaf. All rights reserved.1 A Real-Time NoSQL DB That Preserves ACID Citrusleaf Srini V. Srinivasan Brian Bulkowski VLDB, 09/01/11.
Keith Burns Microsoft UK Mission Critical Database.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle SQL Developer What’s New in Version 4.1 Jeff Smith
Presentation by Krishna
Microsoft SQL Server x 46% 900+ For Hosting Service Providers
Turbocharge Your SAP Environment on Oracle SuperCluster [THT11481]
CON Software-Defined Networking in a Hybrid, Open Data Center Krishna Srinivasan Senior Principal Product Strategy Manager Oracle Virtual Networking.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2 Hidden Gems of APEX David Gale Software Engineer Oracle Application Express November,
The Safe Harbor The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated.
HOL9396: Oracle Event Processing 12c
Best Practices for Supporting Oracle Hyperion EPM and Business Intelligence Solutions Mitra Veluri Senior Principal Technical Support Engineer David Valociek.
Best Practices for Upgrading Oracle PeopleSoft Environments
Oracle Database 12c Data Protection and Multitenancy on Oracle Solaris 11 Xiaosong Zhu Senior Software Engineer Copyright © 2014, Oracle and/or its affiliates.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Amit Jha Project Leader, Product Management Oracle EBS Procurement & Contracts.
1© Copyright 2011 EMC Corporation. All rights reserved. EMC RECOVERPOINT/ CLUSTER ENABLER FOR MICROSOFT FAILOVER CLUSTER.
Module 14: Scalability and High Availability. Overview Key high availability features available in Oracle and SQL Server Key scalability features available.
Passage Three Introduction to Microsoft SQL Server 2000.
© 2009 Oracle Corporation. S : Slash Storage Costs with Oracle Automatic Storage Management Ara Vagharshakian ASM Product Manager – Oracle Product.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1 Preview of Oracle Database 12 c In-Memory Option Thomas Kyte
Getting Started with Oracle Compute Cloud
1 Copyright 2008 MySQL AB The World’s Most Popular Open Source Database MySQL Enterprise for SaaS and Managed Hosting Providers Jimmy Guerrero Sr Product.
Word Wide Cache Distributed Caching for the Distributed Enterprise.
Chapter 10 : Designing a SQL Server 2005 Solution for High Availability MCITP Administrator: Microsoft SQL Server 2005 Database Server Infrastructure Design.
Overview of SQL Server Alka Arora.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
MySQL Cluster for Real Time, HA Services Bill Papp Principal MySQL Sales Consultant Oracle.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Reporting from Contract.
A New IMS-Like Architecture for Enterprise Applications Reid Stidolph Master Principle Solutions Architect Communications Global Business Unit October.
Sofia, Bulgaria | 9-10 October SQL Server 2005 High Availability for developers Vladimir Tchalkov Crossroad Ltd. Vladimir Tchalkov Crossroad Ltd.
© 2009 Oracle Corporation. S : Oracle Database 11g Release 2 First Experiences Plamen Zyumbyulev, Mobiltel Philip Newlan, Oracle RAC Pack.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.21 st September
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Improving Agility in Product Development and Pricing to Gain a Competitive Edge.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. An Auto-Join Network of Things Wong, H. and Wesson, B. Oracle Confidential – Internal/Restricted/Highly.
Goodbye rows and tables, hello documents and collections.
Hadoop 2 cluster with Oracle Solaris Zones, ZFS and unified archives Orgad Kimchi - Principal Software Engineer September 29, 2014 Oracle Confidential.
DBSQL 14-1 Copyright © Genetic Computer School 2009 Chapter 14 Microsoft SQL Server.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Contract Management.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
IMDGs An essential part of your architecture. About me
Copyright 2006 MySQL AB The World’s Most Popular Open Source Database MySQL Cluster: An introduction Geert Vanderkelen MySQL AB.
CON Software-Defined Networking in a Hybrid, Open Data Center Krishna Srinivasan Senior Principal Product Strategy Manager Oracle Virtual Networking.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Rajesh Bhat Director, PLM Analytics Applications
Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.
Oracle SIS and Sakai Integration Linda Feng, Architect Oracle Academic Enterprise Initiative.
Introduction to MySQL  Working with MySQL and MySQL Workbench.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
3 Copyright © 2006, Oracle. All rights reserved. Designing and Developing for Performance.
CON8473 – Oracle Distribution of OpenStack Ronen Kofman Director of Product Management Oracle OpenStack September, 2014 Copyright © 2014, Oracle and/or.
The Holmes Platform and Applications
Data Platform and Analytics Foundational Training
Data Platform and Analytics Foundational Training
Business Critical Application Platform
Maximum Availability Architecture Enterprise Technology Centre.
A Technical Overview of Microsoft® SQL Server™ 2005 High Availability Beta 2 Matthew Stephen IT Pro Evangelist (SQL Server)
Choosing a MySQL Replication & High Availability Solution
Business Critical Application Platform
Cloud Database Based on SQL Server 2012 Technologies
Capitalize on modern technology
Cloud Data Replication with SQL Data Sync
Technical Capabilities
How Dell, SAP and SUSE Deliver Value Quickly
Presentation transcript:

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Dive into the Latest Developments Andrew clusterdb.com Bernhard Ocklin 2 nd October 2014

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement 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.

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Today’s Database Requirements Extreme Write Scalability Real-Time User Experience Rock Solid Reliability Rapid Service Innovation

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Today’s Database Requirements Extreme Write Scalability Real-Time User Experience Rock Solid Reliability Rapid Service Innovation Transactional Integrity OLTP + Real-Time Analytics Standards & Skillsets Transactional Integrity OLTP + Real-Time Analytics Standards & Skillsets

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Who’s Using MySQL Cluster

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Overview Auto-Sharding, Multi-Master ACID Compliant, OLTP + Real-Time Analytics HIGH SCALE, READS + WRITES Shared nothing, no Single Point of Failure Self Healing + On-Line Operations % AVAILABILITY In-Memory Optimization + Disk-Data Predictable Low-Latency, Bounded Access Time REAL-TIME Key/Value + Complex, Relational Queries SQL + Memcached + JavaScript + Java + HTTP/REST & C++ SQL + NoSQL Open Source + Commercial Editions Commodity hardware + Management, Monitoring Tools LOW TCO

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Architecture MySQL Cluster Data Nodes Clients Application Layer Data Layer

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Scaling MySQL Cluster Data Nodes Clients Application Layer Data Layer

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

MySQL Cluster HA MySQL Cluster Data Nodes Clients Application Layer Data Layer

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

On-Line Operations ScaleBackupEvolveUpgrade

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster 7.3: 1.2 Billion UPDATEs per Minute NoSQL C++ API, flexaSynch benchmark 30 x Intel E Intel Servers, 2 socket, 64GB ACID Transactions, with Synchronous Replication

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Apps JPA Cluster JPA PHPPerlPythonRubyJDBCCluster JJSApache Memcached MySQLJNINode.JS mod_ndb ndb_eng NDB API (C++) NoSQL Access to MySQL Cluster data MySQL Cluster Data Nodes

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Cluster & Memcached – Schema-Free keyvalue keyvalue KeyValue town:maidenheadSL6 generic table Application view SQL view

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Cluster & Memcached - Configured Schema prefixkeyvalue keyvalue PrefixTableKey-colVal-colpolicy town:map.ziptowncodecluster Config tables map.zip Application view SQL view

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Node.js NoSQL API Native JavaScript access to MySQL Cluster – End-to-End JavaScript: browser to the app & DB – Storing and retrieving JavaScript objects directly in MySQL Cluster – Eliminate SQL transformation Implemented as a module for node.js – Integrates Cluster API library within the web app Couple high performance, distributed apps, with high performance distributed database Optionally routes through MySQL Server

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster DMR Available Now!

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Better performance and operational simplicity MySQL Cluster DMR Performance gain over 7.3 – 47% (Read-Only) – 38% (Read-Write) Faster maintenance operations – Nodal & Rolling restarts – Upgrades

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Asynchronous replication between MySQL Clusters Active-Active – Update anywhere – Conflict detection Application notified through exception tables Can opt to have conflicts resolved automatically – Auto-conflict-resolution Conflicting transaction and dependent ones are rolled-back No changes to application schema Active-Active Geo-Replication

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | What is a conflict? John.balance==$100 John.balance-=$40 John.balance==$60 John.balance==$200 John.balance==$100 John.balance-=$40 John.balance==$60 John.balance==$200 John.balance==$100 John.balance+= $100 John.balance==$200 John.balance==$600 John.balance==$100 John.balance+= $100 John.balance==$200 John.balance==$600 Spend $40 Add $100 $60 $200

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster DMR Detects conflicting inserts/updates Entire transactions (and dependent ones) rolled back All conflicts are handled before switching primary Later in MySQL Cluster 7.4 Conflicting deletes Rolling back of transactions that read conflicted data Handling of Conflicts

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Primary store logical timestamp (GCI) against updated row – Window for conflict opens GCI replicated with updated row to Secondary The same row and GCI is replicated back (reflected) from Secondary to Primary after it has been applied – Closing window for conflict Primary checks every event originating from the Secondary to ensure it isn’t for a ‘conflictable’ row Detecting Conflicts - Reflected GCI John.balance==$100 John.balance-=$40 John.balance==$60 John.balance==$200 John.balance==$100 John.balance-=$40 John.balance==$60 John.balance==$200 John.balance==$100 John.balance+= $100 John.balance==$200 John.balance==$600 John.balance==$100 John.balance+= $100 John.balance==$200 John.balance==$600 Spend $40 Add $100 $60 $200 PrimarySecondary

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | How to Use Conflict Detection/Resolution Decide which tables need protecting For each table, specify what to do on conflicts Just record in exception table Application or DBA acts on content Rollback the conflicting row Rollback the conflicting transaction

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Restart Times Restarting data node with locally checkpointed data – Major improvement Restarting data node which must recover data from peer – Major improvement – Further speedups to come in 7.4.X (greater parallelization) Upgraded/rolling restarts – Major improvement Cluster shutdown and restart – Minor improvement What operations benefit?

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Enhanced Memory Reporting mysql> CREATE DATABASE clusterdb;USE clusterdb; mysql> CREATE TABLE simples (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=NDB; mysql> select node_id AS node, fragment_num AS frag, fixed_elem_alloc_bytes alloc_bytes, fixed_elem_free_bytes AS free_bytes, fixed_elem_free_rows AS spare_rows from memory_per_fragment where fq_name like '%simples%'; | node | frag | alloc_bytes | free_bytes | spare_rows | | 1 | 0 | | 5504 | 172 | | 1 | 2 | | 1280 | 40 | | 2 | 0 | | 5504 | 172 | | 2 | 2 | | 1280 | 40 | | 3 | 1 | | 3104 | 97 | | 3 | 3 | | 4256 | 133 | | 4 | 1 | | 3104 | 97 | | 4 | 3 | | 4256 | 133 | See how much memory a table is using

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Enhanced Memory Reporting | node | frag | alloc_bytes | free_bytes | spare_rows | | 1 | 0 | | 5504 | 172 | | 1 | 2 | | 1280 | 40 | | 2 | 0 | | 5504 | 172 | | 2 | 2 | | 1280 | 40 | | 3 | 1 | | 3104 | 97 | | 3 | 3 | | 4256 | 133 | | 4 | 1 | | 3104 | 97 | | 4 | 3 | | 4256 | 133 | mysql> DELETE FROM clusterdb.simples LIMIT 1; | node | frag | alloc_bytes | free_bytes | spare_rows | | 1 | 0 | | 5504 | 172 | | 1 | 2 | | 1312 | 41 | | 2 | 0 | | 5504 | 172 | | 2 | 2 | | 1312 | 41 | | 3 | 1 | | 3104 | 97 | | 3 | 3 | | 4288 | 134 | | 4 | 1 | | 3104 | 97 | | 4 | 3 | | 4288 | 134 | See how memory is made available after deleting rows

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Enhanced Memory Reporting mysql> CREATE TABLE simples (id INT NOT NULL AUTO_INCREMENT, species VARCHAR(20) DEFAULT "Human", PRIMARY KEY(id, species)) engine=ndb PARTITION BY KEY(species); // Add some data mysql> select node_id AS node, fragment_num AS frag, fixed_elem_alloc_bytes alloc_bytes, fixed_elem_free_bytes AS free_bytes, fixed_elem_free_rows AS spare_rows from ndbinfo.memory_per_fragment where fq_name like '%simples%'; | node | frag | alloc_bytes | free_bytes | spare_rows | | 1 | 0 | 0 | 0 | 0 | | 1 | 2 | | | 419 | | 2 | 0 | 0 | 0 | 0 | | 2 | 2 | | | 419 | | 3 | 1 | 0 | 0 | 0 | | 3 | 3 | 0 | 0 | 0 | | 4 | 1 | 0 | 0 | 0 | | 4 | 3 | 0 | 0 | 0 | Check how well partitioned/sharded a table is

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle MySQL HA & Scaling Solutions MySQL Replication MySQL Fabric Oracle VM Template Oracle Clusterware Solaris Cluster Windows Cluster DRBD MySQL Cluster App Auto-Failover ✖✔✔✔✔✔✔✔ Data Layer Auto-Failover ✖✔✔✔✔✔✔✔ Zero Data LossMySQL 5.7 ✔✔✔✔✔✔ Platform SupportAll Linux SolarisWindowsLinuxAll Clustering Mode Master + Slaves Active/Pas sive Multi- Master Failover TimeN/ASecsSecs + < 1 Sec Scale-outReads ✔✖✖✖✖✖✔ Cross-shard operationsN/A ✖ ✔ Transparent routing ✖ For HA ✔✔✔✔✔✔ Shared Nothing ✔✔✖✖✖✖✔✔ Storage EngineInnoDB+ NDB Single Vendor Support ✔✔✔✔✔✖✔✔ 30

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | When to Consider MySQL Cluster Scalability demands – Sharding for write performance? Latency demands – Cost of each millisecond? Uptime requirements – Cost per minute of downtime? – Failure versus maintenance? Application agility – Developer languages and frameworks? – SQL or NoSQL?

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

MySQL Cluster Auto-Installer Fast configuration Auto-discovery Workload optimized Repeatable best practices Specify Workload Auto- Discover Define Topology Deploy

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Enhancing DevOps Agility, Reducing Downtime MySQL Cluster Manager Automated Management Start / Stop node or whole cluster On-Line Scaling On-Line Reconfiguration On-Line Upgrades On-Line Backup & Restore Import Running Cluster Self-Healing Node monitoring Auto-recovery extended to SQL + mgmt nodes HA Operations Cluster-wide configuration consistency Persistent configurations HA Agents

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Upgrade using MCM MySQL Cluster Data Nodes Application Layer Data Layer upgrade cluster --package=7.3 mycluster;

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Manager GA Available Now!

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Manager GA “Unmanaged” production Cluster mcm> create cluster --importmcm> import config [--dryrun]mcm> import cluster[--dryrun] Cluster now managed by MCM Import a running Cluster into MCM

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle University MySQL Training Services Prepare Your Organization to Enable Reliable and High-Performance Web-Based Database Applications “Training and team skill have the most significant impact on overall performance of technology and success of technology projects.” - IDC, 2013 Premier Support customers eligible to save 20% on learning credits. Benefits  Expert-led training to support your MySQL learning needs  Flexibility to train in the classroom or online  Hands-on experience to gain real world experience  Key skills needed for database administrators and developers MySQL for Beginners  MySQL for Database Administrators  MySQL Performance Tuning  MySQL Cluster – NEW - Register Your Interest!  MySQL and PHP - Developing Dynamic Web Applications  MySQL for Developers  MySQL Developer Techniques  MySQL 5.6 Database Administrator  MySQL 5.6 Developer To find out more about available MySQL Training & Certification offerings, go to: education.oracle.com/mysqleducation.oracle.com/mysql Top Courses for Administrators and Developers Top Certifications RECENTLY RELEASED !!ALL NEW!! MySQL Cluster Training To Register your interest to influence the schedule on this newly released course – go to education.oracle.com/mysql and click on the MySQL Cluster CourseMySQL Cluster Training

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Next Steps Learn More Authentic MySQL Curriculum: Try it Out dev.mysql.com/downloads/cluster/ Let us know what you think bugs.mysql.com forums.mysql.com/list.php?25