mariadb - percona · mysvc start --rid container#03 ... hpux ip fs vg sync hpvm srp openha freebsd...

28
1 MariaDB

Upload: duongnhi

Post on 10-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

1

MariaDB

Page 2: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

2

Gcloud - Maxscale - MariaDB NoSQL - DockerGcloud - axscale - MariaDB ColumnStore - Docker

Gcloud - Maxscale - MariaDB Replication Manager - DockerGcloud - axscale - MariaDB Cluster - Docker

1.

2.

3.

Page 3: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Agent Stack••••••

Collector Stack••

••

Page 4: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Step 1 : User account bootstrap•

Page 5: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Step 2 : Agent bootstrap•

wget -O/tmp/opensvc.deb http://repo.opensvc.com/deb/currentsudo dpkg -i /tmp/opensvc.deb

•sudo nodemgr set --param node.repopkg --value http://repo.opensvc.com/

sudo nodemgr set --param node.repocomp --value http://repo.opensvc.com/compliance/

sudo nodemgr set --param node.dbopensvc --value https://collector.opensvc.com

Page 6: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Step 2 : Agent bootstrap is generating a node conf file

•[node]repopkg = http://repo.opensvc.com/repocomp = http://repo.opensvc.com/compliance/dbopensvc = https://collector.opensvc.com/feed/default/call/xmlrpcdbcompliance = https://collector.opensvc.com/init/compliance/call/xmlrpchost_mode = PRDuuid = d5bccb78-a2b2-4809-b036-ac7c7bfa7101

[compliance]auto_update = trueschedule = @1440

[stats]schedule = @60

[gcedisks]scheduler = @120

Page 7: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Step 2 : Agent bootstrap•

sudo nodemgr register --user [email protected]

sudo nodemgr set --param node.uuid --value d5bccb78-a2b2-4809-b036-ac7c7bfa7101

sudo nodemgr pushasset sudo nodemgr pushdiskssudo nodemgr pushpkgsudo nodemgr pushpatchsudo nodemgr checkssudo nodemgr sysreport

Page 8: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Step 3 : Node configuration

sudo nodemgr compliance fix --attach --moduleset mariadb.node

sudo nodemgr compliance attach --moduleset mariadb.node

sudo nodemgr compliance check --moduleset mariadb.node

sudo nodemgr compliance fix --moduleset mariadb.node

Page 10: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Step 4 : Service deployment•

sudo svcmgr -s mysvc pull

•sudo svcmgr -s mysvc provision

Page 11: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Run ops : Reconfigure MariaDB•

mysvc --cluster compliance fix

•mysvc --cluster stopcontainer; mysvc --cluster startcontainer;

Page 12: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Trouble Shooting Services •

mysvc --cluster print status

•svcmon -cv

•mysvc --cluster docker ps -a

•mysvc docker logs mysvc.container.03

•mysvc docker exec -ti mysvc.container.03 /bin/bash

•mysvc start --rid container#03

•mysvc logs or /var/log/opensvc/<mysvc>.log*

•nodemgr collector cli -- get /services/spdsvc01/resources --filter "res_type ip%" --filter "res_desc %10.0.0.33%" --filter "res_status up" --props res_desc,res_status,nodes.nodename --meta false

GCloud how to •

• gcloud compute instances set-machine-type mariadb01 --machine-type custom-1-4096 --zone europe-west1-b

Page 13: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

13

Linux

iploopfsbind mountslvm2 vgveritas vgsync

lxcopenvzxenkvmvboxovmesxdocker

openhaheartbeatdKeepalived lvm2

Snaps Dds Netapp snapmirrorSymmetrix SRDF-SHP 3Par Remote CopyDatacore replicationDrbdBtrfsZfsJfsSymmetrix cloneHP EVA snapDatacore snapIBM DS8xxx snapNEC ISM, Bull Optima snapCeph RADOS snap

Solaris

iplofszfs poolveritas vgsync

