6 ms·
The term NoSQL is meaningless. It only means that a database is not SQL (d'oh) but people (such as the author of the article) use it as if it meant anything bey
by pier25 5y ago
The term NoSQL is meaningless. It only means that a database is not SQL (d'oh) but people (such as the author of the article) use it as if it meant anything beyond that.
Talking about "NoSQL tradeoffs" implies all non SQL databases share similar features, operational models, use cases, etc, which is simply not true. For example, DynamoDB, Mongo, and Fauna have absolutely nothing in common.
- codefreakxff 5y agoYour comment made me read the article and I find the article’s language sufficiently abstract by say things like “many NoSQL databases”, etc Perhaps your comment was meant to say that in general talking about tradeoffs can fall into that trap, but the article here looks like a good discussion
- pier25 5y ago> I find the article’s language sufficiently abstract by say things like “many NoSQL databases”, etc I'd say it's more vague than abstract. For example, what dbs is the author referring to when saying things like "NoSQL databases generally make tradeoffs around these guarantees." when referring to ACID? This seems to be an outdated view. These days, all major NoSQL databases offer transactions with ACID guarantees.
- pbourke 5y agoAt this point we all generally understand that NoSQL means a system that lacks one or more of: the SQL language, a relational model or ACID guarantees. It’s a useful shorthand for all of that.
- pier25 5y agoIf that's the case, it wouldn't make sense to talk about NoSQL tradeoffs as if all NoSQL dbs were actually similar in any way. Eg: Fauna is considered a NoSQL database and doesn't have any of the drawbacks the article mentions. It has ACID guarantees, a relational model, and strong consistency. Mongo and Dynamo also offer transactions with ACID guarantees these days. Etc.
- jbverschoor 5y agoWhat's the benefit then? Just use a CSV file. It's usually faster than any of the "NoSQL" systems out there, and used to be on par in terms of consistency and data-safety with mongodb. Actually better if you only append data.
- chrisandchris 5y ago> The term NoSQL is meaningless. It only means that a database is not SQL (d'oh) but people (such as the author of the article) use it as if it meant anything beyond that. […] Except that it does not. It does mean „Not Only SQL“, and not „no SQL“.
- erk__ 5y agoI think that is a more recent backronym and was not the original, so it is wrong to say that what the above post said is incorrect.
- glimmung 5y ago'backronym' - like it, thank you.
- sigg3 5y agoI think you're wrong. I distinctly recall NoSQL being hailed as a move away from SQL, as in you'd never need SQL again. This turned out to be misleading, so the Not Only SQL was suggested as an alternative name. See e.g. https://hostingdata.co.uk/nosql-database/ https://hostingdata.co.uk/nosql-database/
- jhgb 5y agoThat might depend on who you're asking: http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nosql/Home%20Page http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nosql/Home%20P...
- rendall 5y ago@chrisandchris is correct. NoSQL means "Not Only SQL" Furthermore, the article is uninformed and writes as if "NoSQL" is an alternative paradigm to SQL. In fact, NoSQL covers a whole range of paradigms and approaches, from key-value, to document, to graph, to more exotic flavors. Some of which can even be queried with SQL ACID can be a feature of other database paradigms as well, if necessary. With MongoDB Atlas, for instance, an engineer can ensure that data consistency is high priority across clusters. Or not, if that's not important. On top of all that, table-based database management systems are designed to prioritize saving hard drive space over cpu cycles. As cpu cycles have become more expensive relative to "hard drive space", the need for this kind of database has declined.
- jbverschoor 5y agoNaming in tech is shit anyway. It's loaded with marketing mumbo jumbo. NoSQL should mean: No-SQL, No SQL query language, and therefore no required implementations of the SQL standard (tables, relations, transactions etc). A lot of "NoSQL" databases actually include an SQL layer. Heck. CSV is NoSQL too. The transaction model is one of the things which would be nice to be able to select (eventual-consistent, non-consistent, consistent). In case you have different performance requirements. Similar to UDP vs TCP. But again, it has nothing to do with no-sql. There was a term - object database. But it was old, so it couldn't be used. Then it was document store / database. Caching and naming things are the most difficult parts. But instead of selecting a name that makes sense and reflects a system/architecture/we, we let some marketing people (read - advocates) promote a new, seo-clean, name.