4 ms·
> This doesn't mean anything. And neither does your practically trolling comment. You could say that about anything. > The only thing that matters is what (an
by agentgt 10y ago
> This doesn't mean anything.
And neither does your practically trolling comment. You could say that about anything.
> The only thing that matters is what (and how much) data you have and what queries you want to run. If a relational database can do that for you then cassandra/scylla isn't a good choice.
Theory aside what matters is what I can get to work... so prior knowledge is a big deal.
All I said is it would be interesting if Postgres had a better story for elasticity and that it might be a good fit for many. I think many are in my camp and a relational db would fit but are all to often pushed towards to NoSQL.
Again I don't want to hear about CAP this and that. You can totally take either system and make it have many of the properties that our touted for each one. People take relational databases and turn them into schemaless or columnar stores all the time with eventually consistency (often with mysql). Particularly with Postgres as it is a platform (it has a powerful extension model).
Regardless Cassandra is touted for analytics. The marketing really pushes it for that. Eventually consistency and columnar store is a good fit for real time analytics. Lots of data points, lots of aggregation, get to play with various queries in realtime, elasticity... etc.
We will probably hit a wall with Postgres.
All and all I think Cassandra is pretty good for what it does. Other than Redis, and maybe RethinkDB I think its my third NoSQL favorite (and yes I know each of those guys has a sweet spot for what they are good at requirement wise).
- manigandham 10y agoIt's not trolling - it's the fact that "realtime analytics" are just buzzwords and don't really mean anything. Analytics is just another word for queries and realtime is different for everyone. You can use anything from some in-memory code to redis to postgres or other exotic databases for this and I've yet to come across a situation where those words have helped provide much clarity. Cassandra is wide-column (which is just another buzzword for key/value), not columnar (as in storing data in a column-oriented format) so it's actually not great with aggregations and barely supports queries like that. It is good for range scans across data in a single partition and for spreading load around the cluster if your data is also spread evenly into these partitions, but ultimately my point was that in a thread about cassandra/scylla, it doesnt make much sense to bring up a relational db because it's completely different in every way. If it does work better for you, that's great - and it means is that cassandra/scylla was never a good fit to begin with. The multi-master global replication is a key feature that will likely never be reached by postgres (which is just starting to get scale-up and some logical replication features now) and even mysql only just released the group-replication for multi-master which still only supports the concept of a single total cluster.
- agentgt 10y agoPerhaps if you had elaborated like you have now I would not have thought it was trolling :) There is a general consensus what realtime analytics is ( memsql.com apparently tries to define it). It certainly is less nebulous than "big data". Our biggest problem was continuous aggregates. Continuous aggregates are tough for databases (particularly for Postgres since it is MVCC). So it isn't the relational model that is the problem but the algorithms needed for consistency that conflict with constant read and write speed. I did goof by saying Cassandra was column oriented (that is a loaded and confusing term) but people do use it all the time for aggregates (see Druid). Druid by the way is apparently column oriented (going back to my point how you can most data stores into something else). Saying Cassandra is completely different than Postgres isn't really saying something terribly useful. I bring up Postgres not because it is a relational database but because it has some nice features and extensions that seem to be cost effective (compared to just loading everything in memory ala redis which is not cheap). Cassandra certainly does try to offer familiar things to old school SQL guys like myself (namely CQL and various options for consistency)... again it isn't completely different. > If it does work better for you, that's great - and it means is that cassandra/scylla was never a good fit to begin with. You are also assuming some stuff like that we didn't have to compromise. We will still need something like Cassandra as we do want to collect more data points and we do need a place to effectively warehouse this stuff across regions. Also plain Postgres is not a good choice for continuous aggregates as I mentioned before (again I'm going to ignore theory of the relational model... the relational model fits for us because we make it fit... not the other way around). It was one of the reasons why we investigated other technologies. > The multi-master global replication is a key feature that will likely never be reached by postgres I'm sensing some bias here... never... maybe never for postgres core but certainly someone could build an extension or add on.