2 ms·
I upvote you because that is a common sentiment, and is better to provide some reason why is better the way of RDBMS. --- A schema-less storage design have so
by mamcx 10y ago
I upvote you because that is a common sentiment, and is better to provide some reason why is better the way of RDBMS.
---
A schema-less storage design have some valid uses cases. But even them leak a undeniable truth:
All schema-less design are already a enforced schema, but more general.
Even a KV store is a enforced schema. You have key, and values, and specific operations on them.
Eventually, you will note that that schema-"less" design is too constrained / liberal. For the same reason you note that use all the time hash tables is not as good. You need arrays, and objects, and list, and records, etc.
And you noted that some operations start to repeat themselves. Will be nice if that become abstracted? Right?
And you will noted later that provide reliable results is very hard, specially if things are out-of-order, multi-thread, multi-process, etc.. Will be nice that that become abstracted, right?
And then you can do all that yourself, in your language of choice. And is fine!
But later, you will need to use another language. Now, you need to repeat all that effort AGAIN. Will be nice if you use something like all that about micro-services and stuff, and put the hard-part isolated and caring about that, and you can freely mix-match tech as you see fit?
But then, you do all this, and you MISS THE DAMM SIMPLICITY OF A KV STORE!. How nice will be if exist a model, let's call it relational, that not only can model a KV store, but much MUCH MUCH more!
TADA! You have reinvented a RDBMS!