MariaDB Enterprise Cluster. MariaDB Training

Size: px
Start display at page:

Download "MariaDB Enterprise Cluster. MariaDB Training"

Transcription

1 MariaDB Enterprise Cluster MariaDB Training

2 Introduction MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

3 Introducing MariaDB Ab Founders from MySQL the Company and Community Funded by Founders, Employees, and Venture Capital About 100 Employees Several former MySQL Employees and Community Members in over 14 Countries 3

4 Personal Introductions Instructor Name and Background Participants Name and Company MariaDB Experience How You Use MariaDB Needs Related to Course Topics 4

5 Class Schedule & Personal Concerns Starting and Ending Times Planned Breaks On- Site Location of Rest Rooms Smoking Areas Snacks and Drinks LVC Classes Chat with Everyone 5

6 Course Outline Overview Architecture Load Balancing Advanced Topics Installation State Transfer Caveats Multi-Master Conflicts Schema Changes Back-Ups Recovery 6

7 Architecture MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

8 Advantages of Galera Parallel Slave Applying Practically No Slave Lag Instant Trivial Failover Automatic Node Provisioning Works Well in WAN 8

9 MariaDB Replication Server Centric Style Asynchronous Replication No Conflict Detection Multi-Master Replication Master Server Slave Server If Node C Crashes, Does Cluster Survive? If Node B Crashes and Clients Switch to C, How does Node B Rejoin? Which Node has Data X? How do you Back-Up Cluster? Node A Node C Node B 9

10 Galera Approach Data Centric Style Data Doesn t Belong to a Node Nodes Belong to Data Data is Synchronized among Two or More Servers DataSet Server 1 Server 2 Server 3 Server N 10

11 Galera Approach Galera Nodes are Anonymous All are Equal Galera Cluster is One Large Distributed Master A DataSet Needs an Identifier DataSet Identier is a Cluster Identifier 00295a79-9c48-11e2-bdf0-9a916cbb9294 DataSet Cluster 11

12 Global Transaction Identifier (GTID) DataSet plus Sequence of Atomic Changes equals GTID 00295a79-9c48-11e2-bdf0-9a916cbb9294:64201 DataSet 00295a79-9c48-11e2-bdf0-9a916cbb9294:

13 Global Transaction Identifier (GTID) Initial DataSet 00295a79-9c48-11e2-bdf0-9a916cbb9294:0 First Change and Transaction 00295a79-9c48-11e2-bdf0-9a916cbb9294:1 Undefined GTID :-1 13

14 Global Transaction Identifier (GTID) MySQL 5.6 GTID e-7c1e-11e2-a6e ef5:12345 (server identifier : transaction processed by server) MariaDB 10 GTID (domain - server identifier - data change in asynchronous cluster) Galera GTID 00295a79-9c48-11e2-bdf0-9a916cbb9294:64201 (data & cluster Identifier : data change in cluster) 14

15 Global Transaction Identifier (GTID) Visible in MySQL e-7c1e-11e2-a6e ef5: e-7c1e-11e2-a6e ef5: e-7c1e-11e2-a6e ef5:12347 New Master Promoted f4e3bf7a-a91f-11e2-4e02-3f8dbcffaed8:1 f4e3bf7a-a91f-11e2-4e02-3f8dbcffaed8:2 f4e3bf7a-a91f-11e2-4e02-3f8dbcffaed8:3 15

16 Global Transaction Identifier (GTID) Visible in MariaDB New Master Promoted

17 Global Transaction Identifier (GTID) Visible in Galera 00295a79-9c48-11e2-bdf0-9a916cbb9294: a79-9c48-11e2-bdf0-9a916cbb9294: a79-9c48-11e2-bdf0-9a916cbb9294:64203 New Master Promoted 00295a79-9c48-11e2-bdf0-9a916cbb9294: a79-9c48-11e2-bdf0-9a916cbb9294: a79-9c48-11e2-bdf0-9a916cbb9294:

18 Master or Slave Not a Node Role or Function A Relation Between a Node and a Client client1 client2 slave1 slave2 master1 slave2 Cluster slave1 master2 master for client1 slave1 slave2 slave1 slave2 master for client1 18

19 Cluster Address wsrep_cluster_address Documentation on Galera Cluster Addresses: 19

20 Cluster Address gcomm:// handshake

21 Cluster Address

22 Cluster Address

23 Cluster Address wsrep_cluster_address = gcomm://node1,node2 Try to Connect to Members (node1, node2) Can only Join a Running Cluster

24 Node Synchronization (State Transfer)

25 Node Synchronization (State Transfer) joined synced synced desync undefined synced 25

26 Node Synchronization (State Transfer) New Node Cluster Old Node UNDEFINED Verify Node Synched Donor Found Wait Be a Donor SYNCHED JOINER DONOR Transfer Missing Data (Private Channel) JOINED JOINED catch-up catch-up SYNCHED SYNCHED 26

27 Avoiding Split Brain Distinguishing Server Crash from Network Failure in Shared Nothing Architecture Decision Algorithm Used to Avoid Spilt Brain Absolute Majority Needed in Galera Uneven Number of Nodes Safer 27

28 Primary Component Primary 28

29 Primary Component Continues Working Primary Non-Primary 29

30 Primary Component Continues Working Tries to Reconnect Primary Non-Primary 30

31 Primary Component Primary 31

32 Split Brain Non-Primary Split Brain Possible with Even Number of Nodes Non-Primary 32

33 Synchronous Penalties Galera Copies Data Buffer to All Cluster Members on COMMIT from Client (~1 RTT added latency) Connection throughput equals 1/RTT trx/sec Total throughput equals 1/RTT trx/sec #connections A Given Row Can't be Modified More Than 1/RTT times a second Round Trip Time (RTT) is Length of Time for a Signal to be sent and Receipt of Acknowledgement 33

34 Slave Lag in Galera Client Master Node START TRANSACTION Slave Node PROCESS COMMIT Replicate Write Set Certify Acknowledge OK COMMIT APPLY SELECT (stale data) COMMIT 34

35 Nuances Uses Only InnoDB Primary Keys are Necessary Commit Latency Transaction Size Limited to 2GB Unlimited in Future Versions DEADLOCK on COMMIT AUTO_INCREMENT Handled Differently Cluster Performance Limited to Slowest Node No Cluster-Wide Read Locks No XA Transactions 35

36 Installation MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

