380 likes | 496 Views
Join us for an insightful presentation by Solomon Chang on MySQL Clustering using NDB Cluster technology. Explore the aspects of high availability through a shared-nothing architecture, effective server requirements, and the various node types such as data nodes, management nodes, and API nodes. Learn about performance considerations, security setups, and the intricacies of cluster replication and backup restoration. This session will provide essential knowledge for anyone looking to implement or enhance MySQL clustering in their environments.
E N D
Welcome to the UUASC LA Chapter • TONIGHT • Solomon Chang • proudly presents: • MySQL Clustering
NDB Cluster • High Availability* • Shared-Nothing Architecture • Redundancy
Server Requirements • Any machine that can run MySQL
Server Requirements • Any machine that can run MySQL • Non-Microsoft Operating System
Server Requirements • Any machine that can run MySQL • Non-Microsoft Operating System • A buttload of RAM
Types of Nodes • Data Nodes • ndbd • Management Nodes • ndb_mgmd • API Nodes • mysqld • ndb_mgm
Bits and Pieces • Partition (AKA Fragment) • A portion of a table • Replica • A copy of a Partition • Node Group • A collection of individual data nodes
Security of Nodes • Authentication: None
Security of Nodes • Authentication: None • Encryption: None
Security of Nodes • Authentication: None • Encryption: None • Management and Data Nodes are very trusting as to who or what connects to them
Transports • Gigabit Ethernet • Bare recommended minimum • SCI • Scalable Coherent Interconnect • Infiniband
Performance • Primary Key are hashes
Performance • Primary Key are hashes • Hashed values determine which rows are distributed to which data nodes
Performance • Primary Key are hashes • Hashed values determine which rows are distributed to which data nodes • Pushdown
Performance • Primary Key are hashes • Hashed values determine which rows are distributed to which data nodes • Pushdown • Spreading query work across multiple data nodes • set engine_condition_pushdown = 1
Data Node Setup In /etc/my.cnf: [MYSQLD] ndbcluster ndb-connectstring=10.0.0.152 [MYSQL_CLUSTER] ndb-connectstring=10.0.0.152
Management Node Setup • config.ini sections • [ndbd] • [ndb_mgmd] • [mysqld]
Management Node Setup • config.ini sections • [ndbd] • [ndb_mgmd] • [mysqld] • Sections can be blank
Management Node Setup • config.ini sections • [ndbd] • [ndb_mgmd] • [mysqld] • Sections can be blank • There can be multiple instances of a section
SQL Node Setup Just like the Data Node Setup In /etc/my.cnf: [MYSQLD] ndbcluster ndb-connectstring=10.0.0.152 [MYSQL_CLUSTER] ndb-connectstring=10.0.0.152
SQL Node Setup The Management Node already knows this is a SQL node from its config.ini file
Enough Talking It's showtime
Cluster Replication Cluster replication is exactly the same as regular MySQL replication, with the exception of the Binary Log Injection Thread.
Backup and Restoration Why would a fault-tolerant, completely redundant system would ever need to have a backup for restoring data?
HA Caveat • SQL Nodes