4 ms·
This is kind of a ridiculous statement given the massive popularity of NoSQL DBs like Cassandra, Redis, and Lucene. Not to mention what you described seems lik
by rmrfrmrf 9y ago
This is kind of a ridiculous statement given the massive popularity of NoSQL DBs like Cassandra, Redis, and Lucene.
Not to mention what you described seems like a perfectly reasonable architectural evolution. Are we all really expecting to make a single decision on a DB for the entirety of an app's life? It makes a lot of sense to use a flexible db schema while the data takes shape in an app's infancy, then solidify things with a more structured database schema further down the line. If you're abstracting things away in ORMs anyway, it might not even be that painful if you're just switching out DB drivers.
- jimktrains2 9y agoMost people don't use Redis and Lucene as general-purpose data stores; they're normally used for specific purposes.
- thehardsphere 9y agoI would go so far to say that nobody should ever use Lucene as a data store. It's very easy for it to get corrupted because it was explictly designed to support fast full-text searches at the expense of persistence (because your data is supposed to be persisted elsewhere).
- camus2 9y agoNobody uses Redis like a database and expects persistence of data. Redis is usually used in the context of a message queue. Lucene isn't a database, it's a full text search engine. Cassandra has a query language which is very close to SQL, so it's not really NoSQL.
- jimktrains2 9y ago> Redis is usually used in the context of a message queue. Or caches, or simple data stores for things like counts.
- manigandham 9y ago> Nobody uses Redis like a database and expects persistence of data. Plenty of people do, it's got just as good persistence and backups as anything else. It's very versatile and used for lots of situations, with message queues just being one option (although not a great fit until it gets a stream data type).
- richardknop 9y agoRedis is either used as pub sub / message queue but also often it is used for caching similar to memcached.
- thehardsphere 9y agoCaching does not have the same expectations for persistance that a database has. If data in Redis gets blown away, I don't really care. If data in my RDBMS or NoSQLDB gets blown away, it's a huge problem.
- richardknop 9y agoYes, I agree. Most people I know would use RDBMS such as Postgres to store bulk of business data (customer accounts, transactions, receipts etc) and then use complementary systems for other purposes (so could be Memcache/Redis for caching, ElasticSearch for logs etc). It's not a false dichotomy of using either Postgres or Redis, you can use them alongside each other, they have different uses.
- joshlemer 9y ago>Nobody uses Redis like a database and expects persistence of data. You'd be surprised. I know of at least one (extremely) large company that does / has done this.
- andy_ppp 9y agoCanssandra is much more difficult than an SQL database to build functionality in, but can scale linearly with the number of nodes added. I quite enjoyed it’s deliberately imposed limitations to help you write a scalable data layer.