This is a really interesting discussion, since the model we are describing resembles closely to HandlerSocket Plugin (since it is build upon Handler API instead of Storage Engine) it led me to research some more about Benchmarking test involving Memcached + InnoDB vs HandlerSocket.

With MySql version 5.6 Benchmarking test had given to significant advantage to HandlerSocket (processing 750,000 Qps) over Memcached InnoDB plugin (420,000 QPS). here:
https://github.com/entering/miscellaneous/blob/master/benchmarks/handler-socket.md

But, with in the recent test made my MySql team on MySql version 5.7, there was  significant improvement with Memcached - InnoDB plugin now able to process (1,000,000 Query/sec (QPS)) , so in my view point it will be better to work with direct  Storage Engine access instead of building it on top of Handler API.

Link to the recent benchmarking test with version 5.7: http://dimitrik.free.fr/blog/archives/2013/11/mysql-performance-over-1m-qps-with-innodb-memcached-plugin-in-mysql-57.html

Also as an excellent point raised by Piotr making Memcache Plugin will duplicate of HandlerSocket plugin, but speaking different wire protocol , which definitely won't give us much advantage .

For more feature by Mysql 5.7 InnoDB Memcached plugin : http://dev.mysql.com/doc/refman/5.7/en/innodb-memcached-intro.html

Will be happy to hear any counter questions/points about it.

--Aalekh


On Wed, Mar 25, 2015 at 6:09 AM, Jonas Oreland <jonaso@google.com> wrote:
On Tue, Mar 24, 2015 at 3:52 PM, Colin Charles <colin@mariadb.org> wrote:

On 24 Mar 2015, at 22:06, Jonas Oreland <jonaso@google.com> wrote:

> Would it make sense to build a memcache plugin on top of the handler interface rather directly into innodb ?
> That way it "just work" for any storage engine.
>

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

i think that performance reduction would be minimal *iff* providing equally good implementations.
however, it's easier to make it on top of a API that you know better...i think that is why innodb made it on top of innodb.


Also, if the idea is to make it more secure, and differ from MySQL's implementation (i.e. make it better), if we can get similar performance from the HANDLER interface, why not?
(I was under the impression we just wanted to port it, to have feature compatibility; but can't argue with better)

i have no opinion about "why", just made a suggestion on "how".

/Jonas

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp