mysql cluster: ha als storageengine - · pdf filewhat about hochverfugbarkeit mit mysql topic...
TRANSCRIPT
![Page 1: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/1.jpg)
MySQL Cluster: HA als StorageEngine
Erkan Yanar
linsenraum.de
25. April 2012
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 1 / 34
![Page 2: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/2.jpg)
What About
Hochverfugbarkeit mit MySQL
Topic
Wir wollen Hochverfugbarkeit
Daten
Service
Und wie erreichen?
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 2 / 34
![Page 3: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/3.jpg)
Datenredundanz/Verfugbarkeit Replication
Losungsmoglichkeiten:
HA auf Basis von Replikation
Replikation
Datenredundanz
Slave read only(Scaleout)
HA
Daten redundant?
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 3 / 34
![Page 4: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/4.jpg)
Datenredundanz/Verfugbarkeit Replication
Losungsmoglichkeiten:
HA auf Basis von Replikation
Replikation
Datenredundanz
Slave read only(Scaleout)
HA
Daten redundant?
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 3 / 34
![Page 5: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/5.jpg)
Datenredundanz/Verfugbarkeit Replication
Losungsmoglichkeiten:
HA auf Basis von Replikation
Replikation
Datenredundanz
Slave read only(Scaleout)
HA
Daten redundant?
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 3 / 34
![Page 6: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/6.jpg)
Datenredundanz/Verfugbarkeit Replication
Losungsmoglichkeiten:
HA auf Basis von Replikation
Replikation
Datenredundanz
Slave read only(Scaleout)
HA
Daten redundant?
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 3 / 34
![Page 7: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/7.jpg)
Datenredundanz/Verfugbarkeit Replication
Sicherheit semisync vs. Performance async
Failover
Daten
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 4 / 34
![Page 8: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/8.jpg)
Datenredundanz/Verfugbarkeit Blocklevel
Blocklevel
2 Nodes Limit
Nur ein Rechner
Failover
Daten
Recoverydowntime
Keine Skalierung
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 5 / 34
![Page 9: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/9.jpg)
Datenredundanz/Verfugbarkeit Blocklevel
Blocklevel
2 Nodes Limit
Nur ein Rechner
Failover
Daten
Recoverydowntime
Keine Skalierung
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 5 / 34
![Page 10: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/10.jpg)
Datenredundanz/Verfugbarkeit StorageEngines
Modulares MySQL
Storage Engine
Authentication
INFORMATION SCHEMA
General
Replication
Audit
. . .
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 6 / 34
![Page 11: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/11.jpg)
Datenredundanz/Verfugbarkeit StorageEngines
Modulares MySQL
Storage Engine
Authentication
INFORMATION SCHEMA
General
Replication
Audit
. . .
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 6 / 34
![Page 12: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/12.jpg)
Datenredundanz/Verfugbarkeit StorageEngines
Local Storage Engine
CREATE TABLE tablename (...) ENGINE=...
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 7 / 34
![Page 13: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/13.jpg)
Datenredundanz/Verfugbarkeit StorageEngines
Storage Engines
CREATE TABLE tablename (...) ENGINE=...
Local Storage
INNODB/XtraDB
MYISAM
Aria
PBXT
OQGraph
. . .
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 8 / 34
![Page 14: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/14.jpg)
Datenredundanz/Verfugbarkeit StorageEngines
Weite Welt
CREATE TABLE tablename (...) ENGINE=...
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 9 / 34
![Page 15: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/15.jpg)
Datenredundanz/Verfugbarkeit StorageEngines
Network Storage
FedratedX
SpiderSE
NDB (Network Database)
CREATE TABLE tbl a(col a int,col b int,PRIMARY KEY(col a))ENGINE = FEDERATEDCONNECTION’mysql://ich:[email protected]/db/tbl a’;
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 10 / 34
![Page 16: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/16.jpg)
Datenredundanz/Verfugbarkeit StorageEngines
Network Storage
FedratedX
SpiderSE
NDB (Network Database)
CREATE TABLE tbl a( col a int, col b int, PRIMARY KEY(col a))ENGINE = SPIDERCONNECTION ’ table tbl a, user ich, password auch ’PARTITION BY RANGE( col a ) (PARTITION p1 VALUES LESS THAN (1000) COMMENT ’host 192.168.178.25’,PARTITION p2 VALUES LESS THAN (2000) COMMENT ’host 192.168.178.26’,PARTITION p3 VALUES LESS THAN (MAXVALUE) COMMENT ’host 192.168.178.27’ );
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 10 / 34
![Page 17: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/17.jpg)
Datenredundanz/Verfugbarkeit StorageEngines
Network Storage
FedratedX
SpiderSE
NDB (Network Database)
CREATE TABLE imha ( . . . ) ENGINE=NDB;
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 10 / 34
![Page 18: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/18.jpg)
MySQL Cluster
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 11 / 34
![Page 19: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/19.jpg)
MySQL Cluster
Network Storage
Speicher Engine
Shared Nothing
HA: 99,999%
ACID
READ COMMITTED
Row Locking
Two Phase Commit
Keine FK
Key/Value Applikation!
ALTER TABLE . . . ENGINE=NDB
Hash-Partitionierung/Sharding
Durchsatz, Parallelitat
Scaleout
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 12 / 34
![Page 20: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/20.jpg)
MySQL Cluster Komponenten
Komponenten
ndb(mt)d
mgmd
MySQL/API
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 13 / 34
![Page 21: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/21.jpg)
MySQL Cluster Komponenten
Komponenten
ndb(mt)d
mgmd
MySQL/API
Datenknoten
Partitionierung/Redundanz
2-Phase-Commit
Failover
max. 48 Nodes
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 13 / 34
![Page 22: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/22.jpg)
MySQL Cluster Komponenten
Komponenten
ndb(mt)d
mgmd
MySQL/API
Managementdeamon/knoten:
Konfiguration
Logging
Arbitrator
Managementinterface
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 13 / 34
![Page 23: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/23.jpg)
MySQL Cluster Komponenten
Komponenten
ndb(mt)d
mgmd
MySQL/API
API
Kommunikation via ndb-api
ENGINE=NDB
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 13 / 34
![Page 24: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/24.jpg)
MySQL Cluster NoOfReplicas
Implementing HA
ndb(mt)d
NoOfReplicas
Primary lead
Failover
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 14 / 34
![Page 25: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/25.jpg)
MySQL Cluster 2PC
Impelenting HA: 2PC
Datenkonsitenz a la 2PC
TransactionCoordinator
Prepare
Commit
Latenz
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 15 / 34
![Page 26: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/26.jpg)
MySQL Cluster 2PC
Impelenting HA: 2PC
100.000 Inserts:
InnoDB 0m7.911s
NDB 1m47.806s
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 15 / 34
![Page 27: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/27.jpg)
MySQL Cluster Changing Data
INSERT/UPDATE
Changing Data
Parallel Inserts
Parallel Updates
Multi Data-Nodes
Multi Api-Nodes!
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 16 / 34
![Page 28: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/28.jpg)
MySQL Cluster SELECTs
SELECT
NDB SELECTs
Key Lookups
Nested Loop Join
Push-Down-Join (SPJ)
Parallel Scans
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 17 / 34
![Page 29: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/29.jpg)
MySQL Cluster SELECTs
a SELECT id2 FROM a WHERE id=@a; 100.000 x uniform
b SELECT COUNT(*) FROM a JOIN b using (id);
c SELECT COUNT(*) FROM a JOIN b using (id) where a.id=100; 100.000x
d SELECT COUNT(id2) FROM a JOIN b using (id2) where a.id=1000;
Query InnoDB 5.5.20 ndb 7.1.0 ndb 7.2.5
a 8.526s 29.290s 29.290s
b 0.130s 16.290s 0.750sc 8.131s 40.285s 44.043sd 34.844s 560.717s 559.317s
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 18 / 34
![Page 30: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/30.jpg)
MySQL Cluster SELECTs
a SELECT id2 FROM a WHERE id=@a; 100.000 x uniform
b SELECT COUNT(*) FROM a JOIN b using (id);
c SELECT COUNT(*) FROM a JOIN b using (id) where a.id=100; 100.000x
d SELECT COUNT(id2) FROM a JOIN b using (id2) where a.id=1000;
Query InnoDB 5.5.20 ndb 7.1.0 ndb 7.2.5
a 8.526s 29.290s 29.290sb 0.130s 16.290s SPJ 0.750s
c 8.131s 40.285s 44.043sd 34.844s 560.717s 559.317s
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 18 / 34
![Page 31: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/31.jpg)
MySQL Cluster SELECTs
a SELECT id2 FROM a WHERE id=@a; 100.000 x uniform
b SELECT COUNT(*) FROM a JOIN b using (id);
c SELECT COUNT(*) FROM a JOIN b using (id) where a.id=100; 100.000x
d SELECT COUNT(id2) FROM a JOIN b using (id2) where a.id=1000;
Query InnoDB 5.5.20 ndb 7.1.0 ndb 7.2.5
a 8.526s 29.290s 29.290sb 0.130s 16.290s 0.750sc 8.131s 40.285s 44.043s
d 34.844s 560.717s 559.317s
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 18 / 34
![Page 32: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/32.jpg)
MySQL Cluster SELECTs
a SELECT id2 FROM a WHERE id=@a; 100.000 x uniform
b SELECT COUNT(*) FROM a JOIN b using (id);
c SELECT COUNT(*) FROM a JOIN b using (id) where a.id=100; 100.000x
d SELECT COUNT(id2) FROM a JOIN b using (id2) where a.id=1000;
Query InnoDB 5.5.20 ndb 7.1.0 ndb 7.2.5
a 8.526s 29.290s 29.290sb 0.130s 16.290s 0.750sc 8.131s 40.285s 44.043sd 34.844s 560.717s 559.317s
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 18 / 34
![Page 33: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/33.jpg)
MySQL Cluster SELECTs
a SELECT id2 FROM a WHERE id=@a; 100.000 x uniform
b SELECT COUNT(*) FROM a JOIN b using (id);
c SELECT COUNT(*) FROM a JOIN b using (id) where a.id=100; 100.000x
d SELECT COUNT(id2) FROM a JOIN b using (id2) where a.id=1000;
Query InnoDB 5.5.20 ndb 7.1.0 ndb 7.2.5
a 8.526s 29.290s 29.290sb 0.130s 16.290s 0.750sc 8.131s 40.285s 44.043sd 34.844s 560.717s 559.317s
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 18 / 34
![Page 34: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/34.jpg)
MySQL Cluster Making the whole Cluster HA
Begrenztes HA
HA der MySQLd?
Loadbalancer
Connectoren
Pacemaker
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 19 / 34
![Page 35: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/35.jpg)
NDB best used for:
UseCases
Viele kleine Trans.
Key/Value Lookups
HA
Hoher Durchsatz
Telco
Gaming
. . .
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 20 / 34
![Page 36: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/36.jpg)
Memory
Memory Only NDB
Speicheraufteilung
IndexMemory
DataMemory
Hard Limit
UNIQUE/PK Indices
Indices und Data
Pages stick to table
Kein Auslagern
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 21 / 34
![Page 37: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/37.jpg)
Memory
Memory Only NDB
Speicheraufteilung
IndexMemory
DataMemory
Hard Limit
UNIQUE/PK Indices
Indices und Data
Pages stick to table
Kein Auslagern
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 21 / 34
![Page 38: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/38.jpg)
Memory
Memory Only NDB
Speicheraufteilung
IndexMemory
DataMemory
Hard Limit
UNIQUE/PK Indices
Indices und Data
Pages stick to table
Kein Auslagern
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 21 / 34
![Page 39: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/39.jpg)
Memory Fixed Arrays
Frohliches Konfigurieren
IndexMemory PK, UNIQUE
DataMemory Data, (Ordered) Indices,
StringMemory Out of string memory, ...Permanent error: Schema error
MaxNoOfOrderedIndexes Maximale Zahl der Ordered Indices
MaxNoOfAttributes Max. Tabellen, Indices, Columns etc.
MaxNoOfUniqueHashIndexes Max. Unique Indices die nicht PK sind.
MaxNoOfConcurrentOperations Operation Records in TC1KB
ndb config -f: -q Id,MaxNoOfConcurrentOperations
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 22 / 34
![Page 40: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/40.jpg)
Memory Memory hitting Disk
Und was ist mit Disk?
Disk IO!
MySQL Cluster schreibt inDiskCheckpointSpeed DataMemory (alsLCP) mit TimeBetweenLocalCheckpointsAbstand auf die Disk.
Das Redo Log (NoOfFragmentLoges *
FragmentLogFileSize) muss groß genug
sein, um die Anderungen wahrend 2x LCP
zu speichern.
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 23 / 34
![Page 41: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/41.jpg)
Konfiguration
MySQL Cluster: Konfiguration
config.ini
Verwaltet vom mgmd
Definiert Mitglieder
Konfiguriert Teilnehmer
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 24 / 34
![Page 42: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/42.jpg)
Konfiguration
StartUp
host1# ndb_mgmd [--initial] --config-file=/tmp/config.ini
host2# ndbd [--initial] --ndb-connectstring=host1
host3# ndbd [--initial] --ndb-connectstring=host1
host4# mysqld --ndb-connectstring=host1
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 25 / 34
![Page 43: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/43.jpg)
Konfiguration
config.ini
[NDB_MGMD]
HostName = 10.10.10.23
NodeID = 1
[NDBD DEFAULT]
NoOfReplicas = 2
DataDir = /data/cluster
IndexMemory = 20M
DataMemory = 100M
[NDBD]
NodeID = 21
HostName = 10.10.10.21
[NDBD]
NodeID = 22
HostName = 10.10.10.22
[mysqld]
NodeID = 60
HostName = 10.10.10.20
[mysqld]
NodeID = 61
HostName = 10.10.10.24
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 26 / 34
![Page 44: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/44.jpg)
Konfiguration
config.ini
[NDB_MGMD]
HostName = 10.10.10.23
NodeID = 1
[NDBD DEFAULT]
NoOfReplicas = 2
DataDir = /data/cluster
IndexMemory = 20M
DataMemory = 100M
NoOfFragmentLogFiles = 32 # 32 * (16M*4)
TimeBetweenLocalCheckpoints = 20 # 20=4MB,21=8MB,22=16MB
TimeBetweenGlobalCheckpoints = 2000
#ndbmtd: MaxNoOfExecutionThreads
# cores value
# 2 2 -> 1LQH
# 4 4 -> 2LQH
# 8 8 -> 4LQH
# Partitionen= 8*LQH
# Partition = 46.137.488 Rows
[NDBD]
NodeID = 21
HostName = 10.10.10.21
[NDBD]
NodeID = 22
HostName = 10.10.10.22
[mysqld]
NodeID = 60
HostName = 10.10.10.20
[mysqld]
NodeID = 61
HostName = 10.10.10.24
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 27 / 34
![Page 45: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/45.jpg)
Konfiguration
Prozesskonfig in my.cnf
[mysqld]
ndbcluster
ndb-cluster-connection-pool = 1
[mysql_cluster]
ndb-connectstring = 10.10.10.23
[ndb_mgmd]
configdir = /data/cluster
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 28 / 34
![Page 46: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/46.jpg)
Maintenance Rolling Restart
Rolling Restarts/Upgrades
Cluster muss oft restartet werden :(
Service soll HA sein.
auch bei Upgrades!
Solution: Rolling Rolling Rolling . . .
Rolling Restart halt die Datennodes hochverfugbar.
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 29 / 34
![Page 47: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/47.jpg)
Maintenance Rolling Restart
Rolling Restarts/Upgrades
Cluster muss oft restartet werden :(
Service soll HA sein.
auch bei Upgrades!
Solution: Rolling Rolling Rolling . . .
Rolling Restart halt die Datennodes hochverfugbar.
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 29 / 34
![Page 48: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/48.jpg)
Maintenance Rolling Restart
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 30 / 34
![Page 49: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/49.jpg)
Maintenance Rolling Restart
Online Operations
ROLLING RESTART
ADD INDEX
DROP INDEX
ADD COLUMN
BACKUP
ADD/CREATENODEGROUP
REORGANIZEPARTITION
SW-UPGRADE
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 31 / 34
![Page 50: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/50.jpg)
Ignored
Lost
TableSpace
(WAN) Replication
memcached-api
mod ndb
. . .
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 32 / 34
![Page 51: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/51.jpg)
Maintenance
Wofur kann man die Losung gut gebrauchen?
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 33 / 34
![Page 52: MySQL Cluster: HA als StorageEngine - · PDF fileWhat About Hochverfugbarkeit mit MySQL Topic Wir wollen Hochverf ugbarkeit Daten Service Und wie erreichen? Erkan Yanar (linsenraum.de)](https://reader030.vdocuments.pub/reader030/viewer/2022020108/5a9e0e667f8b9a29228cfa8c/html5/thumbnails/52.jpg)
Maintenance
Ende Gelande
Morgen Galera Cluster: (fast) alles besser!
Erkan [email protected]. . .linsenraum.de/erkuleswww.xing.com/profile/Erkan Yanar
Erkan Yanar (linsenraum.de) MySQL Cluster: HA als StorageEngine 25. April 2012 34 / 34