37 Installing from a Repository MariaDB Repository Configuration Tool ( Available for all Major Distributions Downloading MariaDB & Galera: 37

38 Installing MariaDB Galera Cluster Install Extra Packages for Enterprise Linux $ yum install epel-release Install Galera Enabled MariaDB Server $ yum install MariaDB-server Install Network Copying Tool $ yum install socat 38

39 Additional Utilities XtraBackup Useful for SST Not Supported in MariaDB 10.2 $ yum install xtrabackup Percona Toolkit $ yum install percona-toolkit XtraBackup Repo: 39

40 Linux Configuration SELinux Disable Enforce Set Server to SELinux Mode Set Start Timeout for systemd (CentOS 7+) cat /selinux/enforce echo 0 > /selinux/enforce SELINUX=permissive Excerpt from /etc/selinux/config [Service] TimeoutStartSec="30 min" systemctl daemon-reload Executed from Command-Line Start Timeout Settings: SELinux Configuration: 40

41 Linux Firewall Ports Used Port 3306 Client Connections to Nodes Port 4567 Replication Protocol Port 4568 Incremental State Transfers (IST) Port 4444 Snapshot State Transfer (SST; socat) iptables -L /etc/init.d/iptables stop chkconfig iptables off Executed from Command-Line IST & SST Methods may have Additional Connectivity Requirements mysqldump requires mysql client connections (port 3306) between Nodes Rsync and XtraBackup use Netcat (nc) between Nodes 41

42 MariaDB Configuration [mysqld] max_connections=1024 binlog_format=row innodb_buffer_pool_size=200m innodb_log_file_size=100m innodb_flush_log_at_trx_commit=2 default-storage-engine=innodb innodb_autoinc_lock_mode=2 Only InnoDB Tables will be Replicated --enforce-storage-engine=innodb Documentation on Enforcing Storage Engine Setting: Documentation on InnoDB Flush Log at Transaction Commit Setting: 42

43 MariaDB Configuration Galera Settings wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_cluster_name="our_cluster" wsrep_node_name=node1 wsrep_cluster_address="gcomm:// , , " wsrep_node_address= wsrep_slave_threads=1 wsrep_sst_method=rsync wsrep_sst_auth=galera:galera wsrep_on=on 43

44 Start First Node Start galera1 as First Node Use SHOW STATUS and SHOW VARIABLES to List Galera Options systemctl start mariadb galera_new_cluster Executed from Command-Line on First Node SHOW GLOBAL STATUS LIKE 'wsrep_cluster_size'; SHOW GLOBAL VARIABLES LIKE 'wsrep%'; Executed from mysql Client on First Node mysql -u root -p -e / "SHOW VARIABLES LIKE 'wsrep_provider_options" Executed from Command-Line on First Node 44

45 Configure Galera wsrep_* Variables Configure MariaDB Replication Behavior wsrep_provider_options is a Collection of Variables that Control Galera Replication Plugin Behavior Galera System Variables: Galera Status Variables: 45

46 Default Enterprise Cluster Related Values base_host = base_port = 4567 cert.log_conflicts = no evs.causal_keepalive_period = PT1S evs.debug_log_mask = 0x1 evs.inactive_check_period = PT0.5S evs.inactive_timeout = PT15S evs.info_log_mask = 0 evs.install_timeout = PT15S evs.join_retrans_period = PT1S evs.keepalive_period = PT1S evs.max_install_timeouts = 1 evs.send_window = 4 evs.stats_report_period = PT1M evs.suspect_timeout = PT5S evs.use_aggregate = true evs.user_send_window = 2 evs.version = 0 evs.view_forget_timeout = PT5M Galera System Variables: Galera Status Variables: gcache.dir = /var/lib/mysql/ gcache.keep_pages_size = 0 gcache.mem_size = 0 gcache.name = /var/lib/mysql// galera.cache gcache.page_size = 128M gcache.size = 128M gcs.fc_debug = 0 gcs.fc_factor = 1 gcs.fc_limit = 16 gcs.fc_master_slave = NO gcs.max_packet_size = gcs.max_throttle = 0.25 gcs.recv_q_hard_limit = gcs.recv_q_soft_limit = 0.25 gcs.sync_donor = NO gmcast.listen_addr = tcp:// :4567 gmcast.mcast_addr = gmcast.mcast_ttl = 1 gmcast.peer_timeout = PT3S gmcast.time_wait = PT5S gmcast.version = 0 gmcast.segment = 0 ist.recv_addr = pc.checksum = true pc.ignore_quorum = false pc.ignore_sb = false pc.linger = PT20S pc.npvo = false pc.version = 0 pc.weight = 1 protonet.backend = asio protonet.version = 0 replicator.causal_read_timeout = PT30S replicator.commit_order = 3 46

47 Start Other Nodes Second and Third Nodes must be Provided an Address for Connecting to the Cluster Use wsrep_cluster_address with IP Address of Node and at Least One Other Node wsrep_cluster_address = gcomm:// , , Excerpt from Configuration File of Each Node systemctl start mariadb Executed from Command-Line on Second and Third Node 47

48 Cluster Address wsrep_cluster_address Write All Nodes Planned for Cluster in Address String wsrep_cluster_address=gcomm:// , ,... Don't Leave wsrep_cluster_address=gcomm:// in my.cnf The wsrep_urls Parameter for mysqld_safe is Deprecated Galea Cluster Address: 48

49 MariaDB Configuration [mysqld] logbin binlog_format=row wsrep_on=on wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_cluster_name="our_cluster" wsrep_node_name=node2 wsrep_cluster_address="gcomm:// , , " wsrep_node_address= wsrep_slave_threads=1 wsrep_sst_method=rsync wsrep_sst_receive_address= :3306 wsrep_sst_auth=galera:rover123 49

50 Start Other Nodes Join the Second and Third Nodes to Cluster Node 2 systemctl start mariadb Executed from Command-Line on Second Node SHOW GLOBAL STATUS LIKE 'wsrep%'; Executed from mysql Client on Second Node Node 3 systemctl start mariadb Executed from Command-Line on Third Node SHOW GLOBAL STATUS LIKE 'wsrep%'; Executed from mysql Client on Third Node 50

51 Initial Cluster Startup All Nodes Should Be Running Now and Consistent Test Replication 1 CREATE TABLE test.table1 (col1 INT UNSIGNED KEY); INSERT INTO test.table1 VALUES (1),(2),(3); Executed from mysql Client on Node 1 2 SELECT * FROM test.table1; INSERT INTO table1 VALUES (4); Executed from mysql Client on Node 2 3 SELECT * FROM table1; Executed from mysql Client on Node 3 51

52 Sysbench Benchmarking Tool Install RPM Packages To Build a Database for Testing: sysbench [options] prepare To Run a Test on Database: sysbench [options] run $ wget $ rpm -ivh Create a Database $ sysbench --test=sysbench_tests/db/common.lua --mysql-host=node1 \ --mysql-user=test --mysql-db=sbtest --oltp-table-size= prepare $ sysbench --test=sysbench_tests/db/oltp.lua --mysql-host=node1 \ --mysql- user=test --mysql-db=sbtest --oltp-table-size= \ --report-interval=1 --max-requests=0 --tx-rate=10 run grep tps Set Up SysBench: Project Page: 52

53 State Transfers MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

54 Node Recovery Procedure A Node Determines it's not in Synch Communicates with Other Nodes to Recover Determines its Current Cluster State to Determine Transfer Method Required Documentation on Node Recovery: 54

55 Recovery Methods Incremental State Transfer (IST) Partial Recovery (Delta's) of Write Sets Snapshot State Transfer (SST) Full Recovery of Data Error Log shows Method Used and Outcome Check Error Logs on Joiner and Donor Nodes 55

56 Incremental State Transfer Incremental State Transfer is very Effective gcache.size Parameter Defines Size of Write Sets kept for IST Gcache is mmap File Available Disk Space is Upper Limit for Size Allocation Used if Joining Node had a Previous State Later than Start of Cluster Only Possible after Graceful Shutdown Changes are Tracked by gcache galera.cache on File System and in Memory Documentation on IST: 56

57 Galera Saved State grastate.dat is Replication State File Residing in Database System Data Directory Included in Snapshot uuid is Universal Unique Identifier seqno is Sequence Number of Last Transaction Value Greater than 0 Indicates Proper Shutdown Value -1 means No Known Sequence Position (Server Crashed or Running) # GALERA saved state version: 2.1 uuid: 82e240bb e ebd7b6 seqno: -1 57

58 Snapshot State Transfer Used to Send Full Database State Set wsrep_sst_method to Dictate Method to Use mysqldump rsync (default) xtrabackup xtrabackup-v2 Recommended New Joining Nodes use SST Documentation on SST: 58

59 Forced SST Expediting Full Recovery Force SST by Deleting all Files in datadir 1 systemctl stop mariadb rm -rf /var/lib/mysql/* Stop All Nodes and Synchronize from galera1 2 Executed from Command-Line on Node 2 systemctl stop mariadb cd /var/lib/mysql rm -rf * systemctl start mariadb Executed from Command-Line on Node 3 3 systemctl start mariadb tail -f mysqld.err Executed from Command-Line on Node 2 59

60 XtraBackup SST Alternate Full Recovery Full Recovery without Downtime on Donor Requires Installing and Appropriate Credentials Add datadir to Configuration File 1 2 yum install xtrabackup Executed from Command-Line on First Node GRANT PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'xtrabackup'@localhost IDENTIFIED BY 'galera123'; Executed from mysql Client on Node 1 3 [server] datadir = /var/lib/mysql Excerpt from my.cnf on Node 1 XtraBackup SST: 60

61 Configuring XtraBackup SST Stop Second Node and Edit its MariaDB Configuration File Configure XtraBackup SST and Rejoin Node to Cluster 1 2 systemctl stop mariadb Executed from Command-Line on Second Node [server] wsrep_sst_method = xtrabackup-v2 wsrep_sst_auth = galera:galera Excerpt from my.cnf on Node 2 3 rm -rf /var/lib/mysql/* systemctl start mariadb Executed from Command-Line on Second Node 61

62 Verify IST Works Stop Second Node and Rejoin it to Cluster Check Error Log for IST Messages Regularly Verify SST Works 1 systemctl stop mariadb Executed from Command-Line on Second Node 2 CREATE TABLE test.testeroo (col1 INT); Executed from mysql Client on Node 1 3 systemctl start mariadb Executed from Command-Line on Second Node 4 journalctl -xe Executed from Command-Line on Second Node 62

63 Caveats MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

64 Caveats Consistent Reads Primary Key is Required Dealing with AUTO_INCREMENT Detecting Slow Nodes Parallel Replication MyISAM Replication XA Transactions 64

65 Slave Lag in Galera Client Master Node Slave Node START TRANSACTION PROCESS COMMIT Replicate changeset Certification Acknowledgement OK COMMIT APPLY SELECT (waiting due to wsrep_sync_wait) COMMIT 65

66 Consistent Reads Settings Set wsrep_sync_wait to 1 Every Read (e.g., SELECT) Waits for Slave Queue to be Applied Fully Set Timeout for Maximum Causal Read Wait replicator.causal_read_keepalive Read Locks only on Local Node 66

67 Spotting Causality Failure Try Work Load to Spot Causality Failure Configure Read Causality and Test Again for i in { }; do echo -n -e "\nround $i "; mysql -ugalera -pgalera -h0 -P11001 test -e"insert INTO t VALUES($i)"; ret=$(mysql --batch -ugalera -pgalera -h0 -P11002 test -e"select * FROM t WHERE i=$i"); if [ "$ret" = "" ]; then echo -n "FAILED" fi done galera2-mariadb> SET SESSION wsrep_sync_wait = 1; 67

68 Dealing with AUTO_INCREMENT Galera Provides Automatic Control of AUTO_INCREMENT Galera will adjust auto_increment_increment and auto_increment_offset variables so Inserts in Separate Nodes will Interleave Increments AUTO_INCREMENT by Number of Nodes wsrep_auto_increment_control = ON Excerpt from my.cnf File Galera & AUTO_INCREMENT: 68

69 Controlling AUTO_INCREMENT Start First and Second Node Create AUTO_INCREMENT Table and Insert Rows through All Nodes Start Third Node and Insert More Rows 1 CREATE TABLE a (i INT PRIMARY KEY AUTO_INCREMENT, n VARCHAR(10)); INSERT INTO a (n) VALUES ('n1'),('n1'),('n1'); SHOW VARIABLES LIKE 'auto_increment%'; Executed from mysql Client on Node 1 2 INSERT INTO a (n) VALUES ('n2'),('n2'),('n2'); SHOW VARIABLES LIKE 'auto_increment%'; SELECT * FROM a; 3 SHOW VARIABLES LIKE 'auto_increment%'; Executed from mysql Client on Node 1 4 SHOW VARIABLES LIKE 'auto_increment%'; INSERT INTO a (n) VALUES ('n3'),('n3'),('n3'); SELECT * FROM a; Executed from mysql Client on Node 3 Executed from mysql Client on Node 2 69

70 Controlling AUTO_INCREMENT Disable AUTO_INCREMENT Control in galera2 Stop and Start galera3 1 SET GLOBAL wsrep_auto_increment_control=0; Executed from mysql Client on Node 2 3 SHOW VARIABLES LIKE 'auto_increment%'; 2 systemctl stop mariadb Executed from Command-Line on Node 3 4 systemctl start mariadb Executed from Command-Line on Node 3 Execute on Both Node 1 and 2 5 SHOW VARIABLES LIKE 'auto_increment%'; 70

71 Detecting a Slow Node Nodes should have Equal Capacity Use Equivalent Hardware Galera Implements Flow Control to Protect Cluster from Slave Queue Growth wsrep_flow_control_sent wsrep_flow_control_recvd wsrep_flow_control_paused wsrep_local_recv_queue Number of Times Node Asked for Flow Control Number of Times Node Received Flow Control Stop Signal Fraction of Time Node had to Pause for Flow Control Length of Slave Queue Slow Nodes in Galera: 71

72 Slave Queue Tuning Nodes should have Equal Capacity Use Equivalent Hardware Galera Implements Flow Control to Protect Cluster from Slave Queue Growth A Value Greater than 0.02 for wsrep_flow_control_paused indicates a Performance Problem in Cluster Managing Galera Flow: 72

73 Slave Queue Tuning wsrep_slave_threads Number of Parallel Threads Applying to Slave Queue Slave Thread Count = 1 to 3 x Logical CPU Cores gcs.fc_limit High Limit for Flow Control (default 16) Flow Control Stops when Reached 5 x wsrep_slave_threads gcs.fc_factor Factor times Limit is Lower Limit (default 1; recommended 0.8) Flow Control Resumes when Slave Queue Reduced to this Level 73

74 Flow Control Configure Flow Control Limit Low on Second Node Push Heavy Load against the First Node and Check Status on Second SET GLOBAL wsrep_provider_options = 'gcs.fc_limit=2'; Executed from mysql Client on Node 2 sysbench --test=/usr/share/doc/sysbench/tests/db/oltp.lua \ --mysql-user=root --mysql-password=fido123 \ --mysql-db=sbtest --oltp-table-size=25000 \ --report-interval=5 --max-requests=0 --num-threads=10 run Executed from Command-Line on First Node 74

75 Parallel Replication Any Number of Slave Applier Threads can be Started Slave Control Assigns Write Sets for Slave Appliers Slave Thread MariaDB Slave Thread Slave Control is on ROW Level Applying Only is Parallel Commit Order is Dictated Slave Control Slave Queue 75

76 True Parallel Applying Every Application Benefits Works on Row Level Not on Database or Table SET GLOBAL wsrep_slave_threads = n; Set to Number of Slaves that makes Sense Monitor wsrep_cert_deps_distance Maximum about 4 times Number of CPU Cores 76

77 True Parallel Applying Start Heavy Load on First Node Monitor CPU on Second Node with top Configure More Slave Threads sysbench --test=/usr/share/doc/sysbench/tests/db/oltp.lua \ --mysql- user=root --mysql-password=fido123 \ --mysql-db=sbtest --oltp-table-size=25000 \ --report-interval=5 --max-requests=0 --num-threads=10 run Executed from Command-Line on First Node SET GLOBAL wsrep_slave_threads = 2; SHOW PROCESSLIST; SET GLOBAL wsrep_slave_threads = 4; SHOW PROCESSLIST; Executed from mysql Client on Node 2 77

78 Multi-Master Conflicts MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

79 Multi-Master Conflicts Galera Uses Optimistic Concurrency Control When Two Transactions Modify same Row on Different Nodes at Same Time, One Transaction must Abort Victim Transaction will get Deadlock Error (1213) upon COMMIT Application should Retry Deadlocked Transactions Not All Applications have Retrying Logic Built-In 79

80 Retry Transactions Galera can Retry autocommit Transaction for Client Application within MariaDB Server MariaB will Not Return Deadlock Error will Retry Silently Transaction Set wsrep_retry_autocommit to Number of Retries before Returning Deadlock Error Retrying Applies Only to autocommit Transactions since Not Safe for Multi-Statement Transactions 80

81 Diagnostics Set wsrep_log_conflicts to send Information on each Cluster Conflict to MariaDB Error Log Use Cert.log_conflicts to Log Conflicting Transaction Database Hot-Spots Rows to which Many Transactions want to Write Simultaneously Patterns like Queue or ID Allocation can be Hot-Spots Monitor Status Variables wsrep_local_bf_aborts wsrep_local_cert_failures Set wsrep_debug so All Conflicts will be Logged 81

82 Diagnose Conflicts Check if Application Logic can be Changed to get Deadlock Exception and Apply Retrying Logic in Application Try Setting wsrep_retry_autocommit Limit Number of Master Nodes or Change to Master-Slave Model Treat Writes Only to Hot-Spot Table as Master-Slave, if can Limit Access to Table SET GLOBAL wsrep_log_conflicts=1; SET GLOBAL wsrep_provider_options = 'cert.log_conflicts=1'; Executed from mysql Client on Node 1 tail -f /var/lib/mysql/node1.err Executed from Command-Line on First Node SHOW LOCAL STATUS LIKE 'wsrep_local%'; Executed from mysql Client on Node 1 82

83 Create Ad-Hoc Conflict Any Command after Conflict will Result in Deadlock Error 1 CREATE TABLE c (i INT PRIMARY KEY, j INT); INSERT INTO c VALUES (1,0),(2,0); BEGIN; UPDATE c SET j=1 WHERE i=1; Executed from mysql Client on Node COMMIT; BEGIN; UPDATE c SET j=1 WHERE i=1; Executed from mysql Client on Node 1 UPDATE c SET j=2 WHERE i=1; Executed from mysql Client on Node 2 2 UPDATE c SET j=2 WHERE i=1; Executed from mysql Client on Node 2 5 SELECT * FROM c; Executed from mysql Client on Node 1 83

84 Schema Changes MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

85 Schema Upgrades DDL is Non-Transactional Bad for Replication Galera has Two Methods for DDL Total Order Isolation (TOI) Rolling Schema Upgrade (RSU) Use wsrep_osu_method to choose Option pt-online-schema-change provides Lockless Schema Upgrade Use TOI Mode Careful of Foreign Keys 85

86 Total Order Isolation DDL is Replicated Up-Front Each Node gets the DDL Statement and Must Process DDL at Same Slot in Transaction Stream Galera Isolates and Locks Entire Cluster for Duration of DDL Processing Documentation on Isolation Levels: 86

87 Rolling Schema Upgrade DDL is Not Replicated Galera will Remove Node from Replication for Duration of DDL Processing When done with DDL, Node will get Missed Transactions (e.g., IST) DBA should Roll RSU Operation over All Nodes Requires Backward Compatible Schema Changes Use Only under Certain Conditions Planned SQL is Not Conflicting SQL will Not Generate Inconsistency 87

88 Schema Upgrade Strategy Best Practices Plan Upgrades Try to make Backwards Compatible Rehearse Upgrades Determine DDL Execution Time Use RSU if Possible ALTER TABLE to Create New AUTO_INCREMENT Column will Cause Problems Every Node has Different AUTO_INCREMENT and Offset Settings 88

89 Load Testing a Schema Upgrade Start Moderate sysbench Load sysbench --test=/usr/share/doc/sysbench/tests/db/oltp.lua \ --mysql-user=root --mysql-password=fido1123 \ --mysql-db=sbtest --oltp-table-size=25000 \ --report-interval=5 --max-requests=0 --tx-rate=10 run Issue Some DDL under TOI 1 2 ALTER TABLE sbtest ADD COLUMN (m int UNSIGNED KEY); Executed from mysql Client on Node 1 ALTER TABLE sbtest ADD COLUMN (n int UNSIGNED); 3 CREATE TABLE m (i int); Executed from mysql Client on Node 1 4 CREATE TABLE n (i int); Executed from mysql Client on Node 2 Executed from mysql Client on Node 2 89

90 Test Schema Upgrade Issue some DDL under RSU 1 2 SET GLOBAL wsrep_osu_method=rsu; ALTER TABLE sbtest DROP COLUMN m; Executed from mysql Client on Node 1 SHOW CREATE TABLE sbtest; SET GLOBAL wsrep_osu_method=rsu; ALTER TABLE sbtest DROP COLUMN n; Executed from mysql Client on Node DROP TABLE m; Executed from mysql Client on Node 1 DROP TABLE n; Executed from mysql Client on Node 2 90

91 Back-Ups with Galera MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

92 Galera for Back-Ups All Galera Nodes are Continuously Up-to-Date Best Practices Dedicate a Reference Node for Back-ups Assign Global Transaction Identifier with Back-up Possible Methods Desychronize a Node for Back-up XtraBackup 92

93 Back-Ups with Global Transaction Identifier Global Transaction Identifier (GTID) marks Position in Cluster Transaction Stream Backup with Known GTID makes Utilizing IST Possible when Joining New Nodes Recovering a Node Provisioning New Nodes Use XtraBackup's wrapper innobackupex with -- galera-info 93

94 Back-Up by Desynchronizing a Node Load Balancing Isolate Back-Up Node Server 1 Server 2 Server 3 Galera Replication 94

95 Back-Up by Desynchronizing a Node Desynchronize a Node from Group (Enable wsrep_desync) Load Balancing Server 1 Server 2 Server 3 Desynchronize Galera Replication 95

96 Back-Up by Desynchronizing a Node Load Balancing FLUSH TABLES WITH READ LOCK; Block Changes Server 1 Server 2 Server 3 Galera Replication 96

97 Back-Up by Desynchronizing a Node Read GTID from Status and Assign to Back- Up (wsrep_cluster_uuid, wsrep_last_committed) Load Balancing Back-Up Server 1 Server 2 Server 3 Galera Replication 97

98 Performing Back-Up After Desynchronizing Node Make Logical Backup mysqldump mydumper Physical Back-Up Copy with cp LVM Snapshot 98

99 Back-Up by Desynchronizing a Node Load Balancing UNLOCK TABLES; Replicate Changes Server 1 Server 2 Server 3 Galera Replication 99

100 Back-Up by Desynchronizing a Node Disable wsrep_desync Load Balancing Server 1 Server 2 Server 3 Galera Replication 100

101 XtraBackup Hot Back-Up Method Can be Used Any Time Simple and Efficient Use --galera-info Option to get Global Transaction Identifier Logged into Separate Galera Information File 101

102 Recovery MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

103 Recovering from Downtime Scheduled Maintenance Clean Shut-Downs Unexpected Cluster Failures Power Outage Network Outage Out of Synch Nodes 103

104 Recovering from Clean Shutdown Cluster Start Order is Important Always in Reverse Order symtemctl stop mariadb Start First the Node with Latest Writes or Changes If Start Instead another Bootstrap Node, Force SST for Subsequent Nodes Execute on All Three Nodes SST Initiated Unless All Nodes are in Same State (GTID) Shutdown Cleanly All Nodes Cluster can Shrink to One Node if Node Shutdowns are Graceful 104

105 Recovery Galera GTID (seqno) is Written in Persistent InnoDB Storage after each Commit Galera will use InnoDB GTID if seqno in grastate is Undefined (-1) seqno is Undefined in Case of Crash Persistent GTID can be Queried with galera_recovery_information Old Non systemd Installations Use --wsrep_recover Use InnoDB GTID if Unsure which Node was Last Updated 105

106 Split Brain Shutdown Third Node and Kill Second Node Make One Node the Primary Component (PC) Never have More than One Primary Component 1 2 Node 1 changes to Non-Primary State to Avoid Split Brain systemdtl stop mariadb Executed from Command-Line on Node 3 killall -9 mysqld Executed from Command-Line on Node SET GLOBAL wsrep_provider_options = 'pc.bootstrap=1'; Executed from mysql Client on Node 1 systemdtl start mariadb Executed from Command-Line on Node 2 systemdtl start mariadb Executed from Command-Line on Node 3 106

107 Split Brain Scenarios Even Number of Nodes Two Data Center Configurations Two-Node Configuration Weighted Nodes with One-Node Majority ( ) SET GLOBAL wsrep_provider_options = 'pc.ignore_sb=1'; SET GLOBAL wsrep_provider_options = 'pc.weight=3'; Executed from mysql Client on Node 1 Caution pc.ignore_sb is Dangerous 107

108 Two-Node Cluster and Split Brain wsrep_provider_options="pc.ignore_sb" Clients VIP 108

109 Load Balancing MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

110 Load Balancing Tools Use glbd Daemon for Load Balancing through a Daemon process Use libglb to Load Balance in Application Process Need to Set Two Environment Variables to use libglb LD_PRELOAD=<path-to-libglb> GLB_OPTIONS='options string' MaxScale is an Intelligent Proxy that $ LD_PRELOAD=src/.libs/libglb.so \ GLB_OPTIONS="--random " \ mysql -u root p fido123 -h P 3306 Documentation on Galera Load Balancer: Project Page: 110

111 Advanced Galera Topics MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

112 Weighted Quorum Better Control on Primary & Non- Primary State in Case of Failure For Link Failure, MAIN remains Primary server MAIN1: pc.weight=1 server MAIN2: pc.weight=1 server DR1: pc.weight=0 server DR2: pc.weight=0 Manual Intervention to make DR Primary Documentation on Weighted Quorum: 112

113 Multicasting Value of Multi-Casting WAN vs. LAN Recommended to set Multicast before Bootstrapping Cluster Problems may occur if Migrating from Unicast to Multicast $> ip route add /4 dev eth0 [server] wsrep_provider_options="gmcast.mcast_addr= " wsrep_cluster_address="gcomm:// " 113

114 Multiple Galera Cluster (Asynchronous) Multi-Site Replication is Possible with Galera Additional Caution Required All Tables must have Primary Keys Manual Management of AUTO_INCREMENT [server] wsrep_auto_increment_control=0 auto_increment_increment = 16 auto_increment_offset = 1,2,3,4,5,6,7,8,9( ) server_id = 1234 Use Same server_id for All 114

115 WAN Replication Link Failures happens More Frequently No Need to Arbitrate Always Increase the Timeouts Writes Stall for Longer Time while Link is Down Monitor the Network wsrep_provider_options = "evs.keepalive_period = PT3S; evs.suspect_timeout = PT30S; evs.inactive_timeout = PT1M; evs.install_timeout = PT1M" Defaults: evs.keepalive_period = PT1S evs.suspect_timeout = PT5S evs.inactive_timeout = PT15S evs.install_timeout = PT15S 115

116 Cluster Notifications Cluster can Trigger Notifications Notification can be Sent to MaxScale Script API for Notification Syntax wsrep_notify_cmd Defines the Script to Handle Notifications Load Balancer Configuration Monitoring 116

117 Cluster Notifications Notification Script (/usr/bin/ wsrep_notify.sh) # Command to Call when Node Status or Cluster Membership Changes. # Will be Passed All or Some of Following Options: # --status - New Status of Node # --uuid - UUID of Cluster # --primary - Whether Component is Primary ("yes" or "no") # --members - Comma-Separated List of Members # --index - Index of Node in List echo "$@" >> /tmp/wsrep_notifications.log 117

118 Cluster Notifications Configure the Second Node to Call the Notification Handler Cause Cluster State Changes 1 2 [server] wsrep_notify_cmd = /usr/bin/wsrep_notify.sh Excerpt from Configuration File on Node 2 tail -f /tmp/wsrep_notifications.log Executed from Command-Line on Node 2 3 systemctl stop mariadb Executed from Command-Line on Node 1 118

119 Master & Slave Settings Use if Writing only to One Master Set wsrep_sync_wait to 1 SET GLOBAL VARIABLE wsrep_provider_options = "gcs.fc_limit = 256; gcs.fc_factor = 0.99; gcs.fc_master_slave = yes"; Can Release Flow Control before Pausing Replication Defaults gcs.fc_limit = 16 gcs.fc_factor = 0.5 fc_master_slave = NO 119

120 Conclusions MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

121 On-Line Resources Documentation Knowledge Base Open-Source Community Post Questions on Forums Ask Questions on IRC FreeNode MariaDB Documentation and Knowledge Base: 121

122 Other Training Courses Public In-Person Courses Private In-Person Courses Live Virtual Training Courses Self-Paced On-Line Courses Training Courses: Upcoming Courses: 122

123 Thanks for Participating MariaDB Enterprise Cluster Introduction State Transfer Schema Changes Load Balancing Architecture Installation Caveats Multi-Master Conflicts Back-Ups Recovery Advanced Topics Conclusion

Migrating to XtraDB Cluster 2014 Edition

Migrating to XtraDB Cluster 2014 Edition Migrating to XtraDB Cluster 2014 Edition Jay Janssen Managing Consultant Overview of XtraDB Cluster Percona Server + Galera Cluster of Innodb nodes Readable and Writable Virtually Synchronous All data

More information

MariaDB High Availability. MariaDB Training

MariaDB High Availability. MariaDB Training MariaDB Training Introduction Introduction Complex Scenarios Enterprise Cluster Back-Ups with Cluster MaxScale Installation DRBD Monitoring Overview Semi-Synch Plugin Cluster Configuration MariaDB MaxScale

More information

Percona XtraDB Cluster MySQL Scaling and High Availability with PXC 5.7 Tibor Korocz

Percona XtraDB Cluster MySQL Scaling and High Availability with PXC 5.7 Tibor Korocz Percona XtraDB Cluster MySQL Scaling and High Availability with PXC 5.7 Tibor Korocz Architect Percona University Budapest 2017.05.11 1 2016 Percona Scaling and High Availability (application) 2 Scaling

More information

Percona XtraDB Cluster 5.7 Enhancements Performance, Security, and More

Percona XtraDB Cluster 5.7 Enhancements Performance, Security, and More Percona XtraDB Cluster 5.7 Enhancements Performance, Security, and More Michael Coburn, Product Manager, PMM Percona Live Dublin 2017 1 Your Presenter Product Manager for PMM (Percona Monitoring and Management)

More information

FromDual Annual Company Meeting

FromDual Annual Company Meeting FromDual Annual Company Meeting Athens, 2013 Galera Cluster for MySQL http:// 1 / 26 About FromDual GmbH (LLC) FromDual provides neutral and independent: Consulting for MySQL Support for MySQL and Galera

More information

Percona XtraDB Cluster

Percona XtraDB Cluster Percona XtraDB Cluster Ensure High Availability Presenter Karthik P R CEO Mydbops www.mydbops.com info@mydbops.com Mydbops Mydbops is into MySQL/MongoDB Support and Consulting. It is founded by experts

More information

What s new in Percona Xtradb Cluster 5.6. Jay Janssen Lead Consultant February 5th, 2014

What s new in Percona Xtradb Cluster 5.6. Jay Janssen Lead Consultant February 5th, 2014 What s new in Percona Xtradb Cluster 5.6 Jay Janssen Lead Consultant February 5th, 2014 Overview PXC 5.6 is the aggregation of Percona Server 5.6 Codership MySQL 5.6 patches Galera 3.x Agenda Major new

More information

Choosing a MySQL HA Solution Today

Choosing a MySQL HA Solution Today Choosing a MySQL HA Solution Today Choosing the best solution among a myriad of options. Michael Patrick Technical Account Manager at Percona The Evolution of HA in MySQL Blasts from the past Solutions

More information

Understanding Percona XtraDB Cluster 5.7 Operation and Key Algorithms. Krunal Bauskar PXC Product Lead (Percona Inc.)

Understanding Percona XtraDB Cluster 5.7 Operation and Key Algorithms. Krunal Bauskar PXC Product Lead (Percona Inc.) Understanding Percona XtraDB Cluster 5.7 Operation and Key Algorithms Krunal Bauskar PXC Product Lead (Percona Inc.) Objective I want to use Percona XtraDB Cluster but is it suitable for my needs and can

More information

Kenny Gryp. Ramesh Sivaraman. MySQL Practice Manager. QA Engineer 2 / 60

Kenny Gryp. Ramesh Sivaraman. MySQL Practice Manager. QA Engineer 2 / 60 Group Replication Us Ramesh Sivaraman Kenny Gryp QA Engineer MySQL Practice Manager 2 / 60 Table of Contents 1. Overview 2. Similarities 3. Differences GR & Galera 4. Differences PXC & Galera 5. Limitations

More information

G a l e r a C l u s t e r Schema Upgrades

G a l e r a C l u s t e r Schema Upgrades G a l e r a C l u s t e r Schema Upgrades Seppo Jaakola Codership Agenda Galera Cluster Overview DDL vs DML Demo of DDL Replication in Galera Cluster Rolling Schema Upgrade (RSU) Total Order Isolation

More information

MySQL High Availability

MySQL High Availability MySQL High Availability And other stuff worth talking about Peter Zaitsev CEO Moscow MySQL Users Group Meetup July 11 th, 2017 1 Few Words about Percona 2 Percona s Purpose To Champion Unbiased Open Source

More information

Choosing a MySQL HA Solution Today. Choosing the best solution among a myriad of options

Choosing a MySQL HA Solution Today. Choosing the best solution among a myriad of options Choosing a MySQL HA Solution Today Choosing the best solution among a myriad of options Questions...Questions...Questions??? How to zero in on the right solution You can t hit a target if you don t have

More information

MySQL usage of web applications from 1 user to 100 million. Peter Boros RAMP conference 2013

MySQL usage of web applications from 1 user to 100 million. Peter Boros RAMP conference 2013 MySQL usage of web applications from 1 user to 100 million Peter Boros RAMP conference 2013 Why MySQL? It's easy to start small, basic installation well under 15 minutes. Very popular, supported by a lot

More information

Percona XtraDB Cluster

Percona XtraDB Cluster Percona XtraDB Cluster Field Guide Issue No. 1 By Jay Janssen, Jervin Real and Peter Zaitsev Copyright 2006-2014 Percona LLC Percona XtraDB Cluster: Field Guide Issue No. 1 This is the first is a series

More information

High availability with MariaDB TX: The definitive guide

High availability with MariaDB TX: The definitive guide High availability with MariaDB TX: The definitive guide MARCH 2018 Table of Contents Introduction - Concepts - Terminology MariaDB TX High availability - Master/slave replication - Multi-master clustering

More information

HA solution with PXC-5.7 with ProxySQL. Ramesh Sivaraman Krunal Bauskar

HA solution with PXC-5.7 with ProxySQL. Ramesh Sivaraman Krunal Bauskar HA solution with PXC-5.7 with ProxySQL Ramesh Sivaraman Krunal Bauskar Agenda What is Good HA eco-system? Understanding PXC-5.7 Understanding ProxySQL PXC + ProxySQL = Complete HA solution Monitoring using

More information

MariaDB 10.3 vs MySQL 8.0. Tyler Duzan, Product Manager Percona

MariaDB 10.3 vs MySQL 8.0. Tyler Duzan, Product Manager Percona MariaDB 10.3 vs MySQL 8.0 Tyler Duzan, Product Manager Percona Who Am I? My name is Tyler Duzan Formerly an operations engineer for more than 12 years focused on security and automation Now a Product Manager

More information

Percona Xtrabackup: Hot Backup Solution for MySQL

Percona Xtrabackup: Hot Backup Solution for MySQL Percona Xtrabackup: Hot Backup Solution for MySQL Martin Arrieta February 2013 Agenda 1.Why backups? 2.Different options 3.Why Percona Xtrabackup 4.Installation 5.How it works? 6.Backup examples 7.Backup

More information

MySQL High Availability with Percona XtraDB Cluster 5.7 Hands on tutorial!

MySQL High Availability with Percona XtraDB Cluster 5.7 Hands on tutorial! MySQL High Availability with Percona XtraDB Cluster 5.7 Hands on tutorial! 1 Introducing pxc-strict-mode 2 Peter Zaitsev pz@percona.com Alok Pathak alok.pathak@percona.com Krunal Bauskar krunal.bauskar@percona.com

More information

Switching to Innodb from MyISAM. Matt Yonkovit Percona

Switching to Innodb from MyISAM. Matt Yonkovit Percona Switching to Innodb from MyISAM Matt Yonkovit Percona -2- DIAMOND SPONSORSHIPS THANK YOU TO OUR DIAMOND SPONSORS www.percona.com -3- Who We Are Who I am Matt Yonkovit Principal Architect Veteran of MySQL/SUN/Percona

More information

Percona XtraDB Cluster ProxySQL. For your high availability and clustering needs

Percona XtraDB Cluster ProxySQL. For your high availability and clustering needs Percona XtraDB Cluster-5.7 + ProxySQL For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar Agenda What is Good HA eco-system? Understanding PXC-5.7 Understanding ProxySQL PXC

More information

Percona XtraDB Cluster Tutorial

Percona XtraDB Cluster Tutorial Percona XtraDB Cluster Tutorial http://www.percona.com/training/ 2011-2017 Percona, Inc. 1 / 102 Table of Contents 1. Overview & Setup 6. Monitoring Galera 2. Migrating from M/S 3. Galera Replication Internals

More information

MySQL Replication Options. Peter Zaitsev, CEO, Percona Moscow MySQL User Meetup Moscow,Russia

MySQL Replication Options. Peter Zaitsev, CEO, Percona Moscow MySQL User Meetup Moscow,Russia MySQL Replication Options Peter Zaitsev, CEO, Percona Moscow MySQL User Meetup Moscow,Russia Few Words About Percona 2 Your Partner in MySQL and MongoDB Success 100% Open Source Software We work with MySQL,

More information

Everything You Need to Know About MySQL Group Replication

Everything You Need to Know About MySQL Group Replication Everything You Need to Know About MySQL Group Replication Luís Soares (luis.soares@oracle.com) Principal Software Engineer, MySQL Replication Lead Copyright 2017, Oracle and/or its affiliates. All rights

More information

Operational DBA In a Nutshell - HandsOn Reference Guide

Operational DBA In a Nutshell - HandsOn Reference Guide 1/12 Operational DBA In a Nutshell - HandsOn Reference Guide Contents 1 Operational DBA In a Nutshell 2 2 Installation of MySQL 2 2.1 Setting Up Our VM........................................ 2 2.2 Installation

More information

Galera in MariaDB 10.4 State of the Art and Plans

Galera in MariaDB 10.4 State of the Art and Plans Galera in MariaDB 10.4 State of the Art and Plans Seppo Jaakola Codership Seppo Jaakola One of the Founders of Codership Codership Galera Replication developers Partner of MariaDB for developing and supporting

More information

MySQL Group Replication & MySQL InnoDB Cluster

MySQL Group Replication & MySQL InnoDB Cluster MySQL Group Replication & MySQL InnoDB Cluster Production Ready? Kenny Gryp productions Table of Contents Group Replication MySQL Shell (AdminAPI) MySQL Group Replication MySQL Router Best Practices Limitations

More information

Aurora, RDS, or On-Prem, Which is right for you

Aurora, RDS, or On-Prem, Which is right for you Aurora, RDS, or On-Prem, Which is right for you Kathy Gibbs Database Specialist TAM Katgibbs@amazon.com Santa Clara, California April 23th 25th, 2018 Agenda RDS Aurora EC2 On-Premise Wrap-up/Recommendation

More information

Percona XtraDB Cluster powered by Galera. Peter Zaitsev CEO, Percona Slide Credits: Vadim Tkachenko Percona University, Washington,DC Sep 12,2013

Percona XtraDB Cluster powered by Galera. Peter Zaitsev CEO, Percona Slide Credits: Vadim Tkachenko Percona University, Washington,DC Sep 12,2013 powered by Galera Peter Zaitsev CEO, Percona Slide Credits: Vadim Tkachenko Percona University, Washington,DC Sep 12,2013 This talk High Availability Replication Cluster What is HA Availability Avail ~

More information

MySQL High Availability Solutions. Alex Poritskiy Percona

MySQL High Availability Solutions. Alex Poritskiy Percona MySQL High Availability Solutions Alex Poritskiy Percona The Five 9s of Availability Clustering & Geographical Redundancy Clustering Technologies Replication Technologies Well-Managed disasters power failures

More information

mysql Certified MySQL 5.0 DBA Part I

mysql Certified MySQL 5.0 DBA Part I mysql 005-002 Certified MySQL 5.0 DBA Part I http://killexams.com/exam-detail/005-002 QUESTION: 116 Which of the following correctly defines the general difference between a read lock and a write lock?

More information

Migrating to Aurora MySQL and Monitoring with PMM. Percona Technical Webinars August 1, 2018

Migrating to Aurora MySQL and Monitoring with PMM. Percona Technical Webinars August 1, 2018 Migrating to Aurora MySQL and Monitoring with PMM Percona Technical Webinars August 1, 2018 Introductions Introduction Vineet Khanna (Autodesk) Senior Database Engineer vineet.khanna@autodesk.com Tate

More information

Mysql Cluster Global Schema Lock

Mysql Cluster Global Schema Lock Mysql Cluster Global Schema Lock This definitely was not the case with MySQL Cluster 7.3.x. (Warning) NDB: Could not acquire global schema lock (4009)Cluster Failure 2015-03-25 14:51:53. Using High-Speed

More information

MySQL Backup solutions. Liz van Dijk Zarafa Summer Camp - June 2012

MySQL Backup solutions. Liz van Dijk Zarafa Summer Camp - June 2012 MySQL Backup solutions Liz van Dijk - @lizztheblizz Zarafa Summer Camp - June 2012 Percona MySQL/LAMP Consulting MySQL Support (co-)developers of Percona Server (XtraDB) Percona XtraBackup Percona Toolkit

More information

What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering. Copyright 2015, Oracle and/or its affiliates. All rights reserved. What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

Consistent Reads Using ProxySQL and GTID. Santa Clara, California April 23th 25th, 2018

Consistent Reads Using ProxySQL and GTID. Santa Clara, California April 23th 25th, 2018 Consistent Reads Using ProxySQL and GTID Santa Clara, California April 23th 25th, 2018 Disclaimer I am not René Cannaò @lefred MySQL Community Manager / Oracle the one who provided a hint for this not

More information

ProxySQL - GTID Consistent Reads. Adaptive query routing based on GTID tracking

ProxySQL - GTID Consistent Reads. Adaptive query routing based on GTID tracking ProxySQL - GTID Consistent Reads Adaptive query routing based on GTID tracking Introduction Rene Cannao Founder of ProxySQL MySQL DBA Introduction Nick Vyzas ProxySQL Committer MySQL DBA What is ProxySQL?

More information

MySQL Replication : advanced features in all flavours. Giuseppe Maxia Quality Assurance Architect at

MySQL Replication : advanced features in all flavours. Giuseppe Maxia Quality Assurance Architect at MySQL Replication : advanced features in all flavours Giuseppe Maxia Quality Assurance Architect at VMware @datacharmer 1 About me Who s this guy? Giuseppe Maxia, a.k.a. "The Data Charmer" QA Architect

More information

Introduction to MySQL Cluster: Architecture and Use

Introduction to MySQL Cluster: Architecture and Use Introduction to MySQL Cluster: Architecture and Use Arjen Lentz, MySQL AB (arjen@mysql.com) (Based on an original paper by Stewart Smith, MySQL AB) An overview of the MySQL Cluster architecture, what's

More information

ZFS and MySQL on Linux, the Sweet Spots

ZFS and MySQL on Linux, the Sweet Spots ZFS and MySQL on Linux, the Sweet Spots ZFS User Conference 2018 Jervin Real 1 / 50 MySQL The World's Most Popular Open Source Database 2 / 50 ZFS Is MySQL for storage. 3 / 50 ZFS + MySQL MySQL Needs A

More information

CO MySQL for Database Administrators

CO MySQL for Database Administrators CO-61762 MySQL for Database Administrators Summary Duration 5 Days Audience Administrators, Database Designers, Developers Level Professional Technology Oracle MySQL 5.5 Delivery Method Instructor-led

More information

MySQL for Database Administrators Ed 3.1

MySQL for Database Administrators Ed 3.1 Oracle University Contact Us: 1.800.529.0165 MySQL for Database Administrators Ed 3.1 Duration: 5 Days What you will learn The MySQL for Database Administrators training is designed for DBAs and other

More information

MySQL Database Scalability

MySQL Database Scalability MySQL Database Scalability Nextcloud Conference 2016 TU Berlin Oli Sennhauser Senior MySQL Consultant at FromDual GmbH oli.sennhauser@fromdual.com 1 / 14 About FromDual GmbH Support Consulting remote-dba

More information

MySQL Replication Advanced Features In 20 minutes

MySQL Replication Advanced Features In 20 minutes MySQL Replication Advanced Features In 20 minutes Peter Zaitsev, CEO FOSDEM, Brussels, Belgium February 2nd, 2019 1 Question #1 Who in this room is using some kind of MySQL Replication? 2 Question #2 Which

More information

Preventing and Resolving MySQL Downtime. Jervin Real, Michael Coburn Percona

Preventing and Resolving MySQL Downtime. Jervin Real, Michael Coburn Percona Preventing and Resolving MySQL Downtime Jervin Real, Michael Coburn Percona About Us Jervin Real, Technical Services Manager Engineer Engineering Engineers APAC Michael Coburn, Principal Technical Account

More information

The Hazards of Multi-writing in a Dual-Master Setup

The Hazards of Multi-writing in a Dual-Master Setup The Hazards of Multi-writing in a Dual-Master Setup Jay Janssen MySQL Consulting Lead November 15th, 2012 Explaining the Problem Rules of the Replication Road A given MySQL instance: Can be both a master

More information

MySQL Group Replication. Bogdan Kecman MySQL Principal Technical Engineer

MySQL Group Replication. Bogdan Kecman MySQL Principal Technical Engineer MySQL Group Replication Bogdan Kecman MySQL Principal Technical Engineer Bogdan.Kecman@oracle.com 1 Safe Harbor Statement The following is intended to outline our general product direction. It is intended

More information

MySQL HA Solutions. Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com

MySQL HA Solutions. Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com MySQL HA Solutions Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com What we ll cover today High Availability Terms and Concepts Levels of High Availability What technologies are there

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1 MySQL : 5.6 the Next Generation Lynn Ferrante Principal Consultant, Technical Sales Engineering Northern California Oracle Users Group November 2012 2 Safe Harbor Statement The

More information

Oracle Exam 1z0-883 MySQL 5.6 Database Administrator Version: 8.0 [ Total Questions: 100 ]

Oracle Exam 1z0-883 MySQL 5.6 Database Administrator Version: 8.0 [ Total Questions: 100 ] s@lm@n Oracle Exam 1z0-883 MySQL 5.6 Database Administrator Version: 8.0 [ Total Questions: 100 ] Oracle 1z0-883 : Practice Test Question No : 1 Consider the Mysql Enterprise Audit plugin. You are checking

More information

Choosing a MySQL High Availability Solution. Marcos Albe, Percona Inc. Live Webinar June 2017

Choosing a MySQL High Availability Solution. Marcos Albe, Percona Inc. Live Webinar June 2017 Choosing a MySQL High Availability Solution Marcos Albe, Percona Inc. Live Webinar June 2017 Agenda What is availability Components to build an HA solution HA options in the MySQL ecosystem Failover/Routing

More information

Running MySQL on AWS. Michael Coburn Wednesday, April 15th, 2015

Running MySQL on AWS. Michael Coburn Wednesday, April 15th, 2015 Running MySQL on AWS Michael Coburn Wednesday, April 15th, 2015 Who am I? 2 Senior Architect with Percona 3 years on Friday! Canadian but I now live in Costa Rica I see 3-10 different customer environments

More information

Performance comparisons and trade-offs for various MySQL replication schemes

Performance comparisons and trade-offs for various MySQL replication schemes Performance comparisons and trade-offs for various MySQL replication schemes Darpan Dinker VP Engineering Brian O Krafka, Chief Architect Schooner Information Technology, Inc. http://www.schoonerinfotech.com/

More information

MySQL Replication. Rick Golba and Stephane Combaudon April 15, 2015

MySQL Replication. Rick Golba and Stephane Combaudon April 15, 2015 MySQL Replication Rick Golba and Stephane Combaudon April 15, 2015 Agenda What is, and what is not, MySQL Replication Replication Use Cases Types of replication Replication lag Replication errors Replication

More information

Creating a Best-in-Class Backup and Recovery System for Your MySQL Environment. Akshay Suryawanshi DBA Team Manager,

Creating a Best-in-Class Backup and Recovery System for Your MySQL Environment. Akshay Suryawanshi DBA Team Manager, Creating a Best-in-Class Backup and Recovery System for Your MySQL Environment Akshay Suryawanshi DBA Team Manager, 2015-07-15 Agenda Why backups? Backup Types Binary or Raw Backups Logical Backups Binlog

More information

MyRocks in MariaDB. Sergei Petrunia MariaDB Tampere Meetup June 2018

MyRocks in MariaDB. Sergei Petrunia MariaDB Tampere Meetup June 2018 MyRocks in MariaDB Sergei Petrunia MariaDB Tampere Meetup June 2018 2 What is MyRocks Hopefully everybody knows by now A storage engine based on RocksDB LSM-architecture Uses less

More information

ITS. MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA)

ITS. MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA) MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA) Prerequisites Have some experience with relational databases and SQL What will you learn? The MySQL for Database Administrators

More information

Effective Testing for Live Applications. March, 29, 2018 Sveta Smirnova

Effective Testing for Live Applications. March, 29, 2018 Sveta Smirnova Effective Testing for Live Applications March, 29, 2018 Sveta Smirnova Table of Contents Sometimes You Have to Test on Production Wrong Data SELECT Returns Nonsense Wrong Data in the Database Performance

More information

MySQL Multi-Site/Multi-Master Done Right

MySQL Multi-Site/Multi-Master Done Right MySQL Multi-Site/Multi-Master Done Right MySQL Clustering for HA and DR The Dream: Multiple, active DBMS servers with identical data over distance Too good to be true? High Performance High Availability

More information

Backup & Restore. Maximiliano Bubenick Sr Remote DBA

Backup & Restore. Maximiliano Bubenick Sr Remote DBA Backup & Restore Maximiliano Bubenick Sr Remote DBA Agenda Why backups? Backup Types Raw Backups Logical Backups Binlog mirroring Backups Locks Tips Why Backups? Why Backups? At some point something will

More information

Geographically Dispersed Percona XtraDB Cluster Deployment. Marco (the Grinch) Tusa September 2017 Dublin

Geographically Dispersed Percona XtraDB Cluster Deployment. Marco (the Grinch) Tusa September 2017 Dublin Geographically Dispersed Percona XtraDB Cluster Deployment Marco (the Grinch) Tusa September 2017 Dublin About me Marco The Grinch Open source enthusiast Percona consulting Team Leader 2 Agenda What is

More information

Amazon Aurora Deep Dive

Amazon Aurora Deep Dive Amazon Aurora Deep Dive Enterprise-class database for the cloud Damián Arregui, Solutions Architect, AWS October 27 th, 2016 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Enterprise

More information

Lessons from database failures

Lessons from database failures Lessons from database failures Colin Charles, Chief Evangelist, Percona Inc. colin.charles@percona.com / byte@bytebot.net http://www.bytebot.net/blog/ @bytebot on Twitter Percona Webminar 18 January 2017

More information

Design Patterns for Large- Scale Data Management. Robert Hodges OSCON 2013

Design Patterns for Large- Scale Data Management. Robert Hodges OSCON 2013 Design Patterns for Large- Scale Data Management Robert Hodges OSCON 2013 The Start-Up Dilemma 1. You are releasing Online Storefront V 1.0 2. It could be a complete bust 3. But it could be *really* big

More information

The Google File System

The Google File System October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single

More information

MySQL Backup Best Practices and Case Study:.IE Continuous Restore Process

MySQL Backup Best Practices and Case Study:.IE Continuous Restore Process MySQL Backup Best Practices and Case Study:.IE Continuous Restore Process Marcelo Altmann Senior Support Engineer - Percona Mick Begley Technical Service Manager - IE Domain Registry Agenda Agenda Why

More information

1Z Oracle. MySQL 5 Database Administrator Certified Professional Part I

1Z Oracle. MySQL 5 Database Administrator Certified Professional Part I Oracle 1Z0-873 MySQL 5 Database Administrator Certified Professional Part I Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-873 A. Use the --log-queries-indexes option. B. Use the

More information

XtraBackup FOSDEM Kenny Gryp. Principal Percona

XtraBackup FOSDEM Kenny Gryp. Principal Percona XtraBackup Kenny Gryp kenny.gryp@percona.com Principal Consultant @ Percona FOSDEM 2011 1 Percona MySQL/LAMP Consulting Support & Maintenance Percona Server (XtraDB) Percona XtraBackup InnoDB Recovery

More information

What s New in MySQL and MongoDB Ecosystem Year 2017

What s New in MySQL and MongoDB Ecosystem Year 2017 What s New in MySQL and MongoDB Ecosystem Year 2017 Peter Zaitsev CEO Percona University, Ghent June 22 nd, 2017 1 In This Presentation Few Words about Percona Few Words about Percona University Program

More information

MyRocks Storage Engine Status Update. Sergei Petrunia MariaDB Meetup New York February, 2018

MyRocks Storage Engine Status Update. Sergei Petrunia MariaDB Meetup New York February, 2018 MyRocks Storage Engine Status Update Sergei Petrunia MariaDB Meetup New York February, 2018 2 Plan What MyRocks is How it is provided in upstream Packaging MyRocks in MariaDB MyRocks

More information

Datacenter replication solution with quasardb

Datacenter replication solution with quasardb Datacenter replication solution with quasardb Technical positioning paper April 2017 Release v1.3 www.quasardb.net Contact: sales@quasardb.net Quasardb A datacenter survival guide quasardb INTRODUCTION

More information

1Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12

1Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1 Insert Information Protection Policy Classification from Slide 12 Getting Started with MySQL Santo Leto Principal Technical Support Engineer, MySQL Jesper Wisborg Krogh Principal Technical Support Engineer,

More information

MarkLogic Server. Database Replication Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Database Replication Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved. Database Replication Guide 1 MarkLogic 9 May, 2017 Last Revised: 9.0-3, September, 2017 Copyright 2017 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Database Replication

More information

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015 MySQL Database Administrator Training Day 1: AGENDA Introduction to MySQL MySQL Overview MySQL Database Server Editions MySQL Products MySQL Services and Support MySQL Resources Example Databases MySQL

More information

Upgrading MySQL Best Practices. Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc

Upgrading MySQL Best Practices. Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc Upgrading MySQL Best Practices Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc MySQL Upgrade How many of you have performed MySQL upgrade? Home many of you have done

More information

Resolving and Preventing MySQL Downtime

Resolving and Preventing MySQL Downtime Resolving and Preventing MySQL Downtime Common MySQL service impacting challenges, resolutions and prevention. Jervin Real Jervin Real Technical Services Manager APAC Engineer Engineering Engineers 2 What

More information

How to get MySQL to fail

How to get MySQL to fail Snow B.V. Feb 3, 2013 Introduction We all know we shouldn t press the button... Introduction We all know we shouldn t press the button... but we all want to try. Do you know? Do you know what happens if

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 ADVANCED MYSQL REPLICATION ARCHITECTURES Luís

More information

Tips from the Trenches Preventing downtime for the over extended DBA. Andrew Moore Senior Remote DBA Percona Managed Services

Tips from the Trenches Preventing downtime for the over extended DBA. Andrew Moore Senior Remote DBA Percona Managed Services Tips from the Trenches Preventing downtime for the over extended DBA Andrew Moore Senior Remote DBA Percona Managed Services Your Presenter Andrew Moore @mysqlboy on twitter 1+ year in Manager Services

More information

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved.

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved. Configuring the Oracle Network Environment Objectives After completing this lesson, you should be able to: Use Enterprise Manager to: Create additional listeners Create Oracle Net Service aliases Configure

More information

Oracle 1Z MySQL 5.6 Database Administrator. Download Full Version :

Oracle 1Z MySQL 5.6 Database Administrator. Download Full Version : Oracle 1Z0-883 MySQL 5.6 Database Administrator Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-883 D. The mysqld binary was not compiled with SSL support. E. The server s SSL certificate

More information

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona In the Presentation Practical approach to deal with some of the common MySQL Issues 2 Assumptions You re looking

More information

Using MHA in and out of the Cloud. Garrick Peterson Percona University, Toronto 2013

Using MHA in and out of the Cloud. Garrick Peterson Percona University, Toronto 2013 Using MHA in and out of the Cloud Garrick Peterson Percona University, Toronto 2013 Agenda Who am I MHA Overview HA In the Cloud IP Management options Simple use case What do we use Recommendations GTID

More information

Postgres-XC PG session #3. Michael PAQUIER Paris, 2012/02/02

Postgres-XC PG session #3. Michael PAQUIER Paris, 2012/02/02 Postgres-XC PG session #3 Michael PAQUIER Paris, 2012/02/02 Agenda Self-introduction Highlights of Postgres-XC Core architecture overview Performance High-availability Release status 2 Self-introduction

More information

PolarDB. Cloud Native Alibaba. Lixun Peng Inaam Rana Alibaba Cloud Team

PolarDB. Cloud Native Alibaba. Lixun Peng Inaam Rana Alibaba Cloud Team PolarDB Cloud Native DB @ Alibaba Lixun Peng Inaam Rana Alibaba Cloud Team Agenda Context Architecture Internals HA Context PolarDB is a cloud native DB offering Based on MySQL-5.6 Uses shared storage

More information

MySQL High Availability. Michael Messina Senior Managing Consultant, Rolta-AdvizeX /

MySQL High Availability. Michael Messina Senior Managing Consultant, Rolta-AdvizeX / MySQL High Availability Michael Messina Senior Managing Consultant, Rolta-AdvizeX mmessina@advizex.com / mike.messina@rolta.com Introduction Michael Messina Senior Managing Consultant Rolta-AdvizeX, Working

More information

Highly Available Database Architectures in AWS. Santa Clara, California April 23th 25th, 2018 Mike Benshoof, Technical Account Manager, Percona

Highly Available Database Architectures in AWS. Santa Clara, California April 23th 25th, 2018 Mike Benshoof, Technical Account Manager, Percona Highly Available Database Architectures in AWS Santa Clara, California April 23th 25th, 2018 Mike Benshoof, Technical Account Manager, Percona Hello, Percona Live Attendees! What this talk is meant to

More information

Load Testing Tools. for Troubleshooting MySQL Concurrency Issues. May, 23, 2018 Sveta Smirnova

Load Testing Tools. for Troubleshooting MySQL Concurrency Issues. May, 23, 2018 Sveta Smirnova Load Testing Tools for Troubleshooting MySQL Concurrency Issues May, 23, 2018 Sveta Smirnova Introduction This is very personal webinar No intended use No best practices No QA-specific tools Real life

More information

Which technology to choose in AWS?

Which technology to choose in AWS? Which technology to choose in AWS? RDS / Aurora / Roll-your-own April 17, 2018 Daniel Kowalewski Senior Technical Operations Engineer Percona 1 2017 Percona AWS MySQL options RDS for MySQL Aurora MySQL

More information

PostgreSQL Replication 2.0

PostgreSQL Replication 2.0 PostgreSQL Replication 2.0 NTT OSS Center Masahiko Sawada PGConf.ASIA 2017 Copyright 2017 NTT corp. All Rights Reserved. Who am I Masahiko Sawada @sawada_masahiko NTT Open Source Software Center PostgreSQL

More information

High Availability Solutions for the MySQL Database

High Availability Solutions for the MySQL Database www.skysql.com High Availability Solutions for the MySQL Database Introduction This paper introduces recommendations and some of the solutions used to create an availability or high availability environment

More information

MariaDB CeBIT MariaDB 10.1: Datenbankverschlüsselung und andere Sicherheitsvorteile. Jens Bollmann, Principal Instructor/Consultant

MariaDB CeBIT MariaDB 10.1: Datenbankverschlüsselung und andere Sicherheitsvorteile. Jens Bollmann, Principal Instructor/Consultant 2015, MariaDB Corp. MariaDB CeBIT 2016 MariaDB 10.1: Datenbankverschlüsselung und andere Sicherheitsvorteile Jens Bollmann, Principal Instructor/Consultant Agenda MariaDB 10.1/10.2 new features High Availabilty

More information

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://www.certqueen.com

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://www.certqueen.com IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://www.certqueen.com Exam : 005-002 Title : Certified MySQL 5.0 DBA Part I Version : Demo 1 / 10 1. Will the following SELECT query

More information

MySQL Point-in-Time Recovery like a Rockstar

MySQL Point-in-Time Recovery like a Rockstar 1 / 51 2 / 51 3 / 51 MySQL Point-in-Time Recovery like a Rockstar Accelerate MySQL point-in-time recovery for large workloads FOSDEM, February 2018 Frédéric Descamps - MySQL Community Manager - Oracle

More information

Upgrading to MySQL 8.0+: a More Automated Upgrade Experience. Dmitry Lenev, Software Developer Oracle/MySQL, November 2018

Upgrading to MySQL 8.0+: a More Automated Upgrade Experience. Dmitry Lenev, Software Developer Oracle/MySQL, November 2018 Upgrading to MySQL 8.0+: a More Automated Upgrade Experience Dmitry Lenev, Software Developer Oracle/MySQL, November 2018 Safe Harbor Statement The following is intended to outline our general product

More information

Backup and Recovery Strategy

Backup and Recovery Strategy Backup and Recovery Strategy About Stacy 10+ years of experience on various flavors of relational databases. Focus on performance tuning, code reviews, database deployment and infrastructure management

More information

NoVA MySQL October Meetup. Tim Callaghan VP/Engineering, Tokutek

NoVA MySQL October Meetup. Tim Callaghan VP/Engineering, Tokutek NoVA MySQL October Meetup TokuDB and Fractal Tree Indexes Tim Callaghan VP/Engineering, Tokutek 2012.10.23 1 About me, :) Mark Callaghan s lesser-known but nonetheless smart brother. [C. Monash, May 2010]

More information

Synergetics-Standard-SQL Server 2012-DBA-7 day Contents

Synergetics-Standard-SQL Server 2012-DBA-7 day Contents Workshop Name Duration Objective Participants Entry Profile Training Methodology Setup Requirements Hardware and Software Requirements Training Lab Requirements Synergetics-Standard-SQL Server 2012-DBA-7

More information

MySQL HA Solutions Selecting the best approach to protect access to your data

MySQL HA Solutions Selecting the best approach to protect access to your data MySQL HA Solutions Selecting the best approach to protect access to your data Sastry Vedantam sastry.vedantam@oracle.com February 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved

More information