Thursday, 9 July 2015

Percona Live Amsterdam 2015, why bother?

Another fall, another MySQL community conference. What's the point? Haven't we heard it all before? Same old RDBMS, same old problems, same old speakers, same old venue? What can we expect this year's European conference? Well for starters, the venue has been moved from London to Amsterdam so we have a new acronym; PLEU or PLAM or PLNL? You can decide and use it in your #tweets.

If you hid from all the announcements, Percona acquired Tokutek in April 2015. Tokutek are a company invested in both MySQL and MongoDB landscapes through their fractal tree based storage engines. What does this mean? Well this gave birth to a new scope to the traditionally MySQL-focussed event. Amongst the plethora of high profile company representations you'll see MongoDB, Elastic and Couchbase. So if you're seeking a heterogeneous data conference then you should be there. This widened focus brings with it new speakers (some old ones too), new topics, ideas and tools that will undoubtedly bring a fresh new feel to the 5th annual Percona Live 'Europe' conference.

Percona Live Europe, Data Performance Conference Amsterdam, September 21-23, 2015

The schedule was announced in past 24 hours and here are my hot picks are:

1.Using Docker for Fast and Easy Testing of MariaDB and MaxScale - Andrea Tosatto
A devops style talk that focusses on the use of Docker in the workflow for testing and with MariaDB and Maxscale in particular. Read/Write splitting is a frequently asked question and achieving it without too many applications always seems to be the requirement. And honestly, anything with Docker in the title would get my attention.

2. Performance Schema and Sys Schema in MySQL 5.7 - Mark Leith
Ignoring Performance Schema is not scalable. The upcoming release of 5.7 and Mark's sys schema are going to become a staple in any DBA's diet. I have been dipping into Performance Schema all too infrequently so it's time to listen up and make the effort to understand the instrumentation provided natively.

3. Big Transactions on Galera Cluster - Seppo Jaakola
Galera Cluster is not fiction and I'm seeing plenty of uptakers in this space. This means understanding what does and what doesn't fit in Galera's synchronous workload. I'm going to bet Seppo will guide us through the pitfalls of unwittingly using large transactions in production environments of Galera installations.

4. Redis Eye for the MySQL Guy - Baron Schwartz
Baron needs little introduction in the MySQL world, but what the hell does he know about Redis? His startup, Vivid Cortex recently announced that they reverse engineered the Redis protocol and have enabled monitoring for it in their product. Baron strives to put Redis into the space where memcached has been for so long, performing some of the grunt work where MySQL falls short.

5. Database Encryption on MariaDB 10.1 - Jan Lindström,Sergei Golubchik
If you deal with sensitive data in any way and have looked around for MySQL encryption solutions, you'll know they're few and generally include tradeoffs. I'm looking forward to hearing how MariaDB have approached the problem of encryption within MySQL. We work with several HIPAA and PCI clients that seek this very functionality.

6. WiredTiger architecture and tuning - Henrik Ingo
Percona Live welcomes back old favourite Henrik Ingo after 'losing' him to the NoSQL world. Henrik will tell us about MongoDB's new storage engine, Wired Tiger, and how to tune this. For anyone with MongoDB in production this is a must see.

7. PARTITIONing - How-To vs. Don't-Bother - Rick James
Super Freak, Rick James will present some of his infamous RoTs regarding partitioning. He's a source I regularly refer to when seeking best practices around various topics.

8. Managing and Visualizing your replication topologies with Orchestrator - Shlomi Noach
Committee chairman and all round nice guy, Shlomi will tell us about his Orchestrator project. I installed and toyed with an early version of this tool (full of awesomeness) and I still wonder how he has time to fit it all in. An effervescent speaker it's a pleasure to watch Shlomi even if the topic is galaxies beyond your interest.

9. Drupal just wants to hug your database - Emily Slocombe
Almost just because of the hug reference but Emily has been a colleague and is a fellow member of the DBAChat team. Emily's employer, Acquia (the home of Drupal), are seasoned players in the world of MySQL. Learning to tune MySQL to play well with the CMS will be invaluable to many attendees.

10. Advanced search for your legacy application - David Pilato
I will be sitting in this session to further my ElasticSearch understanding. As Oracle matures the FT search capabilities in InnoDB, Elastic compliment their solid product with security, sharding and peripheral features that make it such a desirable inclusion in your overall stack.

Other business will include any tricks that Percona have up their sleeve and of course, swag! We all love a free t-shirt to prove our commitment to tech.

Dinner - not forgetting an important factor of the conference; the community dinner. Delightfully arranged by Booking.com this year, do not fail to attend and dine with the hungry community.

Tuesday, 21 October 2014

On the Buses

To my fondest community, the time is near where we will meet again, share ideas and relax in each other's company at the MySQL Community Dinner in London. In my last post I directed you to an Eventbrite page to register for your seat at the dinner and today I want to make you aware that the Conference provider, Percona are going to facilitate some transport between the conference venue and the restaurant. So I want to thank Tom and Kortney for organising this for us. There will be room for 72 of us so it's your task not to be the 73rd person in the line.

