Using Tungsten Replicator to solve replication problems

Size: px
Start display at page:

Download "Using Tungsten Replicator to solve replication problems"

Transcription

1 Using Tungsten Replicator to solve replication problems Neil Armitage, Cluster implementation Engineer, Continuent Giuseppe Maxia, QA Director, Continuent 1 1

2 ABOUT US Neil Armitage Continuent Tungsten Deployment and Support Engineer, Continuent, Inc 20 years development and DB experience Giuseppe Maxia, a.k.a. "The Data Charmer" QA Director, Continuent, Inc 25 years development and DB experience long timer MySQL community member. Oracle ACE Director 2 2

3 Tungsten replicator Global transaction ID Multiple masters Multiple sources Flexible topologies Parallel replication Heterogeneous replication... and more 3 3

4 What Tungsten Replicator is NOT Automated management Automatic failover Transparent connections All the above (and more) are available with a commercial solution named Continuent Tungsten (a.k.a. Tungsten Enterprise) 4 4

5 What are we talking about? Requirements Components Installation Topologies Administration Troubleshooting 5 5

6 Tungsten Replicator Concepts Replicator The replication engine Role Master, slave, direct slave service A.k.a. "pipeline" stage extract,queue,apply 6 6

7 Tungsten Replicator Components THL Transaction History Log service schema Makes the node crash proof properties file service definition tools Ruling from a centralized location 7 7

8 Tungsten Replicator in a nutshell host1 master host2 slave binlog global transaction ID THL THL trep_commit_seqno origin seqno eventid trep_commit_seqno origin seqno eventid 8 8

9 Planning Hosts Topology Stand-alone or taking over 9 9

10 master-slave fan-in slave MySQL Oracle Oracle MySQL all-masters Heterogeneous Oracle MySQL MySQL Oracle star 10

11 Installation 11 11

12 Installation System Requirements Validate!rst Deploying from a single location 12 12

13 Installation - tools tools/ tungsten-installer tools/ con!gure-service tools/update (Using the cookbook recipes, you hardly see them) 13 13

14 Tungsten in practice Installation 14 14

15 Installation Check the requirements Get the binaries Expand the tarball Run cookbook 15 15

16 REQUIREMENTS Java JRE or JDK (Sun/Oracle or Open-jdk) Ruby 1.8 (only during installation) ssh access to the same user in all nodes MySQL user with all privileges 16 16

17 Installation - Choices --master-slave --direct 17 17

18 master-slave host1 master host2 slave binlog THL THL host3 slave THL 18 18

19 direct host1 master host2 slave relay log binlog host3 THL slave relay log THL 19 19

20 Overview of Virtual Machines Copy zip!les from USB Key Expand on local disk Start all 4 Machines in VirtualBox 20 20

21 Virtual Machines 4 Nodes host1->host4 Running centos 6.3 and Percona 5.5 Root and tungsten password = password localhost port 2222 redirects to 22 on hosts ssh - p 2222 tungsten@localhost 21 21

22 VERY important de!nitions Staging directory: Where you unpack the software and run the installer. There is generally only one, in one host; Can be discarded after installation Installation directory: Where your installed software will go; There is one for every host; 22 22

23 Example host1 Staging directory: $HOME/tungsten-replicator Installation directory: /opt/replication Installation directory: /opt/replication host2 Installation directory: /opt/replication host

24 Requirements : how to step by step: how it happened 24 24

25 installing VMs Step-by-step demo 25 25

26 Overview of Tungsten cookbook 26 26

27 tungsten cookbook tungsten-replicator /cluster-home +--/cookbook +--/tools +--/tungsten-replicator 27 27

28 tungsten cookbook tungsten-replicator /cookbook +--COMMON_NODES.sh +--USER_VALUES.sh +--NODES_MASTER_SLAVE.sh +--install_master_slave +--show_cluster +--test_cluster

29 tungsten cookbook tungsten-replicator /cookbook +--COMMON_NODES.sh +--USER_VALUES.sh +--NODES_ALL_MASTERS.sh +--install_all_masters +--show_cluster +--test_cluster

30 tungsten cookbook tungsten-replicator /cookbook +--COMMON_NODES.sh +--USER_VALUES.sh +--NODES_STAR.sh +--install_star +--show_cluster +--test_cluster

31 tungsten cookbook tungsten-replicator /cookbook +--COMMON_NODES.sh +--USER_VALUES.sh +--NODES_FAN_IN.sh +--install_fan_in +--show_cluster +--test_cluster

32 tungsten cookbook $ cat COMMON_NODES.sh export NODE1=host1 export NODE2=host2 export NODE3=host3 export NODE4=host

33 tungsten cookbook $ cat USER_VALUES.sh # User defined values for the cluster to be installed. export TUNGSTEN_BASE=$HOME/installs/cookbook export DATABASE_USER=tungsten export BINLOG_DIRECTORY=/var/lib/mysql export MY_CNF=/etc/my.cnf export DATABASE_PASSWORD=secret export DATABASE_PORT=3306 export TUNGSTEN_SERVICE=cookbook export RMI_PORT=10000 export THL_PORT=2112 export START_OPTION=start 33 33

34 Getting started: VALIDATE FIRST export VERBOSE=1./cookbook/check_cookbook./cookbook/validate_cluster 34 34

35 sample master-slave installation edit cookbook/common_nodes.sh edit cookbook/user_values.sh run cookbook/install_master_slave and then: run cookbook/show_cluster run cookbook/test_cluster 35 35

36 What does the installation do 1: Validate all servers host4 host1 host2 host3 Report all errors 36 36

37 What does the installation do 1: (again) Validate all servers host4 host1 host2 host

38 What does the installation do 2: install Tungsten in all servers $HOME/ tinstall/ config/ releases/ relay/ thl/ tungsten/ backups/ host4 host1 host2 host

39 example (from manual installation) ssh r2 chmod 444 $HOME/tinstall./tools/tungsten-installer \ --master-slave --master-host=r1 \ --datasource-user=tungsten \ --datasource-password=secret \ --service-name=dragon \ --home-directory=$home/tinstall \ --thl-directory=$home/tinstall/logs \ --relay-directory=$home/tinstall/relay \ --cluster-hosts=r1,r2,r3,r4 --start ERROR >> qa.r2.continuent.com >> /home/tungsten/ tinstall is not writeable 39 39

40 example ssh r2 chmod 755 $HOME/tinstall./tools/tungsten-installer \ --master-slave --master-host=r1 \ --datasource-user=tungsten \ --datasource-password=secret \ --service-name=dragon \ --home-directory=$home/tinstall \ --thl-directory=$home/tinstall/logs \ --relay-directory=$home/tinstall/relay \ --cluster-hosts=r1,r2,r3,r4 --start # no errors 40 40

41 After installation. A tour of the cookbook utilities 41 41

42 General principles (1) Scripts without extension are designed to be launched by users e.g../cookbook/help./cookbook/install_master_slave Scripts with extension ".sh" are either for internal use only or deprecated../cookbook/install_* scripts can be used before installing. Most everything else require an installed topology 42 42

43 General principles (2) After installation there is a!le CURRENT_TOPOLOGY in the staging directory cookbook scripts can be used either from the staging directory or from the installation directory

44 Cookbook tour: help and checks./cookbook/check_cookbook./cookbook/help./cookbook/readme 44 44

45 Cookbook tour: Getting information./cookbook/show_cluster./cookbook/paths./cookbook/backups./cookbook/services./cookbook/query_node {node} {query}./cookbook/query_all_nodes {query} 45 45

46 Cookbook tour: Inspecting replication./cookbook/replicator./cookbook/trepctl./cookbook/thl./cookbook/show_conf./cookbook/edit_conf./cookbook/show_log./cookbook/vimlog./cookbook/emacslog 46 46

47 Cookbook tour: testing tools./cookbook/test_cluster./cookbook/start_load [start stop]./cookbook/test_all_topologies 47 47

48 Cookbook tour: powerful admin tools./cookbook/heartbeat./cookbook/switch./cookbook/add_node_master_slave./cookbook/add_node_star./cookbook/copy_backup./cookbook/clear_cluster # <--- CAUTION! 48 48

49 More installation 49 49