zoneldomxenvbox

openha

HpUx

ipfsvgsync

hpvmsrp openha

FreeBSD

ipmdfsnullfszfs poolsync

jail UNTESTED

GCloud Docker ✔ ✔ ✔ FUTURE ✔

Amazon Docker FUTURE FUTURE FUTURE FUTURE FUTURE

Azure Docker FUTURE FUTURE FUTURE FUTURE FUTURE

Openstack Docker FUTURE FUTURE FUTURE FUTURE FUTURE

Page 14: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

••

○○○○

14

Page 15: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

•••

○○○○○

15

MariaDBReplication

Manager

Page 16: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

16

Page 17: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

17

Page 18: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

•• •

• 18

Page 19: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

MariaDB & Maxscale Fix size 66 dockers pack in minimum 4 VMShare Disk (POD) for a pair of 1 spider + 1 backend

•front

Spider Sharding Proxy•

•front

Page 20: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Shard single table in spdc schema••

+------------+---------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+---------------------+------+-----+---------+-------+| id | bigint(20) unsigned | NO | PRI | NULL | || collection | bigint(20) unsigned | NO | PRI | NULL | || content | mediumblob | YES | | NULL | || inum | bigint(20) | YES | MUL | NULL | || istr | varbinary(40) | YES | MUL | NULL | |+------------+---------------------+------+-----+---------+-------+

‘t’ linked to local tables per collection •••

| t_c00 || t_c01 || t_c02 || t_c03 |

Each collection table linked to local shard tables in a schema per VM (blackhole)

| spdc34 || spdc36 || spdc38 || spdc40 || spdc42 || spdc44 |. . . . . . . . . . . . . . . . . . . . . . | spdc90 || spdc92 || spdc94 || spdc96 |

Each collection is exposed as a viewCREATE VIEW `dim_pays` AS SELECT column_get(t_ro.content, 'A2CODE' as char) AS A2CODE, spdc.t_ro.istr AS `A3CODE`, /*PK*/ column_get(t_ro.content, 'N3CODE' as char) AS N3CODE, column_get(t_ro.content, 'LIB' as char) AS LIB, column_get(t_ro.content, 'CONTINENT' as char) AS CONTINENT FROM t_ro WHERE t_ro.collection = cast(conv(left(md5('bigdata.dim_pays'),16),16,10) as unsigned)

Page 21: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Multi level spider layer for read to divide number of partitions to manage •

CREATE TABLE `t_ro` ENGINE=SPIDER DEFAULT CHARSET=utf8 COMMENT='mbk "1", mkd "1", alc "1", msi "144" '

