Well my rule is basically - if search functionality is the most essential to your platform and the only other functionality you need otherwise is basic key-value stuff (look up items by user id, stuff like that) then yes, and handle performance issues with your preferred caching solution - redis in my case.
If you need something where money needs to be maintained then you need the security of relational database.
If search is only of secondary importance, use whatever database your prefer to work with and then index that.
But I also have the opinion that as time goes on search becomes a primary functionality of any platform.
Good question! For some toy weather data, Elasticsearch as the only data store made sense. If I were to add more sensors and features and make this a long term project, I'd likely try to wire up some automated backups. If it were some kind of production app that a second human relied on, then I would think hard about the data, the failure scenarios, budget, etc.
yeah, I agree if your requirements is data consistency then not Elasticsearch, however I think from the Jepsen tests I don't think there has been any NoSQL db that performs really good on that? ( I seem to remember there was one that did bad on the first test but improved a lot with the second - SOLR, CouchDB?)
Thanks! I knew someone would have either a better memory than me or the willingness to actually go to http://jepsen.io/analyses.html and figure out which one it was! And now that I went I see both the ones I thought it might be haven't even ever been done!