50 DRY-RUN Method to simulate installation; Does NOT perform installation; Does NOT even do validation; It only shows the commands used to install; Allows you to get the commands and do an installation manually (e.g. when you can't ssh between nodes) 50 50

51 DRY-RUN export DRYRUN=1./cookbook/install_master_slave 51 51

52 Intro to multi-master installation 52 52

53 How tungsten-installer Works for Basic Master/Slave Deployment Staging copy of files db1 db2 check prereqs copy code db3 configure 53 53

54 From Master/Slave Replication... db2 db1 Replicator Service alpha Replicator Service alpha db3 Replicator tungsteninstaller Service alpha Install master and slaves on the whole cluster 54 54

55 To Multi-Master db1 Replicator Replicator db2 Service alpha Service alpha Service bravo Service bravo tungsteninstaller tungsteninstaller con!gureservice con!gureservice Install master on db1 install master on db2 install slave service on db1 install slave service on db

56 tungsten-installer master 1 TUNGSTEN_HOME=/home/tungsten/installs/cookbook./tools/tungsten-installer --master-slave --master-host=$master1 --datasource-port= datasource-user=tungsten --datasource-password=secret --datasource-log-directory=/var/lib/mysql --service-name=alpha --home-directory=$tungsten_home --cluster-hosts=$master1 --start creating service 'alpha' Notice: --cluster-hosts has only one host 56 56

57 tungsten-installer master 2 TUNGSTEN_HOME=/home/tungsten/installs/cookbook./tools/tungsten-installer --master-slave --master-host=$master2 --datasource-port= datasource-user=tungsten --datasource-password=secret --datasource-log-directory=/var/lib/mysql --service-name=bravo --home-directory=$tungsten_home --cluster-hosts=$master2 --start creating service 'bravo' Notice: --cluster-hosts has only one host 57 57

58 Con!gure Service master 1 TUNGSTEN_HOME=/home/tungsten/installs/cookbook $TUNGSTEN_HOME/tungsten/tools/configure-service -C --quiet --host=$master1 --datasource=$master1 --local-service-name=alpha --role=slave --service-type=remote --release-directory=$tungsten_home/tungsten --skip-validation-check=thlstoragecheck --master-thl-host=$master2 --master-thl-port= svc-start bravo Notice: bravo is the master service in host

59 Con!gure Service master 2 TUNGSTEN_HOME=/home/tungsten/installs/cookbook $TUNGSTEN_HOME/tungsten/tools/configure-service -C --quiet --host=$master2 --datasource=$master2 --local-service-name=bravo --role=slave --service-type=remote --release-directory=$tungsten_home/tungsten --skip-validation-check=thlstoragecheck --master-thl-host=$master1 --master-thl-port= svc-start alpha Notice: alpha is the master service in host

60 From Master/Slave Replication... db2 db1 Replicator Service db1 Replicator Service db1 db3 Replicator Service db1./cooobook/install_master_slave 60 60

61 How Do I Install Fan-In Replication? db1 Replicator Service db1 Replicator db2 Replicator Service db1 Service db2 Service db2 db3./cooobook/install_fan_in 61 61

62 How Do I Install Multi-Master? db1 Replicator Service db1 Service db2 db2 Service db1 Service db2 Replicator./cooobook/install_all_masters 62 62

63 How Do I Extend Multi-Master? db1 Replicator Service db1 Service db2 Service db3 Replicator Service db1 db3 db2 Service db2 Service db3 Service db1 Service db2 Service db3 Replicator 63 63

64 How Do I Extend Multi-Master? db1 Replicator Service db1 Service db2 Service db3 Service db4 Replicator Service db1 Service db2 Service db3 Service db4 db3 db2 Service db1 Service db1 db4 Service db2 Service db2 Service db3 Service db3 Service db4 Service db4 Replicator Replicator 64 64

65 How Do I Install a Star Topology? db1 Replicator Service db1 Service db3 Replicator Service db1 db3 HUB db2 Service db2 Service db3 Service db2 Service db3 Replicator./cooobook/install_star 65 65

66 How Do I Extend a Star Topology? db1 Replicator Service db1 Service db3 Service db1 Service db2 db3 HUB db2 Replicator Service db2 Service db3 Service db4 Service db3 db4 Service db3 Service db4 Replicator 66 66

67 How Do I Extend a Star Topology? db1 Replicator Service db1 Service db3 Service db1 Service db2 db3 HUB db2 Replicator Service db2 Service db3 Service db4 Service db5 Service db3 db5 Replicator Service db5 Service db3 db4 Service db3 Service db4 Replicator 67 67

68 BI-DIR: the painless way edit cookbook/common_nodes.sh edit cookbook/user_values.sh remove two nodes edit the variables in cookbook/ NODES_ALL_MASTERS.sh cookbook/install_all_masters 68 68

69 Multiple masters fan-in Steps: install a master service in each node install a slave service for each master in the fanin node or : cookbook/install_fan_in 69 69

70 Multiple masters star topology Steps: install a master service in each server in the hub, install a slave service for each spoke in each spoke, install a slave service for the hub, using bypass option cookbook/install_star 70 70

71 Taking Over from Standard Replication cookbook/install_standard_replicaton cookbook/takeover 71 71

72 Replication Management 72 72

73 Common Commands replicator trepctl thl the Tungsten service schema 73 73

74 replicator It s the service provider You launch it once when you start You may restart it when you change con!g 74 74

75 trepctl Tungsten Replicator ConTroLler It s the driving seat for your replication You can start, update, and stop services You can get speci!c info 75 75

76 trepctl Tungsten Replicator Controller put services online or o"ine check status skip events inspect internals change roles heartbeat backup/restore... and a lot more 76 76

77 thl Transaction History List Gives you access to the Tungsten transaction history logs 77 77

78 thl Transaction History Log info index list (total or a speci!c event, or by range) purge 78 78

79 Tungsten service schema one for each service named "tungsten_service_name" e.g. tungsten_alpha, tungsten_dragon Most important table: trep_commit_seqno 79 79

80 Looking at the tungsten service db select * from tungsten_dragon.trep_commit_seqno\g ******************* 1. row ******************* task_id: 0 seqno: 102 fragno: 0 last_frag: 1 source_id: qa.r1.continuent.com epoch_number: 0 eventid: mysql-bin : ;0 applied_latency: 0 update_timestamp: :56:12 shard_id: tungsten_dragon extract_timestamp: :56:

81 Where are the tools in the tungsten directory: $TUNGSTEN_BASE/tungsten/tungsten-replicator/bin replicator trepctl thl # the daemon # replicator controller # transaction history log tool 81 81

82 Starting and stopping the replicator cd $TUNGSTEN_BASE/tungsten/tungsten-replicator/bin./replicator status Tungsten Replicator Service is running (PID:32400)../replicator stop Stopping Tungsten Replicator Service... Stopped Tungsten Replicator Service../replicator start Starting Tungsten Replicator Service or./cookbook/replicator

83 checking replicator vitals trepctl services Processing services command... NAME VALUE appliedlastseqno: -1 # bad sign? appliedlatency : -1.0 role : slave servicename : dragon servicetype : local started : true state : ONLINE Finished services command

84 sending a heartbeat trepctl -host $MASTER_HOST heartbeat trepctl services Processing services command... NAME VALUE appliedlastseqno: 102 appliedlatency : role : slave servicename : dragon servicetype : local started : true state : ONLINE Finished services command

85 replicator status (1) trepctl status Processing status command... NAME VALUE appliedlasteventid : mysql-bin : ;0 appliedlastseqno : 102 appliedlatency : clustername : default currenteventid : NONE currenttimemillis : dataserverhost : qa.r4.continuent.com extensions : latestepochnumber : 0 masterconnecturi : thl://qa.r1.continuent.com:2112/ masterlistenuri : thl://qa.r4.continuent.com:2112/ maximumstoredseqno : 102 minimumstoredseqno : 0 [...] 85 85

86 replicator status (2) [...] offlinerequests : NONE pendingerror : NONE pendingerrorcode : NONE pendingerroreventid : NONE pendingerrorseqno : -1 pendingexceptionmessage: NONE resourceprecedence : 99 rmiport : role : slave seqnotype : java.lang.long servicename : dragon servicetype : local simpleservicename : dragon sitename : default sourceid : qa.r4.continuent.com state : ONLINE timeinstateseconds : uptimeseconds : Finished status command

87 A failover scenario 1: MySQL native replication 87 87

88 1. one Master, two slaves Loading the employees test database 88 88

89 2. Master goes away * Stop replication * Slaves are updated at di"erent levels # 2 select count(*) from titles 333,145 # 3 select count(*) from titles 443,

90 3. Look into Slave #2 binary logs!nd the last transaction 90 90

91 4. Look into Slave #3 binary logs 1.!nd the transaction that was last in slave #2 2. Recognize that last transaction in the log of slave #3 (This can actually take you a LOOOONG TIME) 3. Get the position immediately after this transaction 4. (e.g in!le mysql-bin ) 91 91

92 5. promote Slave #3 to master * in slave #2 CHANGE MASTER TO master_host= slave_3_ip, master_user= slavename, master_password= slavepassword, master_log_file= mysql-bin , master_log_pos=134000; 92 92

93 A failover scenario 1I: Tungsten Replicator 93 93

94 1. one master, two slaves loading the employees test database 94 94

95 2. Master goes away * Stop replication * Slaves are updated at di"erent levels # 2 select count(*) from titles 333,145 # 3 select count(*) from titles 443,

96 3. no need to!nd the last transaction # simply change roles trepctl -host slave3 setrole -role master trepctl -host slave2 setrole \ -role slave -uri thl://slave3 trepctl -host slave3 online State: ONLINE trepctl -host slave2 online State: GOING-ONLINE:SYNCHRONIZING 96 96

97 4. Check that the slave has synchronized # new master select seqno from tungsten.trep_commit_seqno; 78 # new slave select seqno from tungsten.trep_commit_seqno;

98 4. Tell the replicator to hurry up # new master trepctl -node slave3 flush Master log is synchronized with database at log sequence number: 78 # new slave trepctl host slave2 wait -applied 78 ONLINE select seqno from tungsten.trep_commit_seqno;

99 4.... and we re done # new master select count(*) from employees.titles count(*) # new slave: count(*)

100 planned role switch cookbook/install_master_slave cookbook/switch

101 Switching roles in master/slave replication (1) online db2 db1 Replicator Service db1 Replicator Service db1 db3 online Replicator Service db1 online

102 Switching roles in master/slave replication (2) online db2 db1 Replicator Service db1 Replicator Service db1 db3 o"ine Replicator Service db1 online

103 Switching roles in master/slave replication (3) online db2 db1 Replicator Service db1 Replicator Service db1 db3 o"ine Replicator Service db1 Wait for transactions to be applied online

104 Switching roles in master/slave replication (4) o"ine db2 db1 Replicator Service db1 Replicator Service db1 db3 o"ine Replicator Service db1 Slaves go offline o"ine

105 Switching roles in master/slave replication (5) o"ine db2 db1 Replicator Service db1 Replicator Service db1 db3 o"ine Replicator Service db1 Slave is promoted. Notice: 2 masters, but o"ine o"ine

106 Switching roles in master/slave replication (6) o"ine db2 db1 Replicator Service db1 Replicator Service db1 db3 o"ine Replicator Service db1 old master becomes slave o"ine

107 Switching roles in master/slave replication (7) o"ine db2 db1 Replicator Service db1 Replicator Service db1 db3 o"ine Replicator Service db1 slaves are directed to new master o"ine

108 Switching roles in master/slave replication (8) online db2 db1 Replicator Service db1 Replicator Service db1 db3 online Replicator Service db1 all nodes go online, using new master online

109 Tungsten GTID vs MySQL 5.6 GTID What is GTID How it works in Tungsten How it works (or not) in MySQL

110 without global transaction ID commit commit commit commit A master binlog position binlog binlog slave B C slave position 110 position 110

111 with global transaction ID commit commit commit commit A master id#200 slave B C slave id# id#

112 Tungsten and global transaction ID: activation (none) active by default

113 Tungsten and global transaction ID: status trepctl status Processing status command... NAME VALUE appliedlasteventid : mysql-bin : ;0 appliedlastseqno : 6 appliedlatency : clustername : default currenteventid : NONE currenttimemillis : dataserverhost : qa.r4.continuent.com

114 Tungsten and global transaction ID: seeing transactions thl list -seqno 6 SEQ# = 6 / FRAG# = 0 (last frag) - TIME = :44: EPOCH# = 0 - EVENTID = mysql-bin : ;0 - SOURCEID = qa.r1.continuent.com - SQL(0) = insert into test.v1 values (1, 'inserted by node #1') /* SERVICE = [cookbook] */

115 Tungsten and global transaction ID: changing master connection trepctl offline trepctl online -seqno

116 Tungsten and Global transaction ID: crash-safe slave tables mysql -e 'select * from tungsten_cookbook.trep_commit_seqno\g' *************************** 1. row *************************** task_id: 0 seqno: 6 fragno: 0 last_frag: 1 source_id: qa.r1.continuent.com epoch_number: 0 eventid: mysql-bin : ;0 applied_latency: 0 update_timestamp: :44:35 shard_id: test extract_timestamp: :44:

117 Tungsten and Global transaction ID: crash-safe tables and parallel replication mysql -e 'select seqno, source_id, shard_id,update_timestamp from tungsten_cookbook.trep_commit_seqno' seqno source_id shard_id update_timestamp qa.r1.continuent.com db :54:14 8 qa.r1.continuent.com db :54:14 9 qa.r1.continuent.com db :54:14 10 qa.r1.continuent.com db :54:14 11 qa.r1.continuent.com db :54:14 12 qa.r1.continuent.com db :54:14 13 qa.r1.continuent.com db :54:14 14 qa.r1.continuent.com db :54:14 15 qa.r1.continuent.com db :54:14 16 qa.r1.continuent.com db :54:

118 MySQL 5.6 and global transaction ID activation mysqld --log-slave-updates \ --gtid-mode=on \ --enforce-gtid-consistency WARNING: before MySQL , it was --disable-gtid-unsafe-statements

119 MySQL 5.6 and global transaction ID seeing transactions # :15:49 server id 1 end_log_pos 344 CRC32 0x45b25c8f GTID [commit=yes] '7A77A490-3D3A-11E2-8CC9-7DCF B: 2'/*!*/; # at 344 # :15:49 server id 1 end_log_pos 423 CRC32 0x873c8fac Query thread_id=3 exec_time=0 error_code=0 SET TIMESTAMP= /*!*/; BEGIN /*!*/; # at 423 # :15:49 server id 1 end_log_pos 522 CRC32 0xb4bf4372 Query thread_id=3 exec_time=0 error_code=0 SET TIMESTAMP= /*!*/; insert into t1 values (1)

120 MySQL 5.6 and global transaction ID status show slave status\g *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: Master_User: rsandbox Master_Port: Connect_Retry: 60 Master_Log_File: mysql-bin Read_Master_Log_Pos: 1837 Relay_Log_File: mysql_sandbox13234-relay-bin Relay_Log_Pos: 2047 Relay_Master_Log_File: mysql-bin Retrieved_Gtid_Set: 46E B28-11E2-BF47-6C626DA07446:1-7 Executed_Gtid_Set: 46E B28-11E2-BF47-6C626DA07446:

121 MySQL 5.6 and global transaction ID changing master connection CHANGE MASTER TO master_log_file='mysql-bin ', master_log_pos='1234' # No global transaction ID is used

122 MySQL 5.6 and global transaction ID crash-safe slave table select * from slave_relay_log_info\g ********************* 1. row ******************** Number_of_lines: 7 Relay_log_name:./mysql_sandbox13234-relay-bin Relay_log_pos: 2047 Master_log_name: mysql-bin Master_log_pos: 1837 Sql_delay: 0 Number_of_workers: 5 Id: 1 # NO Global transaction ID is used!

123 MySQL 5.6 and global transaction ID crash-safe slave table + parallel select * from mysql.slave_worker_info\g Id: 12 Relay_log_name:./mysql_sandbox13234-relay-bin Relay_log_pos: 4299 Master_log_name: mysql-bin Master_log_pos: 7155 Checkpoint_relay_log_name:./mysql_sandbox13234-relay-bin Checkpoint_relay_log_pos: 1786 Checkpoint_master_log_name: mysql-bin Checkpoint_master_log_pos: 4642 Checkpoint_seqno: 9 Checkpoint_group_size: 64 Checkpoint_group_bitmap:? # NO Global transaction ID is used!

124 Filters

125 Tungsten Replication Service Pipeline Stage Extract Filter Apply Stage Extract Filter Apply Stage Extract Filter Apply Master DBMS Transaction History Log In-Memory Queue Slave DBMS

126 Restrict replication to some schemas and tables./tools/tungsten-installer \ --master-slave -a \... --svc-extractor-filters=replicate \ "--property=replicator.filter.replicate.do=test,*.foo" \... --start-and-report # test="test.*" -> same drawback as binlog-do-db in MySQL # *.foo = table 'foo' in any database # employees.dept_codes,employees.salaries => safest way

127 Exclude some schemas and tables from replication./tools/tungsten-installer \ --master-slave -a \... --svc-extractor-filters=replicate \ "--property=replicator.filter.replicate.ignore=test,*.foo" \... --start-and-report # test="test.*" -> same drawback as binlog-ignore-db in MySQL # *.foo = table 'foo' in any database # employees.dept_codes,employees.salaries => safest way # DO NOT MIX.do and.ignore! # (you can do it, but it may not do what you mean)

128 Change name of replicated schema -a --svc-applier-filters=dbtransform \ --property=replicator.filter.dbtransform.from_regex1=stores \ --property=replicator.filter.dbtransform.to_regex1=playground # from_regex1=stores -> name of the schema in the master # to_regex1=playground -> name of the schema in the slave # WARNING: requires "USE schema_name" to work properly

129 Multi-master: Con#ict prevention

130 CONFLICTS Continuent

131 What's a con#ict Data modi!ed by several sources (masters) Creates one or more : data loss (unwanted delete) data inconsistency (unwanted update) duplicated data (unwanted insert) replication break

132 Data duplication 4 Matt 140 alpha id name amount 1 Joe Frank Sue 100 bravo charlie 4 Matt 130 BREAKS REPLICATION

133 auto_increment o$sets are not a remedy A popular recipe auto_increment_increment + auto_increment_offset They don't prevent con#icts They hide duplicates

134 Hidden data duplication 11 Matt 140 INSERT alpha o$set 1 id name amount 1 Joe Frank Sue 100 bravo o$set 2 INSERT charlie o$set 3 13 Matt

135 Data inconsistency 3 Sue 108 UPDATE alpha id name amount 1 Joe Frank Sue 100 bravo charlie UPDATE 3 Sue

136 Data loss 3 Sue 108 UPDATE alpha id name amount 1 Joe Frank Sue 100 bravo charlie DELETE record #3 MAY BREAK REPLICATION

137 con#ict handling strategies resolving after the fact planned for future use Needs information that is missing in async replication avoiding requires synchronous replication with 2pc preventing setting and enforcing a split sources policy Transforming and resolving all records are converted to INSERTs used by Tungsten planned for future use con"icts are resolved within a given time window Continuent

138 Multi-master: Con!ict prevention

139 Tungsten con#ict prevention in a nutshell 1. de!ne the rules (which master can update which database) 2. tell Tungsten the rules 3. de!ne the policy (error, drop, warn, or accept) 4. Let Tungsten enforce your rules

140 Tungsten Con#ict prevention facts Sharded by database De!ned dynamically Applied on the slave services methods: error: make replication fail drop: drop silently warn: drop with warning

141 Tungsten con#ict prevention applicability unknown shards The schema being updated is not planned actions: accept, drop, warn, error unwanted shards the schema is updated from the wrong master actions: accept, drop, warn, error whitelisted shards can be updated by any master

142 Con#ict prevention directives --svc-extractor-filters=shardfilter replicator.filter.shardfilter.unknownshardpolicy=error replicator.filter.shardfilter.unwantedshardpolicy=error replicator.filter.shardfilter.enforcehomes=false replicator.filter.shardfilter.allowwhitelisted=false

143 con#ict prevention in a star topology alpha updates employees A C Host1 master: alpha database: employees A B C Host3 master: charlie (hub) database: vehicles Host2 master: bravo database: buildings B C

144 con#ict prevention in a star topology alpha updates vehicles A C Host1 master: alpha database: employees A B C Host3 master: charlie (hub) database: vehicles Host2 master: bravo database: buildings B C

145 con#ict prevention in a all-masters topology alpha updates employees B A C Host1 master: alpha database: employees Host2 master: bravo database: buildings B A C A B C Host3 master: charlie database: vehicles

146 con#ict prevention in a all-masters topology charlie updates vehicles B A C Host1 master: alpha database: employees Host2 master: bravo database: buildings B A C A B C Host3 master: charlie database: vehicles

147 con#ict prevention in a all-masters topology bravo updates employees B A C Host1 master: alpha database: employees Host2 master: bravo database: buildings B A C A B C Host3 master: charlie database: vehicles

148 con#ict prevention in a all-masters topology charlie updates employees B A C Host1 master: alpha database: employees Host2 master: bravo database: buildings B A C A B C Host3 master: charlie database: vehicles

149 setting con#ict prevention rules trepctl -host host1 -service charlie \ shard -insert < shards.map cat shards.map shard_id master critical personnel alpha false buildings bravo false vehicles charlie false test whitelisted false # charlie is slave service in host

150 setting con#ict prevention rules trepctl -host host2 -service charlie \ shard -insert < shards.map cat shards.map shard_id master critical personnel alpha false buildings bravo false vehicles charlie false test whitelisted false # charlie is slave service in host

151 setting con#ict prevention rules trepctl -host host3 -service alpha \ shard -insert < shards.map trepctl -host host3 -service bravo \ shard -insert < shards.map cat shards.map shard_id master critical personnel alpha false buildings bravo false vehicles charlie false test whitelisted false # alpha and bravo are slave services in host

152 Con#ict prevention demo reminder Server #1 can update "employees" Server #2 can update "buildings" Server #3 can update "vehicles"

153 Sample correct operation (1) mysql #1> create table employees.names(... ) # all servers receive the table # all servers keep working well

154 Sample correct operation (2) mysql #2> create table buildings.homes(... ) # all servers receive the table # all servers keep working well

155 Sample incorrect operation (1) mysql #2> create table employees.nicknames(... ) # Only server #2 receives the table # slave service in hub gets an error # slave service in #1 does not receive anything

156 sample incorrect operation (2) #3 $ trepct services simple_services alpha [slave] seqno: 7 - latency: ONLINE bravo seqno: [slave] -1 - latency: OFFLINE:ERROR charlie [master] seqno: 66 - latency: ONLINE

157 sample incorrect operation (3) #3 $ trepct -service bravo status NAME VALUE appliedlasteventid : NONE appliedlastseqno : -1 appliedlatency : -1.0 (...) offlinerequests : NONE pendingerror : Stage task failed: q-to-dbms pendingerrorcode : NONE pendingerroreventid : mysql-bin : ;0 pendingerrorseqno : 7 pendingexceptionmessage: Rejected event from wrong shard: seqno=7 shard ID=employees shard master=alpha service=bravo (...)

158 Fixing the issue mysql #1> drop table if exists employees.nicknames; mysql #1> create table if exists employees.nicknames (... ) ; #3 $ trepct -service bravo online -skip-seqno 7 # all servers receive the new table

159 Sample whitelisted operation mysql #2> create table test.hope4best(... ) mysql #1> insert into test.hope4best values (... ) # REMEMBER: 'test' was explicitly whitelisted # All servers get the new table and records # But there is no protection against conflicts

160 administration

161 Viewing THL Events thl info log directory = /home/tungsten/installs/master_slave/thl/dragon/ min seq# = 0 max seq# = 101 events =

162 viewing THL events thl index LogIndexEntry thl.data (0:102)

163 viewing THL events thl index [...] LogIndexEntry thl.data (0:18) LogIndexEntry thl.data (19:33) LogIndexEntry thl.data (34:35) LogIndexEntry thl.data (36:3641) LogIndexEntry thl.data (3642:3712) LogIndexEntry thl.data (3713:3838) LogIndexEntry thl.data (3839:3949) LogIndexEntry thl.data (3950:4011) LogIndexEntry thl.data (4012:4039) LogIndexEntry thl.data (4040:4057) LogIndexEntry thl.data (4058:4067) LogIndexEntry thl.data (4068:4073) LogIndexEntry thl.data (4074:4085) LogIndexEntry thl.data (4086:4095) LogIndexEntry thl.data (4096:4101) LogIndexEntry thl.data (4102:4111)

164 viewing THL events thl list -seqno 102 [...] SEQ# = 102 / FRAG# = 0 (last frag) - TIME = :56: EPOCH# = 0 - EVENTID = mysql-bin : ;0 - SOURCEID = qa.r1.continuent.com - METADATA = [mysql_server_id=10;is_metadata=true;service=dragon;shard=tung sten_dragon;heartbeat=none] - TYPE = com.continuent.tungsten.replicator.event.repldbmsevent - OPTIONS = [##charset = ISO8859_1, autocommit = 1, sql_auto_is_null = 1, foreign_key_checks = 1, unique_checks = 1, sql_mode = 'IGNORE_SPACE', character_set_client = 8, collation_connection = 8, collation_server = 8] - SCHEMA = tungsten_dragon - SQL(0) = UPDATE tungsten_dragon.heartbeat SET source_tstamp= " :56:09", salt= 2, name= "NONE" WHERE id= 1 /* SERVICE = [dragon] */

165 Skipping a THL Event trepctl online -skip-seqno 1092 trepctl online -skip-seqno 1092,1093,1094 # see example

166 Adding a Member Let's see the cookbook, and use it

167 parallel replication

168 Replicator Pipeline Architecture Tungsten Replicator Process Pipeline Stage Stage Stage Extract Assign Shard ID Apply Extract Apply Parallel Queue Extract Extract Extract Apply Apply Apply channels Transaction History Log MySQL Binlog THL shard.list file Slave DBMS 168

169 Parallel replication facts Sharded by database Good choice for slave lag problems Bad choice for single database projects

170 Parallel Replication test STOPPED binary logs MySQL slave Concurrent sysbench on 30 databases Tungsten slave OFFLINE direct: alpha (slave) running for 1 hour TOTAL DATA: 130 GB RAM per server: 20GB replicator alpha Slaves will have 1 hour lag 170

171 measuring results START binary logs MySQL slave Tungsten slave ONLINE direct: alpha (slave) Recording catch-up time replicator alpha 171

172 MySQL native replication slave catch up in 04:29:30 172

173 Tungsten parallel replication slave catch up in 00:55:40 173

174 Parallel replication made simpler FROM HERE

175 Parallel replication made simpler TO HERE 175

176 Parallel replication made simpler 176

177 parallel replication direct slave facts No need to install Tungsten on the master Tungsten runs only on the slave Replication can revert to native slave with two commands (trepctl offline; start slave) Native replication can continue on other slaves Failover (either native or Tungsten) becomes a manual task

178 installing parallel replication MORE_OPTIONS='--channels=10'./cookbook/install_master_slave

179 Checking parallel replication trepctl status trepctl status -name tasks trepctl status -name shards trepctl status -name stores

180 Parallel replication demo

181 Troubleshooting

182 Identify the Failed Component Steps 1. trepctl services 2. trepctl -service SVC_NAME status 3. look at the logs 4. Take action

183 reading the logs ls $TUNGSTEN_BASE/tungsten/tungsten-replicator/logs/ trepsvc.log user.log... or./cookbook/show_log # let's see it in practice

184 Parting thoughts

185 Open source Tungsten Replicator now includes Oracle-to-MySQL and Oracle-to-Oracle extractors and appliers!

186 560 S. Winchester Blvd., Suite 500 San Jose, CA Tel +1 (866) Fax +1 (408) Our Blogs: Continuent Website: Tungsten Replicator 2.0: Continuent

Preventing con!icts in Multi-master replication with Tungsten

Preventing con!icts in Multi-master replication with Tungsten Preventing con!icts in Multi-master replication with Tungsten Giuseppe Maxia, QA Director, Continuent 1 Introducing Continuent The leading provider of clustering and replication for open source DBMS Our

More information

Parallel Replication for MySQL in 5 Minutes or Less

Parallel Replication for MySQL in 5 Minutes or Less Parallel Replication for MySQL in 5 Minutes or Less Featuring Tungsten Replicator Robert Hodges, CEO, Continuent About Continuent / Continuent is the leading provider of data replication and clustering

More information

Solving Large-Scale Database Administration with Tungsten

Solving Large-Scale Database Administration with Tungsten Solving Large-Scale Database Administration with Tungsten Neil Armitage, Sr. Software Engineer Robert Hodges, CEO. Introducing Continuent The leading provider of clustering and replication for open source

More information

Preparing for the Big Oops! Disaster Recovery Sites for MySQL. Robert Hodges, CEO, Continuent MySQL Conference 2011

Preparing for the Big Oops! Disaster Recovery Sites for MySQL. Robert Hodges, CEO, Continuent MySQL Conference 2011 Preparing for the Big Oops! Disaster Recovery Sites for Robert Hodges, CEO, Continuent Conference 2011 Topics / Introductions / A Motivating Story / Master / Slave Disaster Recovery Replication Tungsten

More information

High Availability And Disaster Recovery

High Availability And Disaster Recovery High Availability And Disaster Recovery Copyright 2011 Deepnet Security Limited Copyright 2012, Deepnet Security. All Rights Reserved. Page 1 Trademarks Deepnet Unified Authentication, MobileID, QuickID,

More information

From Dolphins to Elephants: Real-Time MySQL to Hadoop Replication with Tungsten

From Dolphins to Elephants: Real-Time MySQL to Hadoop Replication with Tungsten From Dolphins to Elephants: Real-Time MySQL to Hadoop Replication with Tungsten MC Brown, Director of Documentation Linas Virbalas, Senior Software Engineer. About Tungsten Replicator Open source drop-in

More information

Replicating to everything

Replicating to everything Replicating to everything Featuring Tungsten Replicator A Giuseppe Maxia, QA Architect Vmware About me Giuseppe Maxia, a.k.a. "The Data Charmer" QA Architect at VMware Previously at AB / Sun / 3 times

More information

How, What, and Where of Data Warehouses for MySQL

How, What, and Where of Data Warehouses for MySQL How, What, and Where of Data Warehouses for MySQL Robert Hodges CEO, Continuent. Introducing Continuent The leading provider of clustering and replication for open source DBMS Our Product: Continuent Tungsten

More information

How to evaluate which MySQL High Availability solution best suits you

How to evaluate which MySQL High Availability solution best suits you How to evaluate which MySQL High Availability solution best suits you Henrik Ingo Oscon, 2013 Please share and reuse this presentation licensed under the Creative Commons Attribution License http://creativecommons.org/licenses/by/3.0/

More information

Neutron Monitor Database

Neutron Monitor Database Neutron Monitor Database ADRESKLOKSTRAAT 12 A - 2600 BERCHEMTEL03.230.88.10FAX03.303.02.59BTWBE 886.370.360MAILINFO@SPUTNIKWEB.BEWEBWWW.SPUTNIKWEB.BE Introduction In this document the work of Sputnik Web

More information

Linas Virbalas Continuent, Inc.

Linas Virbalas Continuent, Inc. Linas Virbalas Continuent, Inc. Heterogeneous Replication Replication between different types of DBMS / Introductions / What is Tungsten (the whole stack)? / A Word About MySQL Replication / Tungsten Replicator:

More information

High Availability Solutions for MySQL. Lenz Grimmer <lenz@grimmer.com> 2008-08-29 DrupalCon 2008, Szeged, Hungary

High Availability Solutions for MySQL. Lenz Grimmer <lenz@grimmer.com> 2008-08-29 DrupalCon 2008, Szeged, Hungary High Availability Solutions for MySQL Lenz Grimmer 2008-08-29 DrupalCon 2008, Szeged, Hungary Agenda High Availability in General MySQL Replication MySQL Cluster DRBD Links/Tools Why

More information

High Availability Solutions for the MariaDB and MySQL Database

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

More information

MySQL High Availability Solutions. Lenz Grimmer <lenz@grimmer.com> http://lenzg.net/ 2009-08-22 OpenSQL Camp St. Augustin Germany

MySQL High Availability Solutions. Lenz Grimmer <lenz@grimmer.com> http://lenzg.net/ 2009-08-22 OpenSQL Camp St. Augustin Germany MySQL High Availability Solutions Lenz Grimmer < http://lenzg.net/ 2009-08-22 OpenSQL Camp St. Augustin Germany Agenda High Availability: Concepts & Considerations MySQL Replication

More information

Zero Downtime Deployments with Database Migrations. Bob Feldbauer twitter: @bobfeldbauer email: bob.feldbauer@timgroup.com

Zero Downtime Deployments with Database Migrations. Bob Feldbauer twitter: @bobfeldbauer email: bob.feldbauer@timgroup.com Zero Downtime Deployments with Database Migrations Bob Feldbauer twitter: @bobfeldbauer email: bob.feldbauer@timgroup.com Deployments Two parts to deployment: Application code Database schema changes (migrations,

More information

Linas Virbalas Continuent, Inc.

Linas Virbalas Continuent, Inc. Linas Virbalas Continuent, Inc. / Introductions / What is Tungsten? / Architecture of a Rule Based Management Framework for Database Clusters / Demo of Business Rules in Operation / Business Rules in Source

More information

MySQL Replication Tutorial

MySQL Replication Tutorial MySQL Replication Tutorial Mats Kindahl Prerequisites In order to not clash with an existing installation, we will not do a proper install of the MySQL server but rather run it from a

More information

Future-Proofing MySQL for the Worldwide Data Revolution

Future-Proofing MySQL for the Worldwide Data Revolution Future-Proofing MySQL for the Worldwide Data Revolution Robert Hodges, CEO. What is Future-Proo!ng? Future-proo!ng = creating systems that last while parts change and improve MySQL is not losing out to

More information

Database Replication with MySQL and PostgreSQL

Database Replication with MySQL and PostgreSQL Database Replication with MySQL and PostgreSQL Fabian Mauchle Software and Systems University of Applied Sciences Rapperswil, Switzerland www.hsr.ch/mse Abstract Databases are used very often in business

More information

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

Synchronous multi-master clusters with MySQL: an introduction to Galera Synchronous multi-master clusters with : an introduction to Galera Henrik Ingo OUGF Harmony conference Aulanko, Please share and reuse this presentation licensed under Creative Commonse Attribution license

More information

MySQL Replication. openark.org

MySQL Replication. openark.org MySQL Replication Solutions & Enhancements Shlomi Noach June 2011 What is MySQL Replication? Replication is a mechanism built into MySQL. It allows a MySQL server (Master) to log changes made to schema

More information

Scaling up = getting a better machine. Scaling out = use another server and add it to your cluster.

Scaling up = getting a better machine. Scaling out = use another server and add it to your cluster. MongoDB 1. Introduction MongoDB is a document-oriented database, not a relation one. It replaces the concept of a row with a document. This makes it possible to represent complex hierarchical relationships

More information

<Insert Picture Here> Introduction to Using MySQL in Cloud Computing

<Insert Picture Here> Introduction to Using MySQL in Cloud Computing Introduction to Using MySQL in Cloud Computing Chuck Bell, Mats Kindahl, Lars Thalmann About the Speakers Chuck Bell, PhD Enterprise Backup and Replication (recovering) Windows Developer

More information

Comparing MySQL and Postgres 9.0 Replication

Comparing MySQL and Postgres 9.0 Replication Comparing MySQL and Postgres 9.0 Replication An EnterpriseDB White Paper For DBAs, Application Developers, and Enterprise Architects March 2010 Table of Contents Introduction... 3 A Look at the Replication

More information

Percona Server features for OpenStack and Trove Ops

Percona Server features for OpenStack and Trove Ops Percona Server features for OpenStack and Trove Ops George O. Lorch III Software Developer Percona Vipul Sabhaya Lead Software Engineer - HP Overview Discuss Percona Server features that will help operators

More information

Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam sastry.vedantam@oracle.com

Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam sastry.vedantam@oracle.com Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam sastry.vedantam@oracle.com Agenda The rise of Big Data & Hadoop MySQL in the Big Data Lifecycle MySQL Solutions for Big Data Q&A

More information

Testing and Verifying your MySQL Backup Strategy

Testing and Verifying your MySQL Backup Strategy About the Author Ronald BRADFORD Testing and Verifying your MySQL Backup Strategy Ronald Bradford http://ronaldbradford.com @RonaldBradford 16 years with MySQL / 26 years with RDBMS Senior Consultant at

More information

How To Manage Myroster Database With Hp And Myroberty

How To Manage Myroster Database With Hp And Myroberty HP Open Source Middleware Stacks Blueprint: Database Server on HP Server Platforms with MySQL and SUSE Linux Enterprise Server Version 10 HP Part Number: 5991 7432 Published: August 2007 Edition: 2.0 Copyright

More information

Portable Scale-Out Benchmarks for MySQL. MySQL User Conference 2008 Robert Hodges CTO Continuent, Inc.

Portable Scale-Out Benchmarks for MySQL. MySQL User Conference 2008 Robert Hodges CTO Continuent, Inc. Portable Scale-Out Benchmarks for MySQL MySQL User Conference 2008 Robert Hodges CTO Continuent, Inc. Continuent 2008 Agenda / Introductions / Scale-Out Review / Bristlecone Performance Testing Tools /

More information

Dave Stokes MySQL Community Manager

Dave Stokes MySQL Community Manager The Proper Care and Feeding of a MySQL Server for Busy Linux Admins Dave Stokes MySQL Community Manager Email: David.Stokes@Oracle.com Twiter: @Stoker Slides: slideshare.net/davidmstokes Safe Harbor Agreement

More information

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

MySQL Cluster 7.0 - New Features. Johan Andersson MySQL Cluster Consulting johan.andersson@sun.com MySQL Cluster 7.0 - New Features Johan Andersson MySQL Cluster Consulting johan.andersson@sun.com Mat Keep MySQL Cluster Product Management matthew.keep@sun.com Copyright 2009 MySQL Sun Microsystems. The

More information

YouTube Vitess. Cloud-Native MySQL. Oracle OpenWorld Conference October 26, 2015. Anthony Yeh, Software Engineer, YouTube. http://vitess.

YouTube Vitess. Cloud-Native MySQL. Oracle OpenWorld Conference October 26, 2015. Anthony Yeh, Software Engineer, YouTube. http://vitess. YouTube Vitess Cloud-Native MySQL Oracle OpenWorld Conference October 26, 2015 Anthony Yeh, Software Engineer, YouTube http://vitess.io/ Spoiler Alert Spoilers 1. History of Vitess 2. What is Cloud-Native

More information

MySQL Backup Strategy @ IEDR

MySQL Backup Strategy @ IEDR MySQL Backup Strategy @ IEDR Marcelo Altmann Oracle Certified Professional, MySQL 5 Database Administrator Oracle Certified Professional, MySQL 5 Developer Percona Live London November 2014 Who am I? MySQL

More information

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &

More information

Setting up the Oracle Warehouse Builder Project. Topics. Overview. Purpose

Setting up the Oracle Warehouse Builder Project. Topics. Overview. Purpose Setting up the Oracle Warehouse Builder Project Purpose In this tutorial, you setup and configure the project environment for Oracle Warehouse Builder 10g Release 2. You create a Warehouse Builder repository

More information

Real-time reporting at 10,000 inserts per second. Wesley Biggs CTO 25 October 2011 Percona Live

Real-time reporting at 10,000 inserts per second. Wesley Biggs CTO 25 October 2011 Percona Live Real-time reporting at 10,000 inserts per second Wesley Biggs CTO 25 October 2011 Percona Live Agenda 1. Who we are, what we do, and (maybe) why we do it 2. Solution architecture and evolution 3. Top 5

More information

Postgres Plus xdb Replication Server with Multi-Master User s Guide

Postgres Plus xdb Replication Server with Multi-Master User s Guide Postgres Plus xdb Replication Server with Multi-Master User s Guide Postgres Plus xdb Replication Server with Multi-Master build 57 August 22, 2012 , Version 5.0 by EnterpriseDB Corporation Copyright 2012

More information

SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide

SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24 Data Federation Administration Tool Guide Content 1 What's new in the.... 5 2 Introduction to administration

More information

User Guide for VMware Adapter for SAP LVM VERSION 1.2

User Guide for VMware Adapter for SAP LVM VERSION 1.2 User Guide for VMware Adapter for SAP LVM VERSION 1.2 Table of Contents Introduction to VMware Adapter for SAP LVM... 3 Product Description... 3 Executive Summary... 3 Target Audience... 3 Prerequisites...

More information

MySQL Administration and Management Essentials

MySQL Administration and Management Essentials MySQL Administration and Management Essentials Craig Sylvester MySQL Sales Consultant 1 Safe Harbor Statement The following is intended to outline our general product direction. It

More information

KonyOne Server Installer - Linux Release Notes

KonyOne Server Installer - Linux Release Notes KonyOne Server Installer - Linux Release Notes Table of Contents 1 Overview... 3 1.1 KonyOne Server installer for Linux... 3 1.2 Silent installation... 4 2 Application servers supported... 4 3 Databases

More information

Avoiding Pain Running MySQL in the Cloud

Avoiding Pain Running MySQL in the Cloud ! Avoiding Pain Running MySQL in the Cloud Neil Armitage whoami DBA Oracle/Mainframes/MySQL (25 Years) Deployment Engineer @ Continuent 1 or 2 Customer Deployments/Week On Premise or Cloud deployments

More information

High Availability, Disaster Recovery and Extreme Read Scaling using Binlog Servers. Jean-François Gagné jeanfrancois DOT gagne AT booking.

High Availability, Disaster Recovery and Extreme Read Scaling using Binlog Servers. Jean-François Gagné jeanfrancois DOT gagne AT booking. High Availability, Disaster Recovery and Extreme Read Scaling using Binlog Servers Jean-François Gagné jeanfrancois DOT gagne AT booking.com Presented at Percona Live London 2014 Booking.com 2 Booking.com

More information

Practical Cassandra. Vitalii Tymchyshyn tivv00@gmail.com @tivv00

Practical Cassandra. Vitalii Tymchyshyn tivv00@gmail.com @tivv00 Practical Cassandra NoSQL key-value vs RDBMS why and when Cassandra architecture Cassandra data model Life without joins or HDD space is cheap today Hardware requirements & deployment hints Vitalii Tymchyshyn

More information

MATLAB Distributed Computing Server with HPC Cluster in Microsoft Azure

MATLAB Distributed Computing Server with HPC Cluster in Microsoft Azure MATLAB Distributed Computing Server with HPC Cluster in Microsoft Azure Introduction This article shows you how to deploy the MATLAB Distributed Computing Server (hereinafter referred to as MDCS) with

More information

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

Availability Guide for Deploying SQL Server on VMware vsphere. August 2009 Availability Guide for Deploying SQL Server on VMware vsphere August 2009 Contents Introduction...1 SQL Server 2008 with vsphere and VMware HA/DRS...2 Log Shipping Availability Option...4 Database Mirroring...

More information

How to Install SMTPSwith Mailer on Centos Server/VPS

How to Install SMTPSwith Mailer on Centos Server/VPS How to Install SMTPSwith Mailer on Centos Server/VPS SMTPSwitch Mailer User Guide V4.0 SMTPSwitch Mailer is a web based email marketing software that runs on a web server or online server. An online server

More information

Deploying Database clusters in the Cloud

Deploying Database clusters in the Cloud Deploying Database clusters in the Cloud Neil Armitage - Continuent whoami 2 DBA Oracle/Mainframes/MySQL (25 Years) Deployment Engineer for Continuent Developer for Cloud Operations and Deployments @ Continuent

More information

MySQL and Hadoop: Big Data Integration. Shubhangi Garg & Neha Kumari MySQL Engineering

MySQL and Hadoop: Big Data Integration. Shubhangi Garg & Neha Kumari MySQL Engineering MySQL and Hadoop: Big Data Integration Shubhangi Garg & Neha Kumari MySQL Engineering 1Copyright 2013, Oracle and/or its affiliates. All rights reserved. Agenda Design rationale Implementation Installation

More information

ORACLE NOSQL DATABASE HANDS-ON WORKSHOP Cluster Deployment and Management

ORACLE NOSQL DATABASE HANDS-ON WORKSHOP Cluster Deployment and Management ORACLE NOSQL DATABASE HANDS-ON WORKSHOP Cluster Deployment and Management Lab Exercise 1 Deploy 3x3 NoSQL Cluster into single Datacenters Objective: Learn from your experience how simple and intuitive

More information

Configuration Manager Error Messages

Configuration Manager Error Messages Adobe Enterprise & Developer Support Knowledge Article ID: c4698 bc Configuration Manager Error Messages This document provides a list of error messages that you may see when using the Configuration Manager

More information

000-420. IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>

000-420. IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>> 000-420 IBM InfoSphere MDM Server v9.0 Version: Demo Page 1. As part of a maintenance team for an InfoSphere MDM Server implementation, you are investigating the "EndDate must be after StartDate"

More information

Architectures Haute-Dispo Joffrey MICHAÏE Consultant MySQL

Architectures Haute-Dispo Joffrey MICHAÏE Consultant MySQL Architectures Haute-Dispo Joffrey MICHAÏE Consultant MySQL 04.20111 High Availability with MySQL Higher Availability Shared nothing distributed cluster with MySQL Cluster Storage snapshots for disaster

More information

Install guide for Websphere 7.0

Install guide for Websphere 7.0 DOCUMENTATION Install guide for Websphere 7.0 Jahia EE v6.6.1.0 Jahia s next-generation, open source CMS stems from a widely acknowledged vision of enterprise application convergence web, document, search,

More information

MySQL synchronous replication in practice with Galera

MySQL synchronous replication in practice with Galera MySQL synchronous replication in practice with Galera FOSDEM MySQL and Friends Devroom February 5, 2012, ULB Brussels Oli Sennhauser Senior MySQL Consultant, FromDual oli.sennhauser@fromdual.com Content

More information

The Future of PostgreSQL High Availability Robert Hodges - Continuent, Inc. Simon Riggs - 2ndQuadrant

The Future of PostgreSQL High Availability Robert Hodges - Continuent, Inc. Simon Riggs - 2ndQuadrant The Future of PostgreSQL High Availability Robert Hodges - Continuent, Inc. Simon Riggs - 2ndQuadrant Agenda / Introductions / Framing the High Availability (HA) Problem / Hot Standby + Log Streaming /

More information

Comparing SQL and NOSQL databases

Comparing SQL and NOSQL databases COSC 6397 Big Data Analytics Data Formats (II) HBase Edgar Gabriel Spring 2015 Comparing SQL and NOSQL databases Types Development History Data Storage Model SQL One type (SQL database) with minor variations

More information

Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014

Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014 Contents Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014 Copyright (c) 2012-2014 Informatica Corporation. All rights reserved. Installation...

More information

Enabling Database-as-a-Service (DBaaS) within Enterprises or Cloud Offerings

Enabling Database-as-a-Service (DBaaS) within Enterprises or Cloud Offerings Solution Brief Enabling Database-as-a-Service (DBaaS) within Enterprises or Cloud Offerings Introduction Accelerating time to market, increasing IT agility to enable business strategies, and improving

More information

Understanding MySQL storage and clustering in QueueMetrics. Loway

Understanding MySQL storage and clustering in QueueMetrics. Loway Understanding MySQL storage and clustering in QueueMetrics Loway Understanding MySQL storage and clustering in QueueMetrics Loway Table of Contents 1. Understanding MySQL storage and clustering... 1 2.

More information

Managing MySQL Scale Through Consolidation

Managing MySQL Scale Through Consolidation Hello Managing MySQL Scale Through Consolidation Percona Live 04/15/15 Chris Merz, @merzdba DB Systems Architect, SolidFire Enterprise Scale MySQL Challenges Many MySQL instances (10s-100s-1000s) Often

More information

s@lm@n Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ]

s@lm@n Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ] s@lm@n Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ] Oracle 1z0-102 : Practice Test Question No : 1 Which two statements are true about java

