Supercharging MySQL
and MariaDB with Plug-ins

Antony T Curtis <atcutis@gmail.com>
Plug-ins types for MySQL / MariaDB

Audit
Authentication
Daemon
Full-text Parser
Information Schema
Replication
Storage En...
Plug-ins allow the server to be extended
in a controlled manner.
(third-party plugin types do exist too)
Plug-ins for Storage
InnoDB Storage Engine
Everyone should be using it by default.
Default in recent releases of MariaDB a...
Plug-ins for Storage
OQGraph Engine
Search shortest path on modest graphs.
More than 100k nodes/second search possible.
Sp...
Replication Plugins:

Semi-Sync Replication
(multiple implementations: Google/Facebook/Oracle)
Alternative replication syn...
Information Schema Plugins:

Easier to write than Storage Engine plugins.
Can be used to bring in static data.
Can be used...
Daemon Plugins:
“Black Box” to plug in extra functionality into
the database server.
Audit Plugins:

Designed to be installed/uninstalled at run time.
Simple to write.
Syslog, log to table.
How to supercharge MySQL/MariaDB?
How to supercharge MySQL/MariaDB?

When everything else has been optimized,
how to get the last extra bit of performance.....
Plug-ins for Storage
Implementing a storage engine for bulk loading
data.
OQGraph Engine
Extend OQGraph for some custom tr...
Audit Plugins:
May be used to send logs to another machine.
May be used to monitor specific users.
Poor man’s replication.
...
How to supercharge MySQL/MariaDB?

Reducing the number of round-trips.
How to supercharge MySQL/MariaDB?

Reducing the number of round-trips.
Stored Procedures are tricky to debug.
How to supercharge MySQL/MariaDB?
Reducing the number of round-trips.
Stored Procedures are tricky to debug.
No external s...
Daemon Plugins:

Suggested ideas:
Server health watch-dog.
Run a Python program.
Run a node.js instance.

client

daemon
m...
Daemon Plugins:

Daemon Plugin for Python Idea:
gevented with pure-Python MySQL client.
XML-RPC Server.
Can perform multi-...
Daemon Plugins:
Do:
Lightweight processing.
Data validation.
Serve other protocols.
Do Not:
Create many threads.
“number c...
Daemon Plugins:
Do:
Lightweight processing.
Data validation.
Serve other protocols.
Do Not:
Create many threads.
“number c...
Daemon Plugins:

Limited by imagination!
Questions?

G+ page: http://goo.gl/7kev1C
Upcoming SlideShare
Loading in...5
×

Supercharging MySQL and MariaDB with Plug-ins (SCaLE 12x)

377

Published on

Slides for the presentation at SCaLE 12x Conference (21 Feb 2014)
A quick introduction to popular plug-ins for MySQL/MariaDB and ideas for how to use plug-ins to supercharge MySQL/MariaDB.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
377
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Supercharging MySQL and MariaDB with Plug-ins (SCaLE 12x)

  1. 1. Supercharging MySQL and MariaDB with Plug-ins Antony T Curtis <atcutis@gmail.com>
  2. 2. Plug-ins types for MySQL / MariaDB Audit Authentication Daemon Full-text Parser Information Schema Replication Storage Engines.
  3. 3. Plug-ins allow the server to be extended in a controlled manner. (third-party plugin types do exist too)
  4. 4. Plug-ins for Storage InnoDB Storage Engine Everyone should be using it by default. Default in recent releases of MariaDB and MySQL TokuDB Storage Engine Supports sustained inserts better. Available in MariaDB.
  5. 5. Plug-ins for Storage OQGraph Engine Search shortest path on modest graphs. More than 100k nodes/second search possible. Sphinx Engine Connects to distributed full-text search engine. Connect Engine (MariaDB) FederatedX Engine (MySQL)
  6. 6. Replication Plugins: Semi-Sync Replication (multiple implementations: Google/Facebook/Oracle) Alternative replication sync options... Heartbeat/observer
  7. 7. Information Schema Plugins: Easier to write than Storage Engine plugins. Can be used to bring in static data. Can be used to bring in simple dynamic data.
  8. 8. Daemon Plugins: “Black Box” to plug in extra functionality into the database server.
  9. 9. Audit Plugins: Designed to be installed/uninstalled at run time. Simple to write. Syslog, log to table.
  10. 10. How to supercharge MySQL/MariaDB?
  11. 11. How to supercharge MySQL/MariaDB? When everything else has been optimized, how to get the last extra bit of performance...
  12. 12. Plug-ins for Storage Implementing a storage engine for bulk loading data. OQGraph Engine Extend OQGraph for some custom traversal.
  13. 13. Audit Plugins: May be used to send logs to another machine. May be used to monitor specific users. Poor man’s replication. Triggers.
  14. 14. How to supercharge MySQL/MariaDB? Reducing the number of round-trips.
  15. 15. How to supercharge MySQL/MariaDB? Reducing the number of round-trips. Stored Procedures are tricky to debug.
  16. 16. How to supercharge MySQL/MariaDB? Reducing the number of round-trips. Stored Procedures are tricky to debug. No external stored procedures in MySQL but ...
  17. 17. Daemon Plugins: Suggested ideas: Server health watch-dog. Run a Python program. Run a node.js instance. client daemon mysqld
  18. 18. Daemon Plugins: Daemon Plugin for Python Idea: gevented with pure-Python MySQL client. XML-RPC Server. Can perform multi-statement transactions.
  19. 19. Daemon Plugins: Do: Lightweight processing. Data validation. Serve other protocols. Do Not: Create many threads. “number crunching”.
  20. 20. Daemon Plugins: Do: Lightweight processing. Data validation. Serve other protocols. Do Not: Create many threads. “number crunching”. Database storage engines, such as InnoDB *assume* that they are the only service on a machine!
  21. 21. Daemon Plugins: Limited by imagination!
  22. 22. Questions? G+ page: http://goo.gl/7kev1C
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×