Supercharging MySQL and MariaDB with Plug-ins (SCaLE 12x)
-
Upload
antony-t-curtis -
Category
Technology
-
view
113 -
download
2
description
Transcript of Supercharging MySQL and MariaDB with Plug-ins (SCaLE 12x)
Supercharging MySQLand MariaDB with Plug-ins
Antony T Curtis <[email protected]>
AuditAuthenticationDaemonFull-text ParserInformation SchemaReplicationStorage Engines.
Plug-ins types for MySQL / MariaDB
Plug-ins allow the server to be extendedin a controlled manner.
(third-party plugin types do exist too)
Plug-ins for Storage
InnoDB Storage EngineEveryone should be using it by default.Default in recent releases of MariaDB and MySQL
TokuDB Storage EngineSupports sustained inserts better.Available in MariaDB.
OQGraph EngineSearch shortest path on modest graphs.More than 100k nodes/second search possible.
Plug-ins for Storage
Sphinx EngineConnects to distributed full-text search engine.
Connect Engine (MariaDB)FederatedX Engine (MySQL)
Replication Plugins:
Semi-Sync Replication(multiple implementations: Google/Facebook/Oracle)
Alternative replication sync options...
Heartbeat/observer
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.
Daemon Plugins:
“Black Box” to plug in extra functionality intothe 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 loadingdata.
OQGraph EngineExtend OQGraph for some custom traversal.
Audit Plugins:
May be used to send logs to another machine.May be used to monitor specific users.Poor man’s replication.Triggers.
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 stored procedures in MySQLbut ...
Daemon Plugins:
Suggested ideas:Server health watch-dog.Run a Python program.Run a node.js instance.
mysqld
daemon
client
Daemon Plugins:
Daemon Plugin for Python Idea:gevented with pure-Python MySQL client.XML-RPC Server.Can perform multi-statement transactions.
Daemon Plugins:
Do:Lightweight processing.Data validation.Serve other protocols.
Do Not:Create many threads.“number crunching”.
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!
Daemon Plugins:
Limited by imagination!
Questions?
G+ page: http://goo.gl/7kev1C