More information

WebSphere Business Monitor V7.0 Configuring a remote CEI server

WebSphere Business Monitor V7.0 Configuring a remote CEI server Copyright IBM Corporation 2010 All rights reserved WebSphere Business Monitor V7.0 What this exercise is about... 2 Lab requirements... 2 What you should be able to do... 2 Introduction... 3 Part 1: Install

More information

Tushar Joshi Turtle Networks Ltd

Tushar Joshi Turtle Networks Ltd MySQL Database for High Availability Web Applications Tushar Joshi Turtle Networks Ltd www.turtle.net Overview What is High Availability? Web/Network Architecture Applications MySQL Replication MySQL Clustering

More information

Monitoring MySQL. Geert Vanderkelen MySQL Senior Support Engineer Sun Microsystems

Monitoring MySQL. Geert Vanderkelen MySQL Senior Support Engineer Sun Microsystems Monitoring MySQL Geert Vanderkelen MySQL Senior Support Engineer Sun Microsystems Agenda Short intro into MySQL, the company Monitoring MySQL: some examples Nagios plugins for MySQL MySQL Enterprise Monitor

More information

Automation Engine 14. Troubleshooting

Automation Engine 14. Troubleshooting 4 Troubleshooting 2-205 Contents. Troubleshooting the Server... 3. Checking the Databases... 3.2 Checking the Containers...4.3 Checking Disks...4.4.5.6.7 Checking the Network...5 Checking System Health...

