MySQL Cluster 7.0 - New Features. Johan Andersson MySQL Cluster Consulting johan.andersson@sun.com

Similar documents
White Paper. Optimizing the Performance Of MySQL Cluster

Guide to Scaling OpenLDAP

MySQL CLUSTER. Scaling write operations, as well as reads, across commodity hardware. Low latency for a real-time user experience

F1: A Distributed SQL Database That Scales. Presentation by: Alex Degtiar (adegtiar@cmu.edu) /21/2013

Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam

MySQL Cluster Deployment Best Practices

High Availability Solutions for the MariaDB and MySQL Database

SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications. Jürgen Primsch, SAP AG July 2011

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle


In Memory Accelerator for MongoDB

Tushar Joshi Turtle Networks Ltd

Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database

MySQL és Hadoop mint Big Data platform (SQL + NoSQL = MySQL Cluster?!)

Architectures Haute-Dispo Joffrey MICHAÏE Consultant MySQL

OLTP Meets Bigdata, Challenges, Options, and Future Saibabu Devabhaktuni

Recovery Principles in MySQL Cluster 5.1

Outdated Architectures Are Holding Back the Cloud

Mark Bennett. Search and the Virtual Machine

Backup and Restore Back to Basics with SQL LiteSpeed

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

WITH A FUSION POWERED SQL SERVER 2014 IN-MEMORY OLTP DATABASE

Welcome to Virtual Developer Day MySQL!

Flash Databases: High Performance and High Availability

Improve Business Productivity and User Experience with a SanDisk Powered SQL Server 2014 In-Memory OLTP Database

MySQL High Availability Solutions. Lenz Grimmer OpenSQL Camp St. Augustin Germany

SafeCom G2 Enterprise Disaster Recovery Manual

Best Practices for Architecting Storage in Virtualized Environments

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version Fix Pack 2.

The Benefits of Virtualizing

Microsoft SQL Server OLTP Best Practice

How To Scale Myroster With Flash Memory From Hgst On A Flash Flash Flash Memory On A Slave Server

How To Store Data On An Ocora Nosql Database On A Flash Memory Device On A Microsoft Flash Memory 2 (Iomemory)

Contents. SnapComms Data Protection Recommendations

VERITAS Volume Management Technologies for Windows

High Availability Solutions with MySQL

A survey of big data architectures for handling massive data

Database Resilience at ISPs. High-Availability. White Paper

WHITE PAPER Improving Storage Efficiencies with Data Deduplication and Compression

High Availability Solutions for MySQL. Lenz Grimmer DrupalCon 2008, Szeged, Hungary

EonStor DS remote replication feature guide

Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software

Oracle Database Scalability in VMware ESX VMware ESX 3.5

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Berkeley DB and Solid Data

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

Partitioning under the hood in MySQL 5.5

Configuring Apache Derby for Performance and Durability Olav Sandstå

Top 10 Performance Tips for OBI-EE

WHO IS CONSTANT CONTACT? A snapshot view of an incredible company

Rackspace Cloud Databases and Container-based Virtualization

Best Practices for Using MySQL in the Cloud

OPTIMIZING EXCHANGE SERVER IN A TIERED STORAGE ENVIRONMENT WHITE PAPER NOVEMBER 2006

MySQL Enterprise Backup

SMB Advanced Networking for Fault Tolerance and Performance. Jose Barreto Principal Program Managers Microsoft Corporation

Scaling Database Performance in Azure

SAP HANA PLATFORM Top Ten Questions for Choosing In-Memory Databases. Start Here

Inge Os Sales Consulting Manager Oracle Norway

I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology

Practical Cassandra. Vitalii

SQL Server 2014 New Features/In- Memory Store. Juergen Thomas Microsoft Corporation

INTRODUCTION ADVANTAGES OF RUNNING ORACLE 11G ON WINDOWS. Edward Whalen, Performance Tuning Corporation

Preview of Oracle Database 12c In-Memory Option. Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Database!Fatal!Flash!Flaws!No!One! Talks!About!!!

Synchronous multi-master clusters with MySQL: an introduction to Galera

Top 10 Reasons why MySQL Experts Switch to SchoonerSQL - Solving the common problems users face with MySQL

Chancery SMS Database Split

Availability Guide for Deploying SQL Server on VMware vsphere. August 2009

Microsoft SQL Server 2008 R2 Enterprise Edition and Microsoft SharePoint Server 2010

DB2 Database Layout and Configuration for SAP NetWeaver based Systems

Microsoft Private Cloud Fast Track

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Using HP StoreOnce D2D systems for Microsoft SQL Server backups

Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB

Database Scalability and Oracle 12c

Ground up Introduction to In-Memory Data (Grids)

NEXT GENERATION EMC: LEAD YOUR STORAGE TRANSFORMATION. Copyright 2013 EMC Corporation. All rights reserved.

Microsoft Windows Server in a Flash

1 Storage Devices Summary

MySQL performance in a cloud. Mark Callaghan

Symantec NetBackup OpenStorage Solutions Guide for Disk

IBM Systems Director Navigator for i5/os New Web console for i5, Fast, Easy, Ready

WHITE PAPER: ENTERPRISE SECURITY. Symantec Backup Exec Quick Recovery and Off-Host Backup Solutions

Ahsay Replication Server v5.5. Administrator s Guide. Ahsay TM Online Backup - Development Department

Server and Storage Virtualization with IP Storage. David Dale, NetApp

Microsoft SQL Server Decision Support (DSS) Load Testing

SonicWALL Security Appliance

Cloud Computing Is In Your Future

Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework

Windows Server 2012 授 權 說 明

The Classical Architecture. Storage 1 / 36

SolarWinds Network Performance Monitor powerful network fault & availabilty management

Cloud Computing with Microsoft Azure

Overview of I/O Performance and RAID in an RDBMS Environment. By: Edward Whalen Performance Tuning Corporation

Condusiv s V-locity Server Boosts Performance of SQL Server 2012 by 55%

MySQL Reference Architectures for Massively Scalable Web Infrastructure

Configuring Apache Derby for Performance and Durability Olav Sandstå

Transcription:

MySQL Cluster 7.0 - New Features Johan Andersson MySQL Cluster Consulting johan.andersson@sun.com Mat Keep MySQL Cluster Product Management matthew.keep@sun.com Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 1

Agenda MySQL Cluster Adoption Key Enhancements of MySQL Cluster 7.0 Dynamic Scalability Internal optimizations Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 2

Customers and Applications NEPs, ISVs and Communications Service Providers Network Subscriber databases Service Delivery Platforms > Messaging / Presence Telco Application Servers VoIP Infrastructure Intelligent Networks Value-added services IPTV / VoD Mobile Content Delivery On-Line app stores and portals DNS/DHCP for Broadband Payment Gateways Data Store for LDAP Directories http://www.mysql.com/industry/telecom/ Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 3

MySQL Cluster 7.0 Key Enhancements Enhanced Performance & Scalability Multi-Threaded Data Nodes Dynamic On-Line Scalability Large Record Handling Multi-Threaded Disk Data File Access Expanded Platforms & Interoperability Windows Port Data Store for LDAP Directories Simplified Maintenance Back-up Snapshot Announce at MySQL UC, April 20 th April 23 rd 2009 Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 4

"We view MySQL Cluster Carrier Grade Edition as a strategic technology in our applications portfolio. With MySQL Cluster CGE 7.0 we are enabling our customers to expose the rich capabilities of their networks to drive a long-tailed innovation model. As a result, the operator can leverage the creativity and agility of the web ecosystem to deliver new compelling, personalized and targeted services to their subscribers without compromising reliability and scalability." Jeff Cortley, VP Subscriber Data Management, Alcatel-Lucent Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 5

before - onlinish.. replication Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 6

- before - Growing with MySQL Replication has a number of drawbacks: Applications has to connect to the new cluster Applications must wait for the binlog to be completely replicated to slave cluster before starting Service interruption applying the binary log can take time. Possible to do it faster, but data will be lost Switch applications before all binlog has been applied. Extra hardware needed for the new Cluster Growing with Backup/Restore Backup cluster Stop cluster Reconfigure and start new cluster Restore cluster Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 7

ONLINE ADD NODE Applications are not interrupted No data loss Easy procedure Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 8

Scale storage capacity - online Start with e.g two data nodes and extend the size of the Cluster over time. Prior versions (<= 6.3) and most other vendors requires downtime to accomplish this. Scale transaction handling capacity online More data nodes more transactions can be handled Scale the application layer online by adding more MySQL Servers (has always been online) Online means no service interruption! Other features No extra memory is needed on existing data nodes Range scans / scans are not disturbed Replication (mysql replication) is consistent and not affected. Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 9

Adding data nodes is done in three steps Step 1: The new data nodes must join the cluster (two options to do this) Step 2: Tell Cluster that new nodes has joined the cluster ndb_mgm> create nodegroup (5,6) Step 3: Data stored on the original set of data nodes must be repartitioned on the new data nodes mysql> ALTER TABLE <tablename> REORGANIZE PARTITIONS; Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 10

P1 P2 ID DATA 1 Mat 2 Johan 3 Jonas 4 Mikael Starting point: Two data nodes in one node group Two partitions, P1 and P2 Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 11

Transactions P1 P2 ID DATA 1 Mat 2 Johan 3 Jonas 4 Mikael 1. Start new data nodes 2. Create a new empty node group (via ndb_mgm) with the new data nodes. Data is not yet re-partitioned. Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 12

Transactions P1 P2 P3 P4 ID DATA 1 Mat 2 Johan 3 Jonas 4 Mikael 3. Data on P1 and P2 must be redistributed to P3 and P4: mysql> ALTER TABLE.. REORGANIZE PARTITIONS 4. internal: New partitions are added (P3, and P4) but not online Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 13

Transactions Update: Mikael Mikael R P1 P2 P3 P4 ID DATA 1 Mat 2 Johan 3 Jonas 4 Mikael R Update: Mikael Mikael R ID DATA 2 Johan 4 Mikael R 6. internal: * Redistribute records (copy) and mark which records have been copied. * Writes on already copied data are reflected (part of the transaction) on P3 and P4 Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 14

Transactions Transactions P1 P2 P3 P4 ID DATA 1 Mat 2 Johan 3 Jonas 4 Mikael R ID DATA 2 Johan 4 Mikael R 7. internal: * Copy completed. * Perform Switchover: Let everyone know that the distribution has changed. * Transactions now be started on P3 and P4. Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 15

Transactions Transactions: Update Johan Johan A P1 P2 P3 P4 ID DATA 1 Mat 2 Johan A 3 Jonas 4 Mikael R Update: Johan Johan A ID DATA 2 Johan A 4 Mikael R 8. internal: * Wait for long running scans started on P1 or P2 before the switchover to finish. * During this phase writes on P3 and P4 are reflected on the copied records on P1 and P2. Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 16

Transactions Transactions P1 P2 P3 P4 ID DATA 1 Mat 3 Jonas ID DATA 2 Johan 4 Mikael 9. internal: * Old scans on P1 and P2 are now completed * Delete the marked records from P1 and P2. * The ALTER TABLE... REORG is now completed! Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 17

Add data nodes option 1) - Rolling Restart Add new data nodes to config.ini restart management servers, restart existing data nodes start added nodes restart mysql servers (NDBAPI programs). Pros: requires no planning at initial deployment. Cons: rolling restart is rolling restart.. (but service is not interrupted) Add data nodes option 2) - Preallocate data nodes Preallocate empty data nodes to config.ini at startup These data nodes are inactive, and not started until you decide to add them. Pros: Easier and faster than rolling restart Cons: requires planning at initial deployment Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 18

Preallocate data nodes for add node Preallocate new data nodes in config.ini at beginning of time [ndbd] id=3 hostname=a [ndbd] id=5 hostname=c nodegroup=65536 [ndbd] id=4 hostname=b [ndbd] id=6 hostname=d nodegroup=65536 To add the new data nodes simply start one data node each on C and D, then do ndb_mgm> CREATE NODEGROUP (5,6) mysql> ALTER TABLE.. REORGANIZE PARTITIONS Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 19

2M records and 2GB data in table two data nodes Baseline: 20 threads performing updates of 256B of data on random records. Total throughput = 18315.06 qps Average response time=1089us for each update With reorg on + no update load 2 4 data nodes mysql> alter table t1 reorganize partition; Query OK, 0 rows affected (2 min 44.58 sec) Records: 0 Duplicates: 0 Warnings: 0 Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 20

With UPDATEs and ongoing reorg ( 2 4 data nodes) ongoing reorg means: ALTER TABLE t1 REORGANIZE PARTITIONS; 20 threads each doing updates as in baseline Total throughput = 10907.70 qps Average response time=1827us for each update mysql> alter table t1 reorganize partition; Query OK, 0 rows affected (3 min 39.45 sec) Records: 0 Duplicates: 0 Warnings: 0 Throughput decreases with about 40% during the reorg. Latency increases with about 68% during the reorg. Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 21

