Commercial grade databases have done all these things since the 1980's. We just hadn't invented the name "NoSQL" for them, because we hadn't yet realized we were supposed to hate SQL. We called them Object Databases, because it was the decade when objects were cool. It also gave us C++ and Objective-C and Object Pascal. Basically we were just gluing objects onto everything we could.
I've used one. It was great. They (mostly) failed because of business and politics and a whole lot of other reasons unrelated to the technology. I'm sure by now everybody here knows that systems don't succeed or fail based purely on the technical qualities of their design and implementation.
I've used one. It was great. They (mostly) failed because of business and politics and a whole lot of other reasons unrelated to the technology. I'm sure by now everybody here knows that systems don't succeed or fail based purely on the technical qualities of their design and implementation.