Mixer – A MySQL Proxy powered by Go
github.com
github.com
Which is also written in Go.
Perhaps this is a direct competitor to Vitess, but I agree the description is in dire need of some specifics.
Edit: adding link https://github.com/youtube/vitess
I don't think mixer can be the direct competitor to Vitess.I develop it just for fun and only want to solve some simple MySQL sharding problems.
Btw, Vitess is awesome and I use some codes from it.
I would very much like to know what the differences are (apart from the choice of programming language) and how stable this is.
You can define some rules to route sql to different MySQL servers, maybe it is the main difference.
Mixer can not be used in production now, I have been improving it and try to use it in my company first.
Btw, writing english document is very hard for many Chinese programmers, the same to me:)
Is this some kind of connection pool / load balancer?
If I'm reading that correctly... the description could use clarification on the benefits. I'd use HAProxy I only wanted to proxy/balance read queries.
Sharding can be achieved quite easily on the application level, or by using one of the few available proxies. On the other hand, re-balancing is not easily done yet.
I don't think handing sharding on the application level is easy, programmers may care too much about MySQL sharding and can not write sql easily, at least in my company.
I have only used Atlas (https://github.com/Qihoo360/Atlas) and cobar (https://github.com/alibaba/cobar), but they are not suitable for my company, so I want to develop a simple one using Go.
Auto resharding is very awesome but I don't have the power to do that now. Any help is very welcome.
Fabric also provides sharding + failover, but does so by using modified MySQL connectors rather than a proxy.
Maybe MySQL Fabric is a silver bullet, but I always think that sometimes proxy is enough.
I am very glad that if anyone can help me. Many things to do but I have not enough time.
"Join not supported Subselects not supported 'group by' not supported"
At that point you might as well be using MongoDB or what have you.
I am the only guy to develop Mixer just for fun with little time, and have to improve it step by step. Any help is welcome.
Btw, I have not used MongoDB, I will try to see it later.