--
You received this message because you are subscribed to the Google Groups "vitess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vitess+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Cool. Thanks. I went through the getting started guide. I have a few questions (I may have just missed them as I went over things).
- For the metadata store, can that be Consul, or are we restricted to ZK/Etcd?
- In general, would you think that starting off with only new tables and services and then working to get our bigger databases moved in over time is appropriate?
- Do developers/DBAs still access the mysql client? In dev, it is pretty common for folks to explore the db(s) with something like Sequel Pro; is that still available, or is there a different prescribed workflow?
- For connection pooling, are we able to specify timeouts to make sure unused resources are released?
- For rowcache (I am under the impression that this is memoization), how does one control cache invalidation? Assuming it is a timeout, what granularity of control is there?
- I see that transaction support exists within a shard; how does vitess make sure that multiple related transaction queries are routed to the same host? My thinking being you may have writes and some reads in a single transaction that could go to the master or one of many read-only instances, and I would think you would have to guarantee they all go to the same mysql instance.
- Is there support for a multi-master approach (or other solution) for when you have writes to the same db/table from different data centers where you would want a write master available with low latency and then replicate across to the other datacenter(s) for later reading?
- How often do you see read and write errors? Is there built in support for retries?
- For metrics, we are hoping to collect query execution time, success counts, error counts, total data bytes/sec, number of active connections, number of idle connections, and I'm sure others that I'm forgetting. Do we have a way to collect this info?
- For traceability, I believe I saw that there is a query killer; are we able to determine in what app/service the query originated? Same for any expensive queries.
- And on the practical side, I'm curious what this task would look like (something we are doing this week): we have a table that is just too large. We are migrating it to a new schema that will have less fields and prevent duplicate keys and the table will be sharded based on two columns. What would this task look like in Vitess? In our current infrastructure, this would take on the form of: put out the new schema, begin reading from both, begin to only write to the new one, and run a series of background scripts in parallel to migrate old data to the new table (draining it as we go along).
Currently, writes for a given shard have to go to the one, global master. It is possible to have each shard's master in a different datacenter, though. If your data set is amenable, you could define a custom sharding scheme that's keyed by some location field. Sugu also had some ideas a while ago for globally low latency eventually consistent writes, but we haven't had any need for it yet.
--
--
You received this message because you are subscribed to a topic in the Google Groups "vitess" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/vitess/PtI8z8k7CPc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to vitess+un...@googlegroups.com.