4 ms·
What’s the Best NoSQL Database? Cassandra vs. MongoDB vs. Redis vs. ElasticSearch
- jdenning 9y agoNice! The title made me assume that this was an article from someone who didn't understand the different use-cases for these technologies - to the contrary, it's a handy flow-chart for understanding which NoSQL databases are suited to various types of data.
- ubercow 9y agoDoes https://druid.io https://druid.io not count as "Distributed TimeSeries database" for some reason?
- projectramo 9y agoI really want to laugh along with the other cool kids at the classification of Mongo as "Not a DB" but I have no idea what he means by that.
- idunno246 9y agoWhen mongo came out the picked some bad defaults so it never waited for an ack for writes. So data was lost, but benchmarks looked amazing. It had a lot of other problems, it became too big too fast by promising magic it didn't deliver. Not sure how it is right now. besides that flame attempt, his definition of columnar databases doesn't match the standard - Dynamodb is pretty much the complete opposite of columnar.
- projectramo 9y agoThanks for the explanation. I am a fan of joking flame wars as long as it is understood to be in good fun.
- thoughtexprmnt 9y agoSeems incomplete without any mention of Microsoft Azure options like Cosmos DB, Blob and Table storage, Data Lake, etc.
- Jare 9y agoAlso CouchDB for integrated API serving via views (?) and extreme replication abilities. Surprised to see Riak labeled as a "caching" DB, but well.. I'm not sure they are an option for anything anymore.
- throwaway2016a 9y agoIt is nowhere near complete. It also doesn't mention DynamoDB from AWS as a key/value store despite being very common in the serverless world.
- throwaway2016a 9y agoI think it's great when people take time to make visual explanations of things and share them. This has potential. But as it is, it is nothing more than a mind map with some flowchart symbols thrown in and is missing a lot of popular databases. Druid (timeseries) and DynamoDB (key/value) notably. It is also only nested one level deep. Any of the sections with more than one child can be broken up into other decisions to narrow down the choice.
- kafkaesq 9y agoComparisons of similar-ish, but basically rather different systems are always potentially interesting. But really now, the phrase "best NoSQL database" is almost meaningless, isn't it?
- chx 9y agoColumnar data stores are not like CSV, at all. Check http://database.guide/what-is-a-column-store-database/ http://database.guide/what-is-a-column-store-database/ for example "Each row can contain a different number of columns to the other rows. And the columns don’t have to match the columns in the other rows (i.e. they can have different column names, data types, etc)" This nonsense of columnar stores being a fixed schema is repeated in the next step. Graph databases misses AgensGraph which is arguably one of the most exciting database developments nowadays. Seriously, all you have to say about Aerospike is "cool name"? And MongoDB "not a database" is a very tired joke.
- manigandham 9y agoAgreed that columnar description is completely false in this chart but what is so special about AgensGraph? JanusGraph is another graph database engine that uses more pluggable storage and indexing backends. There's also DGraph which is a new focused distributed graph database designed to be faster and more scalable.
- chx 9y agoAgensGraph is PostgreSQL based , that's what make it exciting.
- manigandham 9y agoColumnar database does not mean data in columns - it's just a badly used name to describe what are effectively advanced key/value databases, usually because they supported ordering, nested levels of values and collections.
- user5994461 9y agoAuthor here. This covers the main types of databases and use cases. I believe that developers should known them all to be able to pick the right tool for the job. Sometimes, a job really has a right tool. This doesn't cover every product in the universe. These databases are the most important databases that you should absolutely known (and use when necessary). Many enterprise paid products are missing: Teradata, Exadata, Vertica, OpenDJ, Greenplum... not that many people have $50k/node to spend on them. This also ignores a million of lesser known databases, most of which are not noteworthy. Apologies in advance for not mentioning your favorite or homegrown products.
- manigandham 9y agoColumnar != CSV/columns/spreadsheet/tabular data. Columnar as in column-family or wide-column is just advanced key/value.
- user5994461 9y agoColumnar is a CSV/spreadsheet where columns are designated by name instead of relative position. Let's call that a column header. People have been using CSV/spreadsheets with headers for half a century.
- gcristofol 9y agoYes