More information

CycleServer Grid Engine Support Install Guide. version 1.25

CycleServer Grid Engine Support Install Guide. version 1.25 CycleServer Grid Engine Support Install Guide version 1.25 Contents CycleServer Grid Engine Guide 1 Administration 1 Requirements 1 Installation 1 Monitoring Additional OGS/SGE/etc Clusters 3 Monitoring

More information

Replication Technology and Failover Solution Development for the MySQL Open Source Database Management System. Elena Malioutina

Replication Technology and Failover Solution Development for the MySQL Open Source Database Management System. Elena Malioutina Replication Technology and Failover Solution Development for the MySQL Open Source Database Management System Elena Malioutina Master s Thesis in Computer Science at Stockholm University, Sweden 2008 Replication

More information

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

Top 10 Reasons why MySQL Experts Switch to SchoonerSQL - Solving the common problems users face with MySQL SCHOONER WHITE PAPER Top 10 Reasons why MySQL Experts Switch to SchoonerSQL - Solving the common problems users face with MySQL About Schooner Information Technology Schooner Information Technology provides

More information

MySQL Fabric: High Availability Solution for Connector/Python

MySQL Fabric: High Availability Solution for Connector/Python DBAHire.com MySQL Fabric: High Availability Solution for Connector/Python Jaime Crespo PyConES 2014 Zaragoza -8 Nov 2014- dbahire.com 1 Table of Contents 1. What is MySQL Fabric? 4. Sharding 2. Installation

