With the advent of materialized views - is there a best-practices guideline to follow?
I have read; http://www.datastax.com/dev/blog/new-in-cassandra-3-0-materialized-views
And it seems like an awesome feature. Especially if you're still hard-wired with RDBMS thinking...
But it doesn't actually state definitively, for example; "You should favor materialized views over separate purpose-built tables." or "You should only use materialized views for XX use-cases"
So I am left unclear as to whether or not I should be creating query specific tables (like I have previously done in Cassandra) or swap to using materialized views. Or more specifically - what use-cases suit each method best.
After watching the Sessions from Cassandra Summit 2016, all the advice I heard from presenters - including Patrick Mcfadden of DataStax, stated that Materialised Views WAS a good default choice.
That you only needed to create individual tables if you had to have discreet control over the timing of when data appeared.
Under the covers; Cassandra actually created real tables for the materialised views - there just wasn't a guarantee as to when changes in the data from the "source" got to the views.
If you were OK with a (possibly) a couple of seconds of gap - between new data being available in the view - that it made it tasks significantly easier.