← Back to team overview

maria-discuss team mailing list archive

Re: NoSQL at mysql client


hi sergei, i was thinking about use only one tcp/ip connection (the mysql
client connection to server), and not many connections...
but to do this job using the mysql protocol, we should add a new command,
instead of send a "COM_QUERY" command to server, send a "COM_EXTERNAL" (or
may be "COM_PLUGIN") command + "any other nosql command", to prevent
incompatibility with others mysql servers, to avoid add more plugin tcp/ip
sockets... for example handler socket add more 2 tcp/ports... it's a
relative problem since i have some firewall rules specific to mysql, and i
need to add the same rules to handler socket (ok it's not a problem, but
add more work to dba/network admins)

here: http://dev.mysql.com/doc/internals/en/command-phase.html i don't see
a "for external use" or "plugin specific" command, maybe we could add it

what i want is... one single daemon, on one single port (The mysql/mariadb
daemon) with user/password, auth plugins, security/ssl and everything that
mysql/mariadb already, and add the possibility of send others "no mysql"
commands to plugins via this daemon

yes, we will add a security problem... a bad user could create a plugin to
add a http proxy, or anything else he want... but there's good and bad guys
in the world. just evict the bad ones and dba will work fine, the already
evict them selecting what plugin should/shouldn't be used

well i don't know if you understand my idea
this add a very nice piece of cake to plugin developers... they can use the
mysql network api, instead of learning how to use unix sockets, tcp socket,
windows shraed memory, and many protocols that mysql have, they will only
learn how to use mysql protocol api =D !!! that's very very good!
we will not need a second socket_select, or a second libevent to know if a
tcp/ip port have new data, we will use only the mysql thread pool, or mysql
lib event or whatever mysql/mariadb use to handle network packets...