More information

1. GridGain In-Memory Accelerator For Hadoop. 2. Hadoop Installation. 2.1 Hadoop 1.x Installation

1. GridGain In-Memory Accelerator For Hadoop. 2. Hadoop Installation. 2.1 Hadoop 1.x Installation 1. GridGain In-Memory Accelerator For Hadoop GridGain's In-Memory Accelerator For Hadoop edition is based on the industry's first high-performance dual-mode in-memory file system that is 100% compatible

More information

High Availability Solutions with MySQL

High Availability Solutions with MySQL High Availability Solutions with MySQL best OpenSystems Day Fall 2008 Ralf Gebhardt Senior Systems Engineer MySQL Global Software Practice ralf.gebhardt@sun.com 1 HA Requirements and Considerations HA

More information

PRM and DRBD tutorial. Yves Trudeau October 2012

PRM and DRBD tutorial. Yves Trudeau October 2012 PRM and DRBD tutorial Yves Trudeau October 2012 Agenda Introduction to Pacemaker PRM principle PRM Hands-on HA over shared storage What is DRBD? Impacts of DRBD on MySQL DRBD Hands-on About me Pacemaker

More information

This guide specifies the required and supported system elements for the application.

This guide specifies the required and supported system elements for the application. System Requirements Contents System Requirements... 2 Supported Operating Systems and Databases...2 Features with Additional Software Requirements... 2 Hardware Requirements... 4 Database Prerequisites...

