MariaDB Enterprise Cluster. MariaDB Training
|
|
- Nickolas Gilbert
- 6 years ago
- Views:
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 Jay Janssen Managing Consultant Overview of XtraDB Cluster Percona Server + Galera Cluster of Innodb nodes Readable and Writable Virtually Synchronous All data
More informationMariaDB 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 informationPercona 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 informationPercona 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 informationFromDual 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 informationPercona 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 informationWhat 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 informationChoosing 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 informationUnderstanding 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 informationKenny 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 informationG 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 informationMySQL 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 informationChoosing 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 informationMySQL 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 informationPercona 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 informationHigh 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 informationHA 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 informationMariaDB 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 informationPercona 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 informationMySQL 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 informationSwitching 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 informationPercona 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 informationPercona 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 informationMySQL 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 informationEverything 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 informationOperational 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 informationGalera 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 informationMySQL 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 informationAurora, 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 informationPercona 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 informationMySQL 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 informationmysql 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 informationMigrating 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 informationMysql 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 informationMySQL 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 informationWhat 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 informationConsistent 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 informationProxySQL - 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 informationMySQL 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 informationIntroduction 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 informationZFS 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 informationCO 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 informationMySQL 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 informationMySQL 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 informationMySQL 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 informationPreventing 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 informationThe 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 informationMySQL 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 informationMySQL 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 informationCopyright 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 informationOracle 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 informationChoosing 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 informationRunning 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 informationPerformance 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 informationMySQL 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 informationCreating 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 informationMyRocks 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 informationITS. 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 informationEffective 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 informationMySQL 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 informationBackup & 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 informationGeographically 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 informationAmazon 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 informationLessons 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 informationDesign 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 informationThe 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 informationMySQL 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 information1Z 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 informationXtraBackup 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 informationWhat 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 informationMyRocks 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 informationDatacenter 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 information1Copyright 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 informationMarkLogic 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 informationMySQL 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 informationUpgrading 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 informationResolving 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 informationHow 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 information1 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 informationTips 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 informationConfiguring 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 informationOracle 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 informationMySQL 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 informationUsing 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 informationPostgres-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 informationPolarDB. 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 informationMySQL 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 informationHighly 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 informationLoad 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 informationWhich 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 informationPostgreSQL 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 informationHigh 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 informationMariaDB 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 informationIT 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 informationMySQL 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 informationUpgrading 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 informationBackup 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 informationNoVA 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 informationSynergetics-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 informationMySQL 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