INSERT INTO BUS (SELECT community_member FROM confirmed_attendees LIMIT 72);

Here are the details for the Community Dinner once again;

The When
Monday, November 3rd 2014 6.30pm

The How
Please aim to be at the venue in Covent Garden (map below) for 6pm.
The bus will pick up from the Millennium Gloucester hotel at 5.30pm and it has limited spaces so it will be first come, first serve. If you are unable reach the bus on time, a shared taxi should not cost much, or you can travel via tube by getting on at the Gloucester Road station on the Piccadilly Line to the Covent Garden station.


The Where 
Masala Zone, Covent Garden


Finally
I was one of the lucky few to be chosen to speak at the conference this year. Along with an esteemed MySQL DBA, Jeremy Glick, whom is coming to town all the way from Chicago. We are presenting the MySQL Auditing plugins on 4 November 4:30pm - 5:20pm in the Orchard 2 room. [read more...]

Percona Live London, November 3-4, 2014



Wednesday, 9 July 2014

MySQL Community Dinner 2014

Hello all,

I hope you're doing well. After the successful event last year it's a no brainer to arrange another community dinner when we're all together again in London this November. We had a fantastic turn-out for the meal last year, seating over 100 MySQLers in a venue whom were expecting only 60. So this year join the MySQL community again for a bite to eat and a beverage or two and discuss life, love and data.

The When
Monday, November 3rd 2014

The Where 
Masala Zone, Covent Garden

The Why
We have a vibrant community surrounding the MySQL ecosystem. Whether you want to talk about the meaning of life with Colin Charles or find out how Facebook take their logical backups even quiz Shlomi Noach about where thinks up his latest and greatest MySQL tools; why not do it with a curry and a beer?!

Other important need to knows
This is a `pay your own way` dinner. I'm sure you can appreciate that the MySQL Community is not a company or entity with an ample bank balance. However if I win the lottery between now and then I promise I'll pick up the tab for everyone ;) .

So please, please bring cash to simplify paying the cheque at the end of the evening. Last year, we found that it was optimal to pay per table.

The Menu
Whilst the chefs are fantastic at the Masala Zone, they cannot perform miracles. With over 100 MySQL community members eating and drinking it's not possible to offer an a la cart menu. I will post the set menu options and we will run a poll on which one to select. IMO the food is 2nd to the company but we can't have a hungry community.

Suggestions
If you have an opinion on something surrounding this, your community event, please let it be known in the comments.

Finally
Please register you attendance on the eventbrite page so we can handle the numbers. https://www.eventbrite.co.uk/e/mysql-community-dinner-14-tickets-12220960221

I am looking forward to seeing you all again.

Andrew

Tuesday, 12 November 2013

Percona Live in 30 seconds

I'm on the train home from London. Stalled at a signal waiting to move on. Here are some thoughts/facts/findings from my past 2.5 days.

- Walking from Waterloo to Kensington can be done. It's not a bad thing after a 3 hour train journey.
- Pubs in London also close at 10.30pm on a Sunday
- Don't trust the wifi near the guy with a pelicase on his shoulder
- Belgians are good peoples that love Indian food.
- Book 60 and 112 will come
- Double Decker buses go the long way around
- The MySQL community is alive
- It matters not what branch/fork you use, free beer/food/bus/OOS unites all
- MariaDB 10 soon. Stay tuned.
- "Peter in a Box" tipped as a hot favourite gift this Christmas.
- Using AWS? Spread yourself across AZ, Regions.
- System security is generally overlooked
- setenforce 1 (learn how to use selinux)
- Sysbench is not as understood as I understand. Lua.
- Henrik will not resist a MySQL conference invite :D
- Common_schema to become part of the server (one day, Shlomi!)
- Galera, PXC remains a hot topic with more and more production installs
- Fractal trees don't lose their leaves in the fall
- Unix load still misunderstood by many. See > 1, check what the CPU and IO is actually doing
- Backups are pretty important, RDBA sets the standard for backup ref. architecture. Mydumper wts.
- Oracle Engineers now available at PL events
- PerconaLive++
- The Crazy Italian guy is still crazy

Now there you have it, you missed a lot if you didn't make it this year!

Wednesday, 23 October 2013

MySQL Community Dinner

Dear Community,

it is my pleasure to announce that there will be a community dinner on the evening of Monday the 11th of November in London coinciding with the Percona Live Conference. In the same spirit as the community dinner in Santa Clara, the event will be `pay your own way` so it's important to bring some cash on the evening so that splitting the bill is as painless as possible.

The venue is Masala Zone in Earl's Court, which is a short walk from the Millenium Gloucester. For anyone that would like to walk over we will meet in the foyer of the hotel at ~7pm and walk over. 

Please make your way over to our eventbrite page to register your attendance so that we can give the guys at Masala Zone good notice of how many to expect.

The link above will take you to the Masala Zone site where you can see what's on the menu. 

http://www.eventbrite.co.uk/event/8935216473

Please let me know if you've got any questions in the comments.

Looking forward to seeing you there!

Monday, 14 October 2013

