Stories
Slash Boxes
Comments

SoylentNews is people

Meta
posted by NCommander on Friday January 20 2017, @04:43PM   Printer-friendly
from the hot-upgrading-database-servers-ftw dept.

Earlier today, we ran an article detailing that Oracle released 270 critical security updates for many of its products, including MySQL cluster which we use here to provide high uptime and reliability for SoylentNews. Needless to say, it was time to upgrade both NDB backends, and the four MySQLd frontends. While the upgrade did not go completely smoothly due to the fact that MySQL strict mode got enabled, and broke the site briefly, our total downtime was less than five minutes or so. Right now, we had to do a full flush and purge of all caches, which means the site is running a bit larky until they can repopulate but I'm pleased to announce we're up to date and secure!

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=2	@redacted (mysql-5.7.17 ndb-7.5.5, Nodegroup: 0)
id=3	@redacted (mysql-5.7.17 ndb-7.5.5, Nodegroup: 0, *)

[ndb_mgmd(MGM)]	2 node(s)
id=101	@redacted (mysql-5.7.17 ndb-7.5.5)
id=102	@redacted (mysql-5.7.17 ndb-7.5.5)

[mysqld(API)]	4 node(s)
id=11	@redacted (mysql-5.7.17 ndb-7.5.5)
id=12	@redacted (mysql-5.7.17 ndb-7.5.5)
id=13	@redacted (mysql-5.7.17 ndb-7.5.5)
id=14	@redacted (mysql-5.7.17 ndb-7.5.5)

If you notice any unusual breakages or slowdowns, please let me know in the comments. Otherwise, keep calm and carry on!

~ NCommander

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by NCommander on Friday January 20 2017, @10:37PM

    by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Friday January 20 2017, @10:37PM (#456744) Homepage Journal

    While I know that Maria is essentially compatible with MySQL (since it's a fork), if we're going to make serious efforts to change database engines, it will be to PostgreSQL with a cluster solution.

    One major advantage over cluster vs mariadb is that the entire thing sits in memory, and actually let us drastically simplify parts of the site architecture because we were available to rip out an entire layer of caching. Also, despite being fiddly as fuck to setup, it's been incredibly rock solid; we've had unexpected server downtime, and never once had the cluster fail to self-recover, and keep on trucking. The site hiccups we got during the DB upgrade mostly came from the fact that mysqld requires a fair bit of mindfuckery to run against NDB, and the upgrade broke some of the startup scripts.

    With some optimization and re-arrangement of the schema, we are in cases that we only ever span one table, or NDB's push-down JOINs can do their job. Since the vast majority of database activity is SELECT, we get absurdly good performance out of it on the whole. Galera isn't as battle tested as cluster.

    --
    Still always moving
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2