Closed ddorian closed 6 years ago
Hi @ddorian,
Yes, completely makes sense - thanks for the insightful question! And yes this is exactly the direction we are heading towards. I have added what we are up to in the context of each of these language APIs:
This is going to be available the soonest. We have already done a number of enhancements in this direction, and are planning on adding many more:
INT
data type to be able to perform increments and decrements (CQL does not allow this)We already support a huge array of features such as batch inserts, IN clauses in queries, prepare-bind, user defined types, TTL, Spark adapters, reads from followers and nearby datacenters, etc. Additionally, yugabyte cassandra
driver is locality aware, can recognize node additions and removals.
We feel this is the fastest path to production, because the ecosystem and language enhancements are already built around scale-out and clustering.
For postgres to understand scale-out, we need two layers of enhancements:
Note that we are currently working on Postgres support. It should be out in a few weeks, and is going to start with supporting basic commands. We will then extend the query set to make it functional.
We already support one-hop location of the data using our version of the Redis client. We are planning to add reads from followers and the nearest datacenter (we call this "tunable reads"). Note that while we have not started working on tunable reads for Redis, this is very much in our roadmap for the near future.
Since our Cassandra client/ecosystem is pretty mature, would you consider using that as a path for some of the more advanced queries? Would love to hear if you had some queries/usecase in mind which could get you started - we always love to prioritize those higher.
thanks, cql
is best supported
Seems like you guys will support
redis
+cassandra
+postgresql
. While this is nice, do you have in mind a library to handle all features of the db ?(not talking about a separate one).Simplest case: While
pg-client
can support ~all features (since you throw everything in a query), it can't (automatically) remove the 1-hop thatcql-client
does by keeping a hash-token-map on the client and thus talking to the primary/secondary directly.Makes sense ?