(PARTITION p00 VALUES IN (0) COMMENT = 'srv "t_r1d00c00 t_l1d00c00", table "t_c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p01 VALUES IN (1) COMMENT = 'srv "t_r1d00c01 t_l1d00c01", table "t_c01", lst "0 0" ' ENGINE = SPIDER, PARTITION p02 VALUES IN (2) COMMENT = 'srv "t_r1d00c02 t_l1d00c02", table "t_c02", lst "0 0" ' ENGINE = SPIDER, PARTITION p03 VALUES IN (3) COMMENT = 'srv "t_r1d00c03 t_l1d00c03", table "t_c03", lst "0 0" ' ENGINE = SPIDER

CREATE TABLE `t_c00` ENGINE=SPIDER DEFAULT CHARSET=utf8 COMMENT='mbk "1", mkd "1", alc "1", msi "49" '

(PARTITION p00 VALUES IN (0) COMMENT = 'srv "t_r1d00c00 t_l1d00c00", table "t_d00c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p01 VALUES IN (1) COMMENT = 'srv "t_r1d01c00 t_l1d01c00", table "t_d01c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p02 VALUES IN (2) COMMENT = 'srv "t_r1d02c00 t_l1d02c00", table "t_d02c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p03 VALUES IN (3) COMMENT = 'srv "t_r1d03c00 t_l1d03c00", table "t_d03c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p04 VALUES IN (4) COMMENT = 'srv "t_r1d04c00 t_l1d04c00", table "t_d04c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p05 VALUES IN (5) COMMENT = 'srv "t_r1d05c00 t_l1d05c00", table "t_d05c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p06 VALUES IN (6) COMMENT = 'srv "t_r1d06c00 t_l1d06c00", table "t_d06c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p07 VALUES IN (7) COMMENT = 'srv "t_r1d07c00 t_l1d07c00", table "t_d07c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p08 VALUES IN (8) COMMENT = 'srv "t_r1d08c00 t_l1d08c00", table "t_d08c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p09 VALUES IN (9) COMMENT = 'srv "t_r1d09c00 t_l1d09c00", table "t_d09c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p10 VALUES IN (10) COMMENT = 'srv "t_r1d10c00 t_l1d10c00", table "t_d10c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p11 VALUES IN (11) COMMENT = 'srv "t_r1d11c00 t_l1d11c00", table "t_d11c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p12 VALUES IN (12) COMMENT = 'srv "t_r1d12c00 t_l1d12c00", table "t_d12c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p13 VALUES IN (13) COMMENT = 'srv "t_r1d13c00 t_l1d13c00", table "t_d13c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p14 VALUES IN (14) COMMENT = 'srv "t_r1d14c00 t_l1d14c00", table "t_d14c00", lst "0 0" ' ENGINE = SPIDER, PARTITION p15 VALUES IN (15) COMMENT = 'srv "t_r1d15c00 t_l1d15c00", table "t_d15c00", lst "0 0" ' ENGINE = SPIDER)

Page 22: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

On service front • DO_NOT_DELETE_ME

/spdsvc02/bootstrap# lsbootstrap.sh init_backend init_repli.sh run_middle08.sh sp_frontwrite.sqlDO_NOT_DELETE_ME init_front my_change_master_to run_middle16.sh sp_frontwritetable.sqlfront_file_bootstrap_table.cnf init_middle08 my_ping sp_backend.sql sp_middle08.sqlfront_file_bootstrap_table.kv.cnf init_middle16 run_backend.sh sp_frontread.sql sp_middle16.sqlfront_file_bootstrap_table.sql init_repli run_front.sh sp_frontwritegroup.sql

••

cat front_file_bootstrap_table.kv.cnf ddl=(id bigint unsigned not null primary key auto_increment, collection bigint unsigned , content mediumblob, inum bigint, istr varbinary(40), key idx1(inum ), key idx2(istr))ddlfront=(id bigint unsigned not null, collection bigint unsigned , content mediumblob, inum bigint, istr varbinary(40), key idx1(inum ), key idx2(istr))collection=collectionid=id tbl=tdb=spdcengine=tokudb

•./cluster_check.sh

Page 23: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Boosting •••

set transaction isolation level read uncommitted ; MariaDB [xxx]> select count(*) from xxx ;+----------+| 19598363 |+----------+

Disable background statistics to fetch once every 3600 queries

•| spider_sts_bg_mode | 0 || spider_sts_interval | 3600 || spider_sts_mode | 1 || spider_sts_sync | 1 |

•| spider_crd_bg_mode | 0 || spider_crd_interval | 3600 || spider_crd_mode | 1 || spider_crd_sync | 1 |

spider_casual_read=1

Page 24: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Load data••

⅙ to ⅛ compression

••

Page 25: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Small Downtime1.2.

3.

4.

No Downtime with rolling upgrade1.2.

3.

Page 26: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Speed ••

––

Memory ••

Storage Engine •

GCloud Sizing••

Page 27: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

27

Q&A

Page 28: MariaDB - Percona · mysvc start --rid container#03 ... HpUx ip fs vg sync hpvm srp openha FreeBSD ip md fs nullfs zfs pool sync jail UNTESTED GCloud Docker FUTURE

Thank You

28