4 ms·
That's an overly simplistic framing of 'NoSQL'. Despite every piece of FUD to the contrary, 'NoSQL' is a stupid name for a set of tools designed to solve an ent
by sofuture 16y ago
That's an overly simplistic framing of 'NoSQL'. Despite every piece of FUD to the contrary, 'NoSQL' is a stupid name for a set of tools designed to solve an entirely different set of problems.
I don't want some data in a relational model. Yes, I could put it there, but I would be doing so solely so that it fits in the relational model. Which is pretty pointless.
The fact that the relational model is "sound" doesn't mean that everything belongs in it. Plus, I'm not holding my breath waiting for an "intelligent data store that will be able to translate a fully normalized schema into a high performance, distributed, persistent representation that is queryable by this language". That's the description a mythical database panacea that solves all problems with no downsides.
The continual pitting of NoSQL vs SQL is a gross mis-characterization perpetuated out of holy-war fervor, yet based on few facts or even understanding of the differences.
- moron4hire 16y agoWell, when the name is "NoSQL", I think it rather much invites being pitted against its namesake.
- wlievens 16y agoIt's not a name everyone in the field is happy with, IIRC.
- kunley 16y agoI guess it's wrong point of view for a hacker. X vs NOX is all about ego, this kind of silly games should be dismissed by a hacker, focusing on technical merits instead.
- joubert 16y agoGNU
- kunley 16y agoYour point is purely rhetoric. Does GNU invite being pitted against its namesake by hardcore oldtime Unix fans? Still, focusing on whether 'NOFOO' name is appropiate or not is quite silly.
- moron4hire 16y agoI completely agree with you that it immature and childish. However, it is something that "hackers" do have a propensity for, just look at all of the "Closure vs. Python" and other garbage threads that come up here. From evidence, these kinds of games are apparently what "true hackers" like the most.
- wvenable 16y ago> I don't want some data in a relational model. Yes, I could put it there, but I would be doing so solely so that it fits in the relational model. Almost all data fits in the relational model. And it's an excellent way of organizing data. A lot of NoSQL solutions are simply unorganized blobs. That might be fun at the beginning of projects (or for small projects) but it's a step in the wrong direction.
- Devilboy 16y agoYea you're right. Relational data is awesome because it enforces consistency which makes everything you build on top of it so much easier.
- aaronblohowiak 16y agoi've designed plenty of organized blobs that were queried with SQL. Garbage in...
- wvenable 16y agoI've used a SQL database as a document store, using a blob column to store a serialized data structure. It was used to store heterogeneous documents of various types across various installations. I did for all the reasons that have been given for schemaless data storage in NoSQL solutions. For each new document type, there was no need to adjust any database schemas -- whatever properties you have are just stored. However, unless I had a really large number of documents, I wouldn't do this again. With a schemaless solution, you're just moving the problem of schema changes into the code and whatever structure your data was at any time you have to support forever. Right now, I have conditional branches in code to support an document structures that haven't been relevant in years. In SQL, you can alter the table and write a quick query to update your data and you're done. Whatever mistakes you made in your design are history. Proponents of schemaless storage claim that it's great for development but I disagree. I change my design constantly -- add tables, remove tables, split columns, you name it. I don't hinder myself because my data is organized into typed columns. I alter the data as needed to fit the new structure. As a benefit, I never have to support my previous mistakes.
- silentbicycle 16y agoWell, the defining aspect of "NoSQL" databases is that they don't use SQL. Generally, they have different semantics (key-value, document, etc.) too, but it's not necessary. Its name tends to make it sound adversarial towards relational databases in general, though. I'd like to see more relational, column-based databases, with better query languages - I like the relational model, but find SQL to be a bad compromise at best. I think the distinction is lost on a lot of the people caught up in NoSQL hype, though.
- gfodor 16y agoThe relational model is a comprehensive, complete way of representing any form of data. Just because the abstractions in front of the relational model make it somewhat klunky to access, say, keys and value based data models, has nothing to do with the mathematical soundness of the model. The limited "models" most of these NoSQL stores provide are simply subsets or re-projections of the relational model where the implementation basically bleeds all the way up to the modelling abstraction of the system: they are one in the same. The database I described is not a panacea, you'd still have to do both good modelling and describe the ways to optimize the materialization of your data. It doesn't make the core challenges of data architecture any simpler, you still need a brain. It does, however, provide a clean abstraction and would in theory maintain most of the good things that RDBMSes have brought us without throwing all the hard work of our elders in the trash can.
- mathias_10gen 16y agoIf you (and everyone else who've made the same argument) substitute "Syntactic Sugar" for "Abstraction" and "Turing Complete" for "Relational Model" I think you've just made the claim that every application can or should be written in Brainf*ck or one of the other Turing tarpits. Just because a model is mathematically proven comprehensive, (I'm not 100% sure if relational is but that doesn't matter) doesn't mean it's the most natural way to express/solve your problem. And really, that is the only thing that matters. At least when comparing models and not implementations.
- gnaritas 16y ago> The relational model is a comprehensive, complete way of representing any form of data. Yea, but it's not the best or the easiest to represent all forms of data. Just because a problem can be solved with the relational model doesn't mean it should be; there are many ways to skin a cat and sometimes non relational solutions work better for the problem at hand.