5 ms·
the author mentions Redis but fails to analyze the peculiar data model of Redis that I think can't be considered mathematically dual with SQL's relational model
by antirez 16y ago
the author mentions Redis but fails to analyze the peculiar data model of Redis that I think can't be considered mathematically dual with SQL's relational model... unless you want to use every row of a table as a node with fields for pointers and build skip lists out of that...
The fact that Redis is analyzed as a KV store is already a big enough proof by the over simplification that the author is performing here, in the name of proving his point.
- mooftard 16y ago"Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets." Damn, the oversimplifiers got to http://redis.io/ http://redis.io/ too! Are you saying that the key types in Redis make it special? Slightly-more-than-simple-types do not sound too special. What's it got going on?
- bogomips 16y agohttp://code.google.com/p/redis/ http://code.google.com/p/redis/ "Redis - A persistent key-value database" http://redis.io/ http://redis.io/ "Redis is an open source, advanced key-value store" I'm not sure what sort of extended commentary you expected about Redis - it isn't quite as important of a project as you seem to think it is (seriously, are you always commenting on HN?) EDIT: In case this wasn't already painfully clear, Antirez has an annoying habit of constantly moving the goal lines, making it virtually impossible to discuss Redis in any context unless it is pure, unbridled awe and praise. Then again, Antirez is a HN "celebrity" so expect nonsense like the above to be voted up by the proles.
- deleted 16y ago[deleted]
- antirez 16y ago1) one thing is communication, one thing is math. For communication we need to write in the project home page that Redis is a key-value store, as people see this outer shell when they still don't know the project. But it is easy to realize that inside every of the supported values types lives another, nested, data model. 2) I'm not making any assumption on the importance of Redis. The fact is, the article mentions it, then draws conclusions not applicable to Redis. 3) I don't see how I move the goal lines, please if you have any kind of intellectual honor, let's discuss why exactly my statement is not true: Redis was listed in the article, than a pure key-value model (a map between a constant value and another constant value) is analyzed, even if Redis does not fit. Moreover the article has no real point as even with a simple model like the key value one I can model any complex data model (I can use every key-val pair as a node for a B-Tree and build an SQL DB on top of that), what this means, that all the databases are equivalent? It is clear to most people that the new databases are mainly a new set of compromises between consistency, complexity of operations, implementation tradeoffs. The fact that mathematically is the same is no sense. Are all the turing-complete languages the same? Edit: I see you created your account 9 hours ago. In Sicily you fit perfectly in a category called "cowards".
- bogomips 16y agoIn Sicily you fit perfectly in a category called "cowards" Weak. I read HN occasionally but haven't contributed in many months. I do pay attention to database theory / NoSQL stories, and I have noticed that you always appear always moving the goalposts around, in a manner that I think actually diminishes productive conversation. To your core point, the author isn't saying they're all "the same". They're pointing out that the underlying premise is more alike than many -- who perhaps don't spend as much time on the nuances -- might not realize.
- alexpopescu 16y ago@antirez as in any mathematical proof the most generic case is considered first. If X is a special case or is exposing special corner scenarios, I'd assume that could be covered by extension proofs. I'm not saying Erik's article is bullet proof. But it offers a very interesting perspective on two data models that were considered conflicting.
- stephth 16y agoBut should Redis really be part of that list? I feel like the strongest point of Redis is that it realistically allows devs to forget about any complex relational models living outside of the code logic, like the ones referred in the article. Other "NoSql" databases look like Redis, but the huge difference with the latter are its atomic operations on simple data structures (append, inc, push, intersect, union …). Redis is the only database that I know of that safely allows the developer to deal with relational data in such a straightforward, close-to-programming manner, and still talk with it at a pretty low level (without having to use mapper abstractions). The "data structure server" description probably serves the project better than "key-value store" in that sense.
- antirez 16y agowant to consider the most generic case? Don't mention Redis as it is not a KV store from the point of view of the mathematical model proposed inside the article.