Scale Up: Multi-Threaded Data Nodes TC LQH LQH LQH LQH Multi threaded ndbd Cluster 7.0 ( 4 Sub partition threads (up to Separate TC and threads communication Utilizes 8 cores Scale out in 2D! ACC ACC ACC ACC Index Index Index memory memor yy y TUP TUP TUP TUP Data Data Data Data memory memor yy y Improved Vertical Scalability on Multi-Core / Multi-Thread Hardware - Increase Cluster throughput - Reduce hardware requirements to achieve equivalent throughput - Simpler maintenance Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 22

MySQL Cluster Benchmarks DBT2 Benchmark, 4-MySQL Cluster Data Nodes 300000 Transactions Per Minute 250000 200000 150000 100000 50000 0 1 4 8 12 16 20 24 28 32 36 40 MySQL Cluster 7.0 MySQL Cluster 6.3 Data Nodes Sun Fire x4450s SQL Nodes Sun Fire x4600s & x4450s OpenSolaris Gigabit Ethernet Number of MySQL Server Nodes MySQL Cluster delivers 4.3x higher throughput at 4-nodes MySQL Cluster 7 achieves 140k+ TPM with 2 data nodes vs 10 data nodes required for MySQL Cluster 6.3 4x less power and space consumption Higher cluster throughput with fewer nodes Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 23

Multithreaded Disk Data Access Single-threaded disk access Operation s requiring I/O I/O threads Files Multithreaded disk access All file access is through I/O threads Previously a one-to-one mapping between all open files and I/O threads > Still used for some files where latency of single I/O critical e.g., redo logs Can now use pooled I/O threads, breaking the one-to-one mapping > Greater I/O throughput to the file > Results in increased performance for disk-based table data > Users no longer need to split large files into smaller ones as a workaround saving admin work > Extends to other files to reduce overall number of I/O threads in the system saving memory Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 24

Large Record Handling (1) App App 4 bytes Col id 1 Col id 2 Col id 3 4 bytes 1 2 3 bitmap 1 2 3 NDB NDB Optimization of the NDB messaging protocols between apps and NDB nodes and between NDB nodes Packed read reduces the size of read and response messages > Reduces bandwidth used on the network increasing throughput Read request: replaces a list of column identifiers with a bitmap Read response: column values no longer need to be packed to a 4 byte boundary Changes are transparent to the application, but designers might choose to design schemas that further exploit the mechanism so that fields pack tightly Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 25

Large Record Handling (2) App <= 100 bytes TCKEYRE Q KEYINF O KEYINF O ATTRINFO ATTRINFO NDB App NDB TCKEYRE Q KEYINFO ATTRINFO Optimization of the NDB messaging protocols between apps and NDB nodes and between NDB nodes Long signal transactions: Reduces bandwidth used on the network, increasing throughput (50 100% improvements observed) Transparent to the application Existing messages limited to 100 bytes so complex requests split across multiple messages: Bandwidth wasted on OS and protocol overhead (header info) for each message CPU consumed reassembling operation LST enables large operations to be specified in a single message (up to 32 KB); fragmented signals can be used if larger messages are needed Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 26

Snapshot Backup Prior to 7.0, backups reflected the state of the Cluster at the end of the backup. With 7.0 the backup can reflect the state of the cluster as it looked at the start of the backup New options: SNAPSHOTSTART or SNAPSHOTEND Default is SNAPSHOTEND.. ndb_mgm -e start backup snapshotstart This is good in e.g sharding where you want all shards to have the backup from the same point in time. Otherwise they may end at an arbitrary point in time. Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 27

Windows Support Alpha release of MySQL Cluster 7.0 for MS Windows. Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 28

Data Store For LDAP Directories OpenLDAP and OpenDS support MySQL Cluster Native implementation on MySQL Cluster Fast and High Availability A paradigm shift for scaling out LDAP Learn more at Session: LDAP for MySQL Cluster - back-ndb Ballroom B at 14:00 on Thursday ( 23 Apr 2009 ). BOF: OpenDS Tuesday 21st, 19.30, Ballroom Foyer Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 29

That's all Questions? We are here all week to take your questions! Webinar April 30 th Learn more about Cluster 7.0 http://www.mysql.com/news-and-events/webseminars/display-320.html Copyright 2009 MySQL Sun Microsystems. The World s Most Popular Open Source Database 30