Lyhyt esitelmä suomalaisen Codership Oy:n kehittämästä Galera-klusterointiohjelmistosta (avointa lähdekoodia).
Otto Kekäläinen
SUSE & OpenSUSE -ilta
Solinor Showroom, Helsinki 27.11.2014
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Severalnines
Galera Cluster for MySQL, Percona XtraDB Cluster and MariaDB Cluster (the three “flavours” of Galera Cluster) make use of the Galera WSREP libraries to handle synchronous replication.MySQL Cluster is the official clustering solution from Oracle, while Galera Cluster for MySQL is slowly but surely establishing itself as the de-facto clustering solution in the wider MySQL eco-system.
In this webinar, we will look at all these alternatives and present an unbiased view on their strengths/weaknesses and the use cases that fit each alternative.
This webinar will cover the following:
MySQL Cluster architecture: strengths and limitations
Galera Architecture: strengths and limitations
Deployment scenarios
Data migration
Read and write workloads (Optimistic/pessimistic locking)
WAN/Geographical replication
Schema changes
Management and monitoring
Galera cluster for MySQL - Introduction SlidesSeveralnines
This set of slides gives you an overview of Galera, configuration basics and deployment best practices.
The following topics are covered:
- Concepts
- Node provisioning
- Network partitioning
- Configuration example
- Benchmarks
- Deployment best practices
- Galera monitoring and management
This document provides an overview and summary of various high availability (HA) solutions for MySQL databases. It begins with an introduction to HA and definitions of key terms. It then discusses MySQL replication, including asynchronous, semi-synchronous, and features in MySQL 5.6 and MariaDB 10.0. Other HA solutions covered include MHA for automated failover, Galera/MariaDB Galera Cluster for synchronous replication, shared disk solutions like DRBD, and MySQL Cluster for in-memory synchronous replication across nodes. The document provides brief descriptions of how each solution works and when it may be applicable.
This document discusses containerizing stateful applications using Docker volumes and volume plugins. It provides an overview of local persistent storage options in Docker and their pros and cons. It also discusses solutions like volume plugins from companies like EMC, Microsoft, and VMware. Finally, it announces a demo of running PostgreSQL with Docker Swarm on AWS using the Flocker volume plugin.
Portainer is an open-source and simple to use UI tool for managing Docker containers and Swarm clusters. It was created in 2016 and is based in New Zealand. Portainer aims to simplify Docker management for all users, not just developers, with a focus on usability. It can deploy in 30 seconds, runs on Linux, Windows and ARM systems, and supports Docker standalone, Swarm, and Swarm mode.
Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...Severalnines
MySQL provides hundreds of status counters, but how do you make sense of all that monitoring data?
If you’re in Operations and your job is to monitor the health of MySQL/MariaDB Galera Cluster or Percona XtraDB Cluster, then this webinar is for you. Setting up a Galera Cluster is fairly straightforward, but keeping it in a good shape and knowing what to look for when it’s having production issues can be a challenge.
Status counters can be tricky to read …
Which of them are more important than others?
How do you find your way in a labyrinth of different variables?
Which of them can make a significant difference?
How might a host’s health impact MySQL performance?
How to identify problematic nodes in your cluster?
To find out more, read these webinar slides (or watch the replay).
Our colleague Krzysztof Książek provided a deep-dive session on what to monitor in Galera Cluster for MySQL & MariaDB. Krzysztof is a MySQL DBA with experience in managing complex database environments for companies like Zendesk, Chegg, Pinterest and Flipboard.
Amongst other things, Krzysztof discussed why having a good monitoring system is a must, covering the following topics:
Galera monitoring
• cluster status
• flow control
Host metrics and their impact on MySQL
• CPU
• memory
• I/O
InnoDB metrics
• CPU-related
• I/O-related
Rami Sayar presented on advanced Django architecture techniques for scaling Django applications in production environments. He discussed load balancing Django across multiple servers using solutions like HAProxy. He also covered caching with Varnish to improve performance, and using Redis or Memcached for caching. Finally, he discussed asynchronous task queues like Celery for processing tasks outside the request-response cycle.
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Severalnines
Galera Cluster for MySQL, Percona XtraDB Cluster and MariaDB Cluster (the three “flavours” of Galera Cluster) make use of the Galera WSREP libraries to handle synchronous replication.MySQL Cluster is the official clustering solution from Oracle, while Galera Cluster for MySQL is slowly but surely establishing itself as the de-facto clustering solution in the wider MySQL eco-system.
In this webinar, we will look at all these alternatives and present an unbiased view on their strengths/weaknesses and the use cases that fit each alternative.
This webinar will cover the following:
MySQL Cluster architecture: strengths and limitations
Galera Architecture: strengths and limitations
Deployment scenarios
Data migration
Read and write workloads (Optimistic/pessimistic locking)
WAN/Geographical replication
Schema changes
Management and monitoring
Galera cluster for MySQL - Introduction SlidesSeveralnines
This set of slides gives you an overview of Galera, configuration basics and deployment best practices.
The following topics are covered:
- Concepts
- Node provisioning
- Network partitioning
- Configuration example
- Benchmarks
- Deployment best practices
- Galera monitoring and management
This document provides an overview and summary of various high availability (HA) solutions for MySQL databases. It begins with an introduction to HA and definitions of key terms. It then discusses MySQL replication, including asynchronous, semi-synchronous, and features in MySQL 5.6 and MariaDB 10.0. Other HA solutions covered include MHA for automated failover, Galera/MariaDB Galera Cluster for synchronous replication, shared disk solutions like DRBD, and MySQL Cluster for in-memory synchronous replication across nodes. The document provides brief descriptions of how each solution works and when it may be applicable.
This document discusses containerizing stateful applications using Docker volumes and volume plugins. It provides an overview of local persistent storage options in Docker and their pros and cons. It also discusses solutions like volume plugins from companies like EMC, Microsoft, and VMware. Finally, it announces a demo of running PostgreSQL with Docker Swarm on AWS using the Flocker volume plugin.
Portainer is an open-source and simple to use UI tool for managing Docker containers and Swarm clusters. It was created in 2016 and is based in New Zealand. Portainer aims to simplify Docker management for all users, not just developers, with a focus on usability. It can deploy in 30 seconds, runs on Linux, Windows and ARM systems, and supports Docker standalone, Swarm, and Swarm mode.
Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...Severalnines
MySQL provides hundreds of status counters, but how do you make sense of all that monitoring data?
If you’re in Operations and your job is to monitor the health of MySQL/MariaDB Galera Cluster or Percona XtraDB Cluster, then this webinar is for you. Setting up a Galera Cluster is fairly straightforward, but keeping it in a good shape and knowing what to look for when it’s having production issues can be a challenge.
Status counters can be tricky to read …
Which of them are more important than others?
How do you find your way in a labyrinth of different variables?
Which of them can make a significant difference?
How might a host’s health impact MySQL performance?
How to identify problematic nodes in your cluster?
To find out more, read these webinar slides (or watch the replay).
Our colleague Krzysztof Książek provided a deep-dive session on what to monitor in Galera Cluster for MySQL & MariaDB. Krzysztof is a MySQL DBA with experience in managing complex database environments for companies like Zendesk, Chegg, Pinterest and Flipboard.
Amongst other things, Krzysztof discussed why having a good monitoring system is a must, covering the following topics:
Galera monitoring
• cluster status
• flow control
Host metrics and their impact on MySQL
• CPU
• memory
• I/O
InnoDB metrics
• CPU-related
• I/O-related
Rami Sayar presented on advanced Django architecture techniques for scaling Django applications in production environments. He discussed load balancing Django across multiple servers using solutions like HAProxy. He also covered caching with Varnish to improve performance, and using Redis or Memcached for caching. Finally, he discussed asynchronous task queues like Celery for processing tasks outside the request-response cycle.
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuOtto Kekäläinen
Presentation slides from FOSDEM 2021.
Talk covers the MariaDB packaging in two of the most widely-used Linux distros, Debian and Ubuntu, including the strict requirements demanded by distros, and the impact on fixing bugs “upstream” in MariaDB itself.
Search in WordPress - how it works and howto customize itOtto Kekäläinen
WordPress search customization is a topic we at Seravo get asked about on a frequent basis. There are many different ways to customize the search, and customers understandably want to learn the best practices. The search can be customized quite easily with small changes on PHP code level, and by utilizing MariaDB database’s built-in search functionality. You can also choose a more robust way to do this, and build a new ElasticSearch server just for your case.
These slides are from the webinar on January 14th, 2021: https://seravo.com/blog/webinar-search-function-and-how-to-customize-it/
MariaDB quality assurance in Debian and UbuntuOtto Kekäläinen
MariaDB post-release quality assurance in Debian and Ubuntu
Presentation from MariaDB Server Minifest Dec 9th, 2020.
See https://mariadb.org/minifest2020/distros/
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?Otto Kekäläinen
MariaDB has now reached the 10th major release since the original authors of MySQL started taking the code base in another direction than where MySQL is going under Oracle’s ownership. Today MariaDB has many more features than Oracle MySQL and it is the default MySQL variant in Debian.
This presentation covers what new features landed in MariaDB 10.5 and also touches on how the long existing features have evolved to today, and naturally what is their state and best practices for Debian users. MariaDB has also built-in support for Galera master-master replication and Galera 4 has recently landed in Debian, so it will also be covered.
The 5 most common reasons for a slow WordPress site and how to fix them – ext...Otto Kekäläinen
Presentation given in WP Meetup in October 2019.
Includes fresh new tips from summer/fall 2019!
A Must read for all WordPress site owners and developers.
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...Otto Kekäläinen
This document discusses how MariaDB in Debian uses the Salsa-CI/Gitlab-CI infrastructure to ensure smooth upgrades and avoid regressions. It describes how the MariaDB packaging repositories were moved to Salsa.Debian.org and how a custom Gitlab-CI pipeline with 18 jobs over 5 stages was created to build, test, and simulate upgrades from various versions. This comprehensive continuous integration process helps catch issues early and improve the quality and reliability of MariaDB upgrades. Challenges in testing such a large and complex package are also discussed.
This document discusses the state of MariaDB and MySQL packaging in Debian. MariaDB 10.3 is included in the latest stable Debian release, and 10.4 will be uploaded soon. MySQL 5.7 is available in unstable but not stable releases. There is ongoing work to maintain older MariaDB versions and develop new packages. Contributors are encouraged to participate in bug triage and discussions to help address stale bugs without coding skills.
How to investigate and recover from a security breach in WordPressOtto Kekäläinen
This document summarizes Otto Kekäläinen's talk about investigating and recovering from a WordPress security breach at his company Seravo. On November 9th, 2018 four WordPress sites hosted by Seravo were compromised due to a vulnerability in the WP GDPR Compliance plugin. Seravo's security team launched an investigation that uncovered malicious user accounts, identified the vulnerable plugin as the entry point, and cleaned up the sites. The experience highlighted the importance of having an incident response plan even when security best practices are followed.
Automatic testing and quality assurance for WordPress plugins and themesOtto Kekäläinen
Talk given at WP Helsinki Meetup 7.11.2018
See also:
* https://developer.wordpress.org/themes
* https://developer.wordpress.org/plugins
* https://travis-ci.org/Seravo
* https://seravo.com/blog/coding-wordpress-in-style-with-phpcs/
10 things every developer should know about their database to run word press ...Otto Kekäläinen
Talk from WordCamp Barcelona 2018
https://2018.barcelona.wordcamp.org/session/10-things-every-developer-should-know-about-their-database-to-run-wordpress-optimally/
The database is perhaps the most important piece of your infrastructure. The database contains all your important e-commerce data and must be kept secured. The database performance often defines the overall performance of your WordPress site. In this talk I the most important things every WordPress developer should know about MariaDB/MySQL to be able to build and operate their site optimally.
Automatic testing and quality assurance for WordPress pluginsOtto Kekäläinen
Talk given at WordCamp Jyväskylä 2018
WordPress plugins have a reputation of low quality. Help us prove them wrong. Start using automatic quality testing!
WordPressin tietoturva: Mikä on olennaista – ja mikä ei?
Esitys WP Seinäjoki Meetupissa 28.11.2017
Tietoa kaikille jotka omistavat WordPress-sivuston tai kehittävät WordPress-sivustoja.
Improving WordPress Performance with Xdebug and PHP ProfilingOtto Kekäläinen
Presentation given at WordCamp Europe 2017 in Paris 2017-06-16.
Xdebug is a tool for developers to gain insight into how PHP is executed. Using it for profiling is a very effective, fast and precise method to find bottlenecks in your WordPress site. In this talk I explain how to use it with Webgrind, how to find potential optimization targets, show examples of real cases when Xdebug helped fix a performance problem and also explain what Xdebug is not suitable for and what can be used instead. If you are not a developer, you’ll learn what Xdebug is capable of and when to ask a developer to use it.
MariaDB adoption in Linux distributions and development environmentsOtto Kekäläinen
Presentation given at the M|17 MariaDB User Conference 2017
https://m17.mariadb.com/
Linux, Apache, MySQL and PHP used to be the most widely used web application stacks. As technology evolves, this is no longer the case. For the M part, MariaDB has replaced MySQL in numerous Linux distributions and development environments, and is becoming the new M in most production environments as well. This talk presents how the landscape looks today, and why and how web developers are migrating to MariaDB around the globe.
Presentation given at the WP Jyväksylä Meetup March 21st, 2017. This revised version contains references to the WordPress security news that circulated in February 2017.
FOSDEM2021: MariaDB post-release quality assurance in Debian and UbuntuOtto Kekäläinen
Presentation slides from FOSDEM 2021.
Talk covers the MariaDB packaging in two of the most widely-used Linux distros, Debian and Ubuntu, including the strict requirements demanded by distros, and the impact on fixing bugs “upstream” in MariaDB itself.
Search in WordPress - how it works and howto customize itOtto Kekäläinen
WordPress search customization is a topic we at Seravo get asked about on a frequent basis. There are many different ways to customize the search, and customers understandably want to learn the best practices. The search can be customized quite easily with small changes on PHP code level, and by utilizing MariaDB database’s built-in search functionality. You can also choose a more robust way to do this, and build a new ElasticSearch server just for your case.
These slides are from the webinar on January 14th, 2021: https://seravo.com/blog/webinar-search-function-and-how-to-customize-it/
MariaDB quality assurance in Debian and UbuntuOtto Kekäläinen
MariaDB post-release quality assurance in Debian and Ubuntu
Presentation from MariaDB Server Minifest Dec 9th, 2020.
See https://mariadb.org/minifest2020/distros/
DebConf 2020: What’s New in MariaDB Server 10.5 and Galera 4?Otto Kekäläinen
MariaDB has now reached the 10th major release since the original authors of MySQL started taking the code base in another direction than where MySQL is going under Oracle’s ownership. Today MariaDB has many more features than Oracle MySQL and it is the default MySQL variant in Debian.
This presentation covers what new features landed in MariaDB 10.5 and also touches on how the long existing features have evolved to today, and naturally what is their state and best practices for Debian users. MariaDB has also built-in support for Galera master-master replication and Galera 4 has recently landed in Debian, so it will also be covered.
The 5 most common reasons for a slow WordPress site and how to fix them – ext...Otto Kekäläinen
Presentation given in WP Meetup in October 2019.
Includes fresh new tips from summer/fall 2019!
A Must read for all WordPress site owners and developers.
How MariaDB packaging uses Salsa-CI to ensure smooth upgrades and avoid regre...Otto Kekäläinen
This document discusses how MariaDB in Debian uses the Salsa-CI/Gitlab-CI infrastructure to ensure smooth upgrades and avoid regressions. It describes how the MariaDB packaging repositories were moved to Salsa.Debian.org and how a custom Gitlab-CI pipeline with 18 jobs over 5 stages was created to build, test, and simulate upgrades from various versions. This comprehensive continuous integration process helps catch issues early and improve the quality and reliability of MariaDB upgrades. Challenges in testing such a large and complex package are also discussed.
This document discusses the state of MariaDB and MySQL packaging in Debian. MariaDB 10.3 is included in the latest stable Debian release, and 10.4 will be uploaded soon. MySQL 5.7 is available in unstable but not stable releases. There is ongoing work to maintain older MariaDB versions and develop new packages. Contributors are encouraged to participate in bug triage and discussions to help address stale bugs without coding skills.
How to investigate and recover from a security breach in WordPressOtto Kekäläinen
This document summarizes Otto Kekäläinen's talk about investigating and recovering from a WordPress security breach at his company Seravo. On November 9th, 2018 four WordPress sites hosted by Seravo were compromised due to a vulnerability in the WP GDPR Compliance plugin. Seravo's security team launched an investigation that uncovered malicious user accounts, identified the vulnerable plugin as the entry point, and cleaned up the sites. The experience highlighted the importance of having an incident response plan even when security best practices are followed.
Automatic testing and quality assurance for WordPress plugins and themesOtto Kekäläinen
Talk given at WP Helsinki Meetup 7.11.2018
See also:
* https://developer.wordpress.org/themes
* https://developer.wordpress.org/plugins
* https://travis-ci.org/Seravo
* https://seravo.com/blog/coding-wordpress-in-style-with-phpcs/
10 things every developer should know about their database to run word press ...Otto Kekäläinen
Talk from WordCamp Barcelona 2018
https://2018.barcelona.wordcamp.org/session/10-things-every-developer-should-know-about-their-database-to-run-wordpress-optimally/
The database is perhaps the most important piece of your infrastructure. The database contains all your important e-commerce data and must be kept secured. The database performance often defines the overall performance of your WordPress site. In this talk I the most important things every WordPress developer should know about MariaDB/MySQL to be able to build and operate their site optimally.
Automatic testing and quality assurance for WordPress pluginsOtto Kekäläinen
Talk given at WordCamp Jyväskylä 2018
WordPress plugins have a reputation of low quality. Help us prove them wrong. Start using automatic quality testing!
WordPressin tietoturva: Mikä on olennaista – ja mikä ei?
Esitys WP Seinäjoki Meetupissa 28.11.2017
Tietoa kaikille jotka omistavat WordPress-sivuston tai kehittävät WordPress-sivustoja.
Improving WordPress Performance with Xdebug and PHP ProfilingOtto Kekäläinen
Presentation given at WordCamp Europe 2017 in Paris 2017-06-16.
Xdebug is a tool for developers to gain insight into how PHP is executed. Using it for profiling is a very effective, fast and precise method to find bottlenecks in your WordPress site. In this talk I explain how to use it with Webgrind, how to find potential optimization targets, show examples of real cases when Xdebug helped fix a performance problem and also explain what Xdebug is not suitable for and what can be used instead. If you are not a developer, you’ll learn what Xdebug is capable of and when to ask a developer to use it.
MariaDB adoption in Linux distributions and development environmentsOtto Kekäläinen
Presentation given at the M|17 MariaDB User Conference 2017
https://m17.mariadb.com/
Linux, Apache, MySQL and PHP used to be the most widely used web application stacks. As technology evolves, this is no longer the case. For the M part, MariaDB has replaced MySQL in numerous Linux distributions and development environments, and is becoming the new M in most production environments as well. This talk presents how the landscape looks today, and why and how web developers are migrating to MariaDB around the globe.
Presentation given at the WP Jyväksylä Meetup March 21st, 2017. This revised version contains references to the WordPress security news that circulated in February 2017.
3. Kun master-slave ei riitä...
Normaali MySQL/MariaDB pystyy tekemään replikointia
siten, että tietokannan pääkone (master) lähettää tietoja
varakoneeseen (slave).
Galera tarjoaa multi-master toiminnon, eli on
tietokannalla voi olla useampi tietokone, jotka voivat
vastaanottaa tietoa (kirjoittaa tietokantaan) rinnakkain.
Kehittäjä suomalainen Codership Oy
4. Galera-arkkitehtuuri
read & write read & write read & write
MariaDB MariaDB MariaDB
Read & write mihin tahansa koneeseen
Master-koneita voi olla useita
Galera-replikointi Replikointi on synkronista
5. Galera
MySQL/MariaDB/Percona-tietokannan
tulee olla InnoDB/XtraDB-tyyppiä
Klusteroinnissa pitää olla vähintään kolme
tietokonetta – 3. koneessa voi olla koko
tietokantaohjelman sijasta myös pelkkä
Galera arbitrator -ohjelma
6. Galera
Provisiointi on automaattista
Koneet voi olla missä vaan (LAN/WAN)
Galerassa on SSL/TLS-tuki, jonka voi
tarvittaessa kytkeä päälle
8. Helppo ja halpa skaalautuvuus
Aloita yhdellä tietokantapalvelimella
Lisää toinen tietokantapalvelin (ja kolmas kone
jossa garbd)
Sovellukseen ei tarvitse tehdä muutoksia
(Galera-klusteri näyttää 99,99 %:sti normaalilta
InnoDB-taululta)
Minimaalinen lisälatenssi vaikuttaa vain
COMMIT-operaatioihin, eikä vältätmättä edes
näy, koska lisäpalvelin nopeuttaa kaikkea muuta
9. Migraatio lennossa Galeraan?
Lisää MySQL/MariaDB:een Galera-palvelin
slave-tilassa. Laajenna klusteriksi ja tee
Galerasta master.
MySQL
slave
MySQL
master
Galera
Node 1
Galera
Node 2
Galera
Node 3
1
2
10. Asentaminen
Galeracluster.com: MySQL-wsrep
MariaDB: MariaDB Galera Cluster (<10.1)
Percona: Percona XtraDB Cluster
Galera 3.6 (wsrep-API versio 25) on oma pakettinsa,
mutta tulee palvelinten mukana koska API-version
yhteensopivuus on tärkeää.
11. Asentaminen SUSE:een
SUSE ja OpenSUSE-paketteja ei ole vielä virallisesti
Galeracluster.com:ssa eikä Perconalla, ja
MariaDB.org:stakin löytyy vain MariaDB Galera Cluster
10.0 OpenSUSE 13:lle.
Omat (epävakaat!) pakettini:
https://build.opensuse.org/project/show/home:ottokek