MySQL Replication Filters: replicate-ignore-table & ON DELETE CASCADE

It's no secret that you shouldn't rely on replication filtering. Recently a customer asked if an `ON DELETE CASCADE` would still affect the data on a slave if the table was being ignored through replication filtering. It was one of those occasions that I couldn't give a confident answer without a quick test but alas the gut was right and the obvious answer is yes, "ON DELETE|UPDATE CASCADE" will change data even if you replicate using replication filters.

I tested using RBR and SBR. If anything I was questioning the behaviour of RBR here but it turns out to be consistent with SBR. I had a master-slave setup already deployed for some other testing so it was easy to implement the FKs needed for this. The dataset is the trusty world db available from dev.mysql.com and I needed to change the constraints on the table to match the conditions proposed.

Master

mysql> ALTER TABLE City DROP FOREIGN KEY City_ibfk_1;
Query OK, 5000 rows affected (0.06 sec)
Records: 5000 Duplicates: 0 Warnings: 0

mysql> ALTER TABLE City ADD CONSTRAINT `city_ibfk_1` FOREIGN KEY (`CountryCode`) REFERENCES `Country` (`Code`)
ON DELETE CASCADE;
Query OK, 5000 rows affected (0.06 sec)
Records: 5000 Duplicates: 0 Warnings: 0

mysql> SELECT COUNT(*) FROM City WHERE CountryCode = 'UKR';
+----------+
| COUNT(*) |
+----------+
| 57 |
+----------+
1 row in set (0.00 sec)

Slave

mysql> SELECT COUNT(*) FROM City WHERE CountryCode = 'UKR';
+----------+
| COUNT(*) |
+----------+
| 57 |
+----------+
1 row in set (0.00 sec)

So our row counts match. I'll update the my.cnf file for the replication filtering.

Slave

cat /etc/my.cnf
...
replicate-ignore-table = "world.City"
...

Restart MySQL on the slave and check the status;
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.101
Master_User: repl
Master_Port: 3306
...
Replicate_Ignore_Table: world.City
...
1 row in set (0.00 sec)

Filter exists, lets test it. Update a row on the master and compare the values between the instances;

Master

mysql> UPDATE City SET population=90000 WHERE ID = 3482;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT * FROM City WHERE ID = 3482;
+------+------------+-------------+---------------+------------+
| id | Name | CountryCode | District | Population |
+------+------------+-------------+---------------+------------+
| 3482 | Mukatševe | UKR | Taka-Karpatia | 90000 |
+------+------------+-------------+---------------+------------+
1 row in set (0.00 sec)

Checking the slave we can see that it remains the old value;

Slave

mysql> SELECT * FROM City WHERE ID = 3482;
+------+------------+-------------+---------------+------------+
| ID | Name | CountryCode | District | Population |
+------+------------+-------------+---------------+------------+
| 3482 | Mukatševe | UKR | Taka-Karpatia | 89000 |
+------+------------+-------------+---------------+------------+
1 row in set (0.00 sec)

Now if we delete the parent record in the Country table we can see that the CASCADE affects the 'ignored' table on the Slave too.

Master

mysql> DELETE FROM Country WHERE Code = 'UKR';
Query OK, 1 row affected (0.00 sec)

mysql> SELECT COUNT(*) FROM City WHERE CountryCode = 'UKR';
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)

Slave

mysql> SELECT COUNT(*) FROM City WHERE CountryCode = 'UKR';
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)

If you're running with FK Constraints with ON DELETE|UPDATE CASCADE and replication filtering on your slaves you might not have the data you think you have.

Tuesday, 8 October 2013

Bristol MySQL Meetup

The next Bristol (and surrounding areas) MySQL meetup will take place on Thursday 10th of October in Bristol (currently) scheduled for 7.00pm at the Watershed. I say currently because it might be moved if we can find a quieter place. I personally found the Watershed pretty noisy. The topic of the night will be tools. We'll have a 50,000ft overview of some of the tools and then make some time for some demos. According to the RSVP list there's a nice mix of Dev and Ops so there should be a mixture of experience and hopefully some inspirational use cases for tools being used in the wild. Right this moment the agenda of tools will be some from the following;
  • pt-toolkit
  • openark-toolkit
  • Oracle's MySQL Utilities
  • Xtrabackup
  • Mydumper
  • Common_schema
  • AOT
To give you guys and girls further incentive to attend the meetup, we have some swag to unload. There will be some Pythian and Percona t-shirts, some Oracle/MySQL usb drives & stickers and a ticket to Percona Live London to unburden myself of. I'd like to pass out some swag for participation over chance so make sure to bring a tasty question or story about how you use DBA/Dev tools. The Percona Live UK ticket is a very kind donation from Percona, so a HUGE `thank you` goes to Kortney and Tom for arranging that for us. The caveat to bagging swag/ticket: it's limited to attendees only and there will be a photo of the proud owners posted on the meetup page (with you permission of course). We will also have a discount code made available for anyone looking to attend PLUK. Follow the latest news for Percona Live London using the #perconalive hashtag or via Percona.com. Please post any questions or suggestions for Thursday night topic/venue.