The funny thing about relational databases they model relationships fairly loosely, mostly understood and expressed by the user, not the system. Object systems have a stronger idea of a one way relationship with a reference anyway.
How many systems should care about relationships. All of them can.
Here in Australia they want to put everyones health records online, and connect all the hospitals, doctors, drug stores, testing labs, etc. to those records.
So far they have spent heaps, $500 million'ish, on a system that does this:
http://www.abc.net.au/rn/healthreport/stories/2010/2975642.h...
I think this is a good place for something like a non-relational database. You just create a sequential list of events for a person and you are done.
You can use something like CouchDB. If you loose your network, you can have a local replica at your local hospital and doctors office. Everything re-syncs later.
I think the whole thing is in analysis paralysis because they are trying to systematize the health universe so the meaning of all data is unambiguous. While that sounds grand it will take forever.
I blame the whole failure on a drive to systematize data, which SQL databases foster. If you just view health records as a bunch of bits of paper, and just say we want to store them in one place, in a way that is vaguely sequential, the problem is much simpler.
CouchDB is after all web scale, shard friendly, and there is no impotence mismatch. After seeing this video I am always going to want to say it that way.
It's simpler, and tremendously less usable.
Absolutely. To go back to the original point, I don't think it's document-centric or not that causes the massive cost overruns. Instead it's that big consulting companies know that they can absolutely ROB the government blind and get away with it. Here in Canada we've seen the same farce with the long gun registry, with the health records here in Ontario....just about any government-related project is a boondoggle.
It is great perceived importance that makes a boondoggle.
A few employees, government or otherwise, doing a project of no great significance, will not waste much.
Being insignificant creates a need of efficiency.
It's pretty clear - i.e., his use of the term 'schema' - that he meant in-DB relations, rather than in-code relations.