← Back to team overview

maria-developers team mailing list archive

Re: [GSoC] MDEV-4674 Port InnoDB memcached interface to MariaDB


On 2015-03-24 15:52, Colin Charles wrote:

Would that not reduce the performance that the InnoDB memcached plugin now offers?

It is an interesting question. For some reason original plugin authors decided to build it directly on InnoDB API, rather than on Handler API.

I think it's all a matter of trade-offs.

Having direct interfaces using engine-specific APIs (like MySQL plugin does it now):

+ (probably) higher performance can be achieved
+ will explore different approach then MariaDB HandlerSocket plugin
- requires creating interface for every engine

Having universal Handler API interface:

+ requires a lot less work to introduce support for a new engine
- (probably) lower performance can be achieved
- makes Memcached plugin in fact duplicate of HandlerSocket plugin, but speaking different wire protocol

It is possible to combine the best of both worlds:

1. Leave InnoDB memcached plugin interface, as it is already done. (And eventually port it to XtraDB, as it would be relatively straightforward.)

2. Create Handler API memcached plugin interface.

As a result, InnoDB tables will be accessible using InnoDB API or Handler API (configurable in containers table?)

Other engines tables will be accessible only using Handler API.

This will allow performance comparisons between these two approaches in case of InnoDB tables. After some time it would eventually clarify which approach is better.