More information

CatDV-StorNext Archive Additions: Installation and Configuration Guide

CatDV-StorNext Archive Additions: Installation and Configuration Guide CatDV-StorNext Archive Additions: Installation and Configuration Guide Quad Logic Systems Ltd Unit 3 Anglo Office Park Clarence Road Speedwell Bristol BS15 1NT Tel. +44 (0)117 3012530 Copyright & Trade

More information

VMware Continuent. Benefits and Configurations TECHNICAL WHITE PAPER

VMware Continuent. Benefits and Configurations TECHNICAL WHITE PAPER Benefits and Configurations TECHNICAL WHITE PAPER Table of Contents What is VMware Continuent?....3 Key benefits....4 High availability (HA), disaster recovery (DR), and continuous operations.... 4 Ease

More information

Cisco Unified Contact Center Express Data Migration Tool User Guide, Release 1.0

Cisco Unified Contact Center Express Data Migration Tool User Guide, Release 1.0 Cisco Unified Contact Center Express Data Migration Tool User Guide, Release 1.0 Cisco Unified Contact Center Express and Cisco Unified IP IVR October, 2009 This document describes the Data Migration Tool

More information

Websense Support Webinar: Questions and Answers

Websense Support Webinar: Questions and Answers Websense Support Webinar: Questions and Answers Configuring Websense Web Security v7 with Your Directory Service Can updating to Native Mode from Active Directory (AD) Mixed Mode affect transparent user

More information

Moving to Plesk Automation 11.5

Moving to Plesk Automation 11.5 Moving to Plesk Automation 11.5 Last updated: 2 June 2015 Contents About This Document 4 Introduction 5 Preparing for the Move 7 1. Install the PA Moving Tool... 8 2. Install Mail Sync Software (Windows

More information

Exam Name: IBM InfoSphere MDM Server v9.0

Exam Name: IBM InfoSphere MDM Server v9.0 Vendor: IBM Exam Code: 000-420 Exam Name: IBM InfoSphere MDM Server v9.0 Version: DEMO 1. As part of a maintenance team for an InfoSphere MDM Server implementation, you are investigating the "EndDate must

More information

IceWarp to IceWarp Server Migration

IceWarp to IceWarp Server Migration IceWarp to IceWarp Server Migration Registered Trademarks iphone, ipad, Mac, OS X are trademarks of Apple Inc., registered in the U.S. and other countries. Microsoft, Windows, Outlook and Windows Phone

More information

Implementing Moodle on a Windows High Availability Environment

Implementing Moodle on a Windows High Availability Environment Implementing Moodle on a Windows High Availability Environment Implementing Moodle 1.9 on 2 Microsoft Load Balanced Web Front End Server and a Microsoft SQL Server 2008 R2 Cluster environment Written by:

More information

CA ARCserve and CA XOsoft r12.5 Best Practices for protecting Microsoft SQL Server

CA ARCserve and CA XOsoft r12.5 Best Practices for protecting Microsoft SQL Server CA RECOVERY MANAGEMENT R12.5 BEST PRACTICE CA ARCserve and CA XOsoft r12.5 Best Practices for protecting Microsoft SQL Server Overview Benefits The CA Advantage The CA ARCserve Backup Support and Engineering

More information

AWS Schema Conversion Tool. User Guide Version 1.0

AWS Schema Conversion Tool. User Guide Version 1.0 AWS Schema Conversion Tool User Guide AWS Schema Conversion Tool: User Guide Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may

More information

ADAM 5.5. System Requirements

ADAM 5.5. System Requirements ADAM 5.5 System Requirements 1 1. Overview The schema below shows an overview of the ADAM components that will be installed and set up. ADAM Server: hosts the ADAM core components. You must install the

More information

High Availability and Scalability for Online Applications with MySQL

High Availability and Scalability for Online Applications with MySQL High Availability and Scalability for Online Applications with MySQL Part 1I - Advanced Replication Ivan Zoratti Sales Engineering Manager EMEA ivan@mysql.com April 2007 Agenda Welcome back! and Welcome

More information

How To Install An Aneka Cloud On A Windows 7 Computer (For Free)

How To Install An Aneka Cloud On A Windows 7 Computer (For Free) MANJRASOFT PTY LTD Aneka 3.0 Manjrasoft 5/13/2013 This document describes in detail the steps involved in installing and configuring an Aneka Cloud. It covers the prerequisites for the installation, the

More information

Server & Workstation Installation of Client Profiles for Windows

Server & Workstation Installation of Client Profiles for Windows C ase Manag e m e n t by C l i e n t P rofiles Server & Workstation Installation of Client Profiles for Windows T E C H N O L O G Y F O R T H E B U S I N E S S O F L A W General Notes to Prepare for Installing

More information

EVENT LOG MANAGEMENT...

EVENT LOG MANAGEMENT... Event Log Management EVENT LOG MANAGEMENT... 1 Overview... 1 Application Event Logs... 3 Security Event Logs... 3 System Event Logs... 3 Other Event Logs... 4 Windows Update Event Logs... 6 Syslog... 6

More information

18.2 user guide No Magic, Inc. 2015

18.2 user guide No Magic, Inc. 2015 18.2 user guide No Magic, Inc. 2015 All material contained here in is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced by any means. All information

More information

VERSION 9.02 INSTALLATION GUIDE. www.pacifictimesheet.com

VERSION 9.02 INSTALLATION GUIDE. www.pacifictimesheet.com VERSION 9.02 INSTALLATION GUIDE www.pacifictimesheet.com PACIFIC TIMESHEET INSTALLATION GUIDE INTRODUCTION... 4 BUNDLED SOFTWARE... 4 LICENSE KEY... 4 SYSTEM REQUIREMENTS... 5 INSTALLING PACIFIC TIMESHEET

More information

Chancery SMS 7.5.0 Database Split

Chancery SMS 7.5.0 Database Split TECHNICAL BULLETIN Microsoft SQL Server replication... 1 Transactional replication... 2 Preparing to set up replication... 3 Setting up replication... 4 Quick Reference...11, 2009 Pearson Education, Inc.

More information

FioranoMQ 9. High Availability Guide

FioranoMQ 9. High Availability Guide FioranoMQ 9 High Availability Guide Copyright (c) 1999-2008, Fiorano Software Technologies Pvt. Ltd., Copyright (c) 2008-2009, Fiorano Software Pty. Ltd. All rights reserved. This software is the confidential

More information

Database Administration with MySQL

Database Administration with MySQL Database Administration with MySQL Suitable For: Database administrators and system administrators who need to manage MySQL based services. Prerequisites: Practical knowledge of SQL Some knowledge of relational

More information

Department of Veterans Affairs VistA Integration Adapter Release 1.0.5.0 Enhancement Manual

Department of Veterans Affairs VistA Integration Adapter Release 1.0.5.0 Enhancement Manual Department of Veterans Affairs VistA Integration Adapter Release 1.0.5.0 Enhancement Manual Version 1.1 September 2014 Revision History Date Version Description Author 09/28/2014 1.0 Updates associated

More information

Tungsten Replicator, more open than ever!

Tungsten Replicator, more open than ever! Tungsten Replicator, more open than ever! MC Brown, Senior Product Line Manager September, 2015 2014 VMware Inc. All rights reserved. We Face An Age Old Problem BRS/Search 2 It s Gotten Worse 3 Much Worse

More information

Alfresco Enterprise on AWS: Reference Architecture

Alfresco Enterprise on AWS: Reference Architecture Alfresco Enterprise on AWS: Reference Architecture October 2013 (Please consult http://aws.amazon.com/whitepapers/ for the latest version of this paper) Page 1 of 13 Abstract Amazon Web Services (AWS)

More information

IBM WebSphere Application Server Version 7.0

IBM WebSphere Application Server Version 7.0 IBM WebSphere Application Server Version 7.0 Centralized Installation Manager for IBM WebSphere Application Server Network Deployment Version 7.0 Note: Before using this information, be sure to read the

More information

Backup and Recovery. What Backup, Recovery, and Disaster Recovery Mean to Your SQL Anywhere Databases

Backup and Recovery. What Backup, Recovery, and Disaster Recovery Mean to Your SQL Anywhere Databases Backup and Recovery What Backup, Recovery, and Disaster Recovery Mean to Your SQL Anywhere Databases CONTENTS Introduction 3 Terminology and concepts 3 Database files that make up a database 3 Client-side

More information

TP1: Getting Started with Hadoop

TP1: Getting Started with Hadoop TP1: Getting Started with Hadoop Alexandru Costan MapReduce has emerged as a leading programming model for data-intensive computing. It was originally proposed by Google to simplify development of web

More information