Slashdot Mirror


UK's National Health Service Moves To NoSQL Running On an Open-Source Stack

An anonymous reader sends this news from El Reg: The U.K.'s National Health Service has ripped the Oracle backbone from a national patient database system and inserted NoSQL running on an open-source stack. Spine2 has gone live following successful redevelopment including redeployment on new, x86 hardware. The project to replace Spine1 had been running for three years with Spine2 now undergoing a 45-day monitoring period. Spine is the NHS’s main secure patient database and messaging platform, spanning a vast estate of blades and SANs. It logs the non-clinical information on 80 million people in Britain – holding data on everything from prescriptions and payments to allergies. Spine is also a messaging hub, serving electronic communications between 20,000 applications that include the Electronic Prescription Service and Summary Care Record. It processes more than 500 complex messages a second.

198 comments

  1. Holy shit! by jtownatpunk.net · · Score: 4, Insightful

    Is this a big IT project that actually worked? Where's my fainting couch???

    1. Re:Holy shit! by Anonymous Coward · · Score: 0

      Is this a big IT project that actually worked? Where's my fainting couch???

      Should be "Is this a NHS project that actually worked?"

    2. Re:Holy shit! by Anonymous Coward · · Score: 1

      Is this a big IT project that actually worked? Where's my fainting couch???

      Here's another one. Wonder what they have in common?

      What Immigration did with just $1m and open source software

      The Department of Immigration has showed what a cash-strapped government agency can do with just $1 million, some open source software, and a bit of free thinking.

      Speaking at the Technology in Government forum in Canberra yesterday, the Department's chief risk officer Gavin McCairns explained how his team rolled an application based on the 'R' language into production to filter through millions of incoming visitors to Australia every year.

      Despite working for one of the largest bodies in Canberra - and one of the most security conscious - McCairns put his endorsement firmly behind the use of open source.

      http://www.itnews.com.au/News/...

    3. Re:Holy shit! by Anonymous Coward · · Score: 0

      Should be "is this an AT Kearney-led project that actually worked?"

    4. Re:Holy shit! by gbjbaanb · · Score: 2

      Whilst I'm all for open source in government, I can;t help thinking every time they come out with press releases saying "we used " describes a process where being different with the technology stack is an end in itself.
      You could write an open source application in C++ rather than the much less mainstream R language and you'd have lots of people ready skilled to maintain it. Using R just seems like it was the choice of the devs who persuaded the agency to adopt their tools rather than an agency who thought about what they needed up front.

      I wonder in 5 years if we see headlines "Immigration Agency dumps open source for Oracle. A spokeperson said,'we used a bunch of obscure languages and tools for the old system that served us well we had difficult finding people skilled in them, so we successfully outsourced the system to our new partners who will deliver increased performance and efficiency savings over.blah blah blah". If they'd done it "maturely" in the first place, this kind of nightmare scenario wouldn't happen.

      (and I speak of experience - currently discussing details with a company that has a system "built with a mix of Erlang, Scala and Ruby on Rails". You know its been cobbled together by a bunch of hacks more interested in whatever language seemed coolest at the time.

    5. Re:Holy shit! by aliquis · · Score: 1

      Is this a big IT project that actually worked? Where's my fainting couch???

      Maybe you missed the part where it said government?

    6. Re:Holy shit! by Anonymous Coward · · Score: 2, Funny

      Is this a big IT project that actually worked?

      Maybe because they were removing an Oracle database instead of implementing one.

    7. Re:Holy shit! by JanneM · · Score: 2

      You could write an open source application in C++ rather than the much less mainstream R language and you'd have lots of people ready skilled to maintain it.

      You may be right in general. But R is not a general-purpose language. It's a programmable tool for statistical computing; you'd have to spend a lot of time to reimplement a set of high-quality statistical libraries to do the same. Doing that correctly is very non-trivial and not quick. Very similar to saying you can replace Matlab with your own C++ code.
       

      --
      Trust the Computer. The Computer is your friend.
    8. Re: Holy shit! by Anonymous Coward · · Score: 1

      Newsflash: government people are as good as private sector people in knowing IT systems and how to implement them. Like the private sector, they get things imposed on them by know nothing managers and elected officials who buy fads, junk, and overpriced consulting from the usual suspects.

      The difference is that you're less likely to hear about a colossal screwup from the private sector side unless it causes real world embarassment. In that case they will be sure to blame it on tech staff who had no say in the garbage they were given to work with. After, of course, the people responsible have been promoted or taken jobs with the vendor.

      It is sadly the same everywhere in this utterly corrupt culture we have.

    9. Re:Holy shit! by Anonymous Coward · · Score: 0

      Not really surprising, mate. Government have some very clever IT talent. The problems arise when those talented folk are caught up in the mire of red tape politically or otherwise to the detriment of simply getting it done. MOst IT folks, myself included, don't get a monkey's toss about politics. We simply want a goal and to be allowed to get on it. In practice, this rarely works, however. The great notion of OSS/Libre software is the lack of evil licences and the freedom from vendor lock-in which I've dealt with many times. I'm thinking of starting my own consultancy based on OSS/Libre software and services.

    10. Re:Holy shit! by neurovish · · Score: 1

      Is this a big IT project that actually worked? Where's my fainting couch???

      Here's another one. Wonder what they have in common?

      What Immigration did with just $1m and open source software

      The Department of Immigration has showed what a cash-strapped government agency can do with just $1 million, some open source software, and a bit of free thinking.

      Speaking at the Technology in Government forum in Canberra yesterday, the Department's chief risk officer Gavin McCairns explained how his team rolled an application based on the 'R' language into production to filter through millions of incoming visitors to Australia every year.

      Despite working for one of the largest bodies in Canberra - and one of the most security conscious - McCairns put his endorsement firmly behind the use of open source.

      http://www.itnews.com.au/News/...

      I'm going to wager that the open source project successes are more due to the people involved than open source itself. Usually when somebody does that they have an open source cheerleader in a position of influence and a staff already familiar with open source. So you end up with a project led by somebody who is invested in the project's success at a level beyond "this will make the bosses happy". From my limited experience, the proprietary implementations result from those influential people going "we don't know how to do this, but this is what everybody else seems to be doing, and these guys we are paying to tell us what to do are saying to do that". The open source project is much more likely to have implementers and architects with more of a "let's figure this out" attitude instead of "this is what people say to do".

    11. Re:Holy shit! by neurovish · · Score: 1

      Whilst I'm all for open source in government, I can;t help thinking every time they come out with press releases saying "we used " describes a process where being different with the technology stack is an end in itself.
      You could write an open source application in C++ rather than the much less mainstream R language and you'd have lots of people ready skilled to maintain it. Using R just seems like it was the choice of the devs who persuaded the agency to adopt their tools rather than an agency who thought about what they needed up front.

      I wonder in 5 years if we see headlines "Immigration Agency dumps open source for Oracle. A spokeperson said,'we used a bunch of obscure languages and tools for the old system that served us well we had difficult finding people skilled in them, so we successfully outsourced the system to our new partners who will deliver increased performance and efficiency savings over.blah blah blah". If they'd done it "maturely" in the first place, this kind of nightmare scenario wouldn't happen.

      (and I speak of experience - currently discussing details with a company that has a system "built with a mix of Erlang, Scala and Ruby on Rails". You know its been cobbled together by a bunch of hacks more interested in whatever language seemed coolest at the time.

      R isn't obscure, and for statistical analysis and data analytics is more likely the Right Tool for the Job. I was helping my stats friends in college setup Linux desktops and servers for R 14 years ago, so it isn't really a trendy language du jour either.
      Your Erlang, Scala, and Ruby on Rails system sounds like a nightmare though.

    12. Re:Holy shit! by naris · · Score: 1

      No one has claimed it actually worked, just that it has "gone live".

    13. Re:Holy shit! by angel'o'sphere · · Score: 1

      How did you find them mentioning using 'R'?
      R is a query language for statistical models, I doubt anyone implements a software system in such a language, is that even possible?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    14. Re:Holy shit! by garyebickford · · Score: 1

      Six_phases_of_a_big_project

        1. Enthusiasm,
        2. Disillusionment,
        3. Panic and hysteria,
        4. Hunt for the guilty,
        5. Punishment of the innocent, and
        6. Reward for the uninvolved.

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
    15. Re:Holy shit! by Anonymous Coward · · Score: 0

      Oh, sure. There's ways to read/write files and sockets, normal control flow, a bizarre but workable OO system (actually, more than one...), database connectors, and generally everything you technically would need. It doesn't have any good UI toolkit, and it would probably make for a hilariously slow web server, so actually grafting an interface onto it from within R would be painful.

        If they merely used R to handle the data (and draw pretty visualisations) with the interface code in another language, it's hardly worth a shrug. :)

    16. Re: Holy shit! by aliquis · · Score: 1

      Point taken.

      And yeah, it was likely politicians I meant.

    17. Re:Holy shit! by gbjbaanb · · Score: 1

      from the post I was replying to:

      Speaking at the Technology in Government forum in Canberra yesterday, the Department's chief risk officer Gavin McCairns explained how his team rolled an application based on the 'R' language into production to filter through millions of incoming visitors to Australia every year.

      I did get R confused with a general purpose language, sorry about that (but not he general sentiment on 'hobbyist' programmers in industry)

    18. Re:Holy shit! by gbjbaanb · · Score: 1

      you know what - after your post I suddenly realised I had R confused with something else (possibly D). I'll try to think before posting next time... maybe :)

    19. Re:Holy shit! by jeremyp · · Score: 1

      You think 1m AUD is big? A couple of years back I was on a project for the British government where they burned nearly that much every week. In the end they had literally burned it, they would have got better value because at least it would have kept the building warm.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    20. Re:Holy shit! by angel'o'sphere · · Score: 1

      Ah, and I did not find 'R' in the article about the UK health care :)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  2. Complex? by darkain · · Score: 1

    What is a "complex" message, exactly? And why is 500/sec substantial for a full cluster?

    1. Re:Complex? by tomhath · · Score: 5, Interesting

      Obviously you have never worked with HL7. One message will have hundreds, if not thousands of pieces of data.

    2. Re:Complex? by jenningsthecat · · Score: 4, Informative

      Obviously you have never worked with HL7. One message will have hundreds, if not thousands of pieces of data.

      Yeah - at least in the US and Canada, even parsing HL7 transactions can be a pain. Different rules and practices in different hospitals, inconsistent rules and practices within the same hospital, apparently contradictory transactions, out of order transactions... I predict a royal mess with NoSQL. With Relational they had at least some assurance that what was read out of the DB was an accurate representation of what was put into it.

      --
      'The Economy' is a giant Ponzi scheme whose most pitiable suckers are the youngest among us and the yet-unborn.
    3. Re:Complex? by tepples · · Score: 2

      HL7? I thought Valve couldn't even count to HL3.

      Oh, you meant that HL7.

    4. Re:Complex? by Anonymous Coward · · Score: 0

      HL7 pah. child's play.
      Try making any sense out of the DICOM standard (serving suggestion only)

    5. Re:Complex? by blankinthefill · · Score: 4, Interesting

      I just interviewed with one of the largest healthcare focused tech companies in the US, Epic Systems. On of the more interesting things I learned while I was there was that they use InterSystems Caché, a non-relational system that's built on b-trees instead of tables. The main draw of this system is the speed at which they are able to operate, which is one of the big things they've built their reputation on. They claimed while I was there that roughly 47-49% of Americans are covered by Epic's software at some point. Now, obviously that's not just records stored in databases they designed, implemented, and support, but, especially considering that Epic targets medium to large healthcare companies, with very little involvement with smaller outfits, and the fact that they do their best not to parcel out their software, but to sell integrated top to bottom systems... well, they seem to not only be doing fine without a relational system, but thriving. I don't work for them, so I can't say any more than that since I don't have experience, but I just thought it might be of interest in relation to the relational/non-relational debate in this thread.

    6. Re:Complex? by Anonymous Coward · · Score: 1

      Intersystems was already around way before the NoSQL hype started.
      15 years ago their systems already outperformed Oracle's best systems in specific application areas.

    7. Re: Complex? by Anonymous Coward · · Score: 0

      Epic does most reporting from their systems via a relational database still. They dump nightly for reporting to a tool/product called Clarity.

      Great company to start with. Probably don't want to stay long term. Get your certifications and go out consult.

    8. Re: Complex? by Anonymous Coward · · Score: 0

      Parts of the system still use mumps.

    9. Re:Complex? by techno-vampire · · Score: 2

      What is a complex message? One with a real part and an imaginary part.

      --
      Good, inexpensive web hosting
    10. Re: Complex? by Anonymous Coward · · Score: 0

      Great company to start with. Probably don't want to stay long term. Get your certifications and go out consult.

      That's awesome. However, speaking as a software engineer turned med student, I want to put a bullet between the eyes of most of the Epic devs.

      The software blows. They managed to take health care delivery, an already complex topic, and needlessly further complicate it. Hooray!

      AC because, and I shit you not, the fuckers at Epic made the med students at my school sign an NDA in order to be trained on their piece of shit platform. You don't get much negotiating ability in med school, so you just agree to whatever is demanded of you.

      Incompetent and evil. Exactly what every dev is looking for in an employer.

    11. Re:Complex? by Anne+Thwacks · · Score: 1

      Yes, but if the UK Government is involved, it can be simplified by the assumption that the real part is guaranteed to be Zero!

      --
      Sent from my ASR33 using ASCII
    12. Re:Complex? by zyche · · Score: 1
      At this point I think it would be useful, not to say necessary, to point to some opionons on Intersystem Caché:

      http://forums.thedailywtf.com/...

      http://thedailywtf.com/Article...

    13. Re:Complex? by gbjbaanb · · Score: 2

      Given the application, I imagine most of the data stored is of the schema:

      Patient NHS ID number
      Patient data.

      where the ID is the standard ID we all have, and the
      "data" s a huge lump of XML. This is probably why it was easy to dump Oracle for a NoSQL DB - if you only store 2 columns in each table a migration is trivial.

    14. Re:Complex? by St.Creed · · Score: 1, Funny

      Hmm.. I think you just coined a new word.

      "Oponion: an opinion so irritating it brings tears to your eyes." :)

      (the WTF-observations seem valid btw, but I couldn't resist adding to the Devil's Dictionary :))

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    15. Re:Complex? by Eunuchswear · · Score: 1

      Zow. HL7. Almost exactly the same as EDIFACT, but different.

      Bleurgh.

      --
      Watch this Heartland Institute video
    16. Re:Complex? by Eravnrekaree · · Score: 1

      Your post shows you don't know what you are talking about. Tables are often implemented with cross linked b-trees, with one b-tree per column. Other alternative is to use a hash array, or an array alone.

    17. Re:Complex? by omnichad · · Score: 1

      It's more like the system was likely so badly put together that the data wasn't relational or optimized in almost any way. Not to say that NoSQL isn't a mess for this situation, but I can hardly imagine it was much less of a mess before.

    18. Re:Complex? by Anonymous Coward · · Score: 0

      I used to work there. They use Cache (aka MUMPS) as a schema-less store. This is pretty effective for them at facilitating rapid development but results in an unbelievable mess. This seems a matter of course when you realize that their data model has grown organically over 30 years of junior developers saying OMG I NEED THIS TOMORROW.

    19. Re:Complex? by Anonymous Coward · · Score: 0

      I just interviewed with one of the largest healthcare focused tech companies in the US, Epic Systems.

      Found in a fortune cookie: "Rumor has it throughout the industry that Epic is more a cult than company. There may be scorpions ahead for you."

      Odd synchronicity that, use of Cache (of which I would probably approve just for the sake of trying something different) notwithstanding. And, BTW, speed is not their only virtue. They do a pretty good job at integrating their offerings - inpatient, outpatient, ED, lab, etc. all look pretty much the same to the user, whereas many of their competitors' systems are cobbled together from various purchased subsystems. And that attribute shows, with greater difficulty in training and loss of generalized system coherence in many of its competitors' systems.

      But, yeah... Watch that cult thing, OK? You may not need that...

    20. Re:Complex? by Anonymous Coward · · Score: 0

      Dude, they were just rationalizing. They have ancient code built on B-Trieve or something and don't want to convert it to a relational database for some reason, like the cost of Oracle.

    21. Re:Complex? by Anonymous Coward · · Score: 0

      This joke is really stupid.

    22. Re: Complex? by Anonymous Coward · · Score: 0

      Software blows because? VB6 UI? Usability?

    23. Re: Complex? by Anonymous Coward · · Score: 0

      Here's your answer:

      "They managed to take health care delivery, an already complex topic, and needlessly further complicate it."

      Epic is a maze of twisty little passages, all alike. It's rarely obvious what the Right Way is to do something, so shit gets squirreled away in different places. It's great when the clinicians who are showing us the ropes have to call each other to try to find where certain patient data is in a given patient record. Just imagine if it were an emergency and you needed those values/patient history to calculate a dose of lifesaving drug.

      Don't forget the NDA. They know their software is shit, so they make you promise not to talk about it before they show it to you.

  3. How quickly will they run back to Oracle? by Anonymous Coward · · Score: 4, Insightful

    I can't help but get the feeling that within a few months they'll be running back to Oracle or some other real database system.

    At this point, anyone who works with databases in industry knows that "NoSQL" has come to mean inconsistent data, corrupted data, and silently lost data.

    One just can't throw away atomicity, consistency, isolation and durability without running into some serious problems.

    And that's totally ignoring how it becomes damn near impossible effectively query NoSQL databases. Sorry, writing complex queries in some imperative subset of JavaScript is totally the wrong way of doing things. Intentionally not learning SQL takes more effort than learning how to use it!

    1. Re:How quickly will they run back to Oracle? by sribe · · Score: 1

      And that's totally ignoring how it becomes damn near impossible effectively query NoSQL databases. Sorry, writing complex queries in some imperative subset of JavaScript is totally the wrong way of doing things. Intentionally not learning SQL takes more effort than learning how to use it!

      Maybe you missed the key phrase in the summary: "non-clinical information". In other words, the structured data that needs to be queried is still in Oracle, or at least that's how I read it.

    2. Re:How quickly will they run back to Oracle? by majid_aldo · · Score: 0

      acid isn't so important when the unit is a patient's records. there is also no need for a rigid data model.

      --
      --- widget evolution: enhanced, plus, super, ultra, extreme, exxxtreme, ultra-extreme, ..etc.
    3. Re:How quickly will they run back to Oracle? by Anonymous Coward · · Score: 2, Insightful

      I've heard managers and analysts say, "Oh, those data won't need to be queried!" in the past. And guess what happens? The data do need to be queried, and usually on a very tight deadline.

    4. Re:How quickly will they run back to Oracle? by fluffy99 · · Score: 2, Informative

      NoSQL stands for Not Only SQL. Running NoSQL doesn't preclude SQL. In fact if they did a rip-n-replace they are more than likely using an implementation that still supports SQL queries.

    5. Re:How quickly will they run back to Oracle? by Tablizer · · Score: 2, Funny

      anyone who works with databases in industry knows that "NoSQL" has come to mean inconsistent data, corrupted data, and silently lost data

      If you like your ys^d%f7, you can keep your jf# -^',{ ~

    6. Re:How quickly will they run back to Oracle? by cheekyboy · · Score: 1

      SQL sucks.

      Not only does it look ugly, it has ugly commands, that make GPU shaders look intuitive.

      How many complex queries does a medical system need? You only deal with one patient at a time, you arent doing *ALL* records data mining for patterns.

      --
      Liberty freedom are no1, not dicks in suits.
    7. Re:How quickly will they run back to Oracle? by dshk · · Score: 1

      I only have a little experience with Cassandra, but I can tell you, that consistency is very easily tuneable in it and it is also provides durability. Atomicity is restricted (AFAIK you can get atomicity if all your data goes onto a single data partition). Isolation does not exist.

      I believe that it is very easy to say that something need ACID, while actually most data does not require ACID. They can, and as I read the article they do use relational database for those data which actually require ACID. NoSQL does not mean that you are in a constant state of getting garbage from your database. And yes, RDBMS are not failsafe either, if nothing else there are coding errors in the applications which use them.

    8. Re:How quickly will they run back to Oracle? by Anonymous Coward · · Score: 1

      Bullshit. The NoSQL logo was SQL in a red cire with a line throught it.

    9. Re:How quickly will they run back to Oracle? by Sudline · · Score: 1

      I am afraid you know nothing about database. NoSQL (http://www.scriptol.com/programming/nosql.php) **is** SQL, that is just the way data is stored that is different. And even if the article focuses on Riak, it seems to be just a part of the new system.

    10. Re:How quickly will they run back to Oracle? by Anonymous Coward · · Score: 4, Interesting
      I love the wailing that RDBMS fanboys make when anyone mentions NoSQL. Most of it is downright wrong, but the sound is nice.

      One just can't throw away atomicity, consistency, isolation and durability without running into some serious problems.

      Sure you can. You can do that and get useful gains. Your imagination may be too limited to understand it, but it's perfectly possible out here in the real world.

      It's a distributed database. They don't need the data to be consistent across every node on every write; "eventually consistent" is fine provided that they know the write has reached at least n+1 nodes, and modern NoSQL databases can do just that.

      that's totally ignoring how it becomes damn near impossible effectively query NoSQL databases

      Maybe for you, but they were probably able to hire real developers who knew how to write queries and map/reduce algorithms to perform effective queries.

      I also love the implicit suggestion that performing an effective query on any large normalised relational dataset is easy, by the way.

      Look, we get it: you've invested a lot of time and effort into becoming an Oracle developer, and yes your skills are now under attack by something that's totally foreign to you, but perhaps you could try learning about those new things and extending your knowledge base instead of dismissing them an hoping they'll go away. It'll make you more employable and you'll look like less of a petulant child, all at the same time.

    11. Re:How quickly will they run back to Oracle? by St.Creed · · Score: 1

      Congratulations!

      Judging from the comments below, your troll has been wildly successful :)

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    12. Re: How quickly will they run back to Oracle? by Anonymous Coward · · Score: 0

      What happens when that one patient has allergies and is taking 10 different medications? When you are trying to prescribe new medication but you need to make sure that it doesn't have a fatal interaction with both their existing allergies and the other medications they are already Taking?

    13. Re:How quickly will they run back to Oracle? by Eunuchswear · · Score: 1

      How many complex queries does a medical system need?

      I dunno. Depends on if you want to mine the database to find clusters of vampires I guess.

      --
      Watch this Heartland Institute video
    14. Re:How quickly will they run back to Oracle? by neurovish · · Score: 1

      I can't help but get the feeling that within a few months they'll be running back to Oracle or some other real database system.

      At this point, anyone who works with databases in industry knows that "NoSQL" has come to mean inconsistent data, corrupted data, and silently lost data.

      One just can't throw away atomicity, consistency, isolation and durability without running into some serious problems.

      And that's totally ignoring how it becomes damn near impossible effectively query NoSQL databases. Sorry, writing complex queries in some imperative subset of JavaScript is totally the wrong way of doing things. Intentionally not learning SQL takes more effort than learning how to use it!

      I was hoping to learn why/how they might be doing this somewhere in this thread, because their implementation seems to be the exact thing that you want a relational database for, and not where NoSQL shines. I also don't see what implementation they used since NoSQL is pretty non-descriptive, and at this point seems to basically mean that they aren't using Oracle, DB2, MySQL, Postgres, or MSSQL.

    15. Re:How quickly will they run back to Oracle? by neurovish · · Score: 1

      acid isn't so important when the unit is a patient's records. there is also no need for a rigid data model.

      Is today opposite day? Of all the bits of my life stored in databases, I think my medical records and financial data are the two where I absolutely want those things.

    16. Re:How quickly will they run back to Oracle? by naris · · Score: 1

      They are expecting cost savings due to not paying Oracle licenses, so that strongly implies that there will no longer have any data to be queried in Oracle. The NoSQL solution they are moving to, Riak, is a key-value store that can to full text searches. It is very unlikely to scale when performing full text searches of millions of very long text documents. I do not see this ending well

    17. Re:How quickly will they run back to Oracle? by segedunum · · Score: 1

      I love the wailing that RDBMS fanboys make when anyone mentions NoSQL. Most of it is downright wrong, but the sound is nice.

      I also love the uncomfortable bum shuffling that NoSQL fanboys do when they have to tell people they've lost data and all those corner cases they said were unlikely to happen.....well, they kind of have happened. It's also amusing to see people labelled as 'RDBMS fanboys' considering that relational database systems have worked very well for decades.

      Sure you can. You can do that and get useful gains. Your imagination may be too limited to understand it, but it's perfectly possible out here in the real world.

      Yes, you can get gains. Just don't expect your data to be there in the event of a failure, which is exactly what a system to handle data is supposed to prevent. You generally also get the "That data isn't critical" and a whole list of exceptions from these twats as to how it's all acceptable, but if it's one thing I've learned it's that the risk of data loss is only a problem once it happens and then you get a request for "We'd like a report on all X historical data for Y occurrences". Queue uncomfortable bum shuffling. That's before I've even got to the ludicrous twilight zone consistency problems that can arise.

      It's a distributed database. They don't need the data to be consistent across every node on every write; "eventually consistent" is fine provided that they know the write has reached at least n+1 nodes, and modern NoSQL databases can do just that.

      Ahhhh, yes, here we go. The corner cases that cannot happen. I could turn off fsync and do a great deal of things with relational database systems that would easily equal or surpass any write performance that a NoSQL system has. You know why I don't do that? Because it's fucking stupid, that's why.

      I also love the implicit suggestion that performing an effective query on any large normalised relational dataset is easy, by the way.

      Let me see. A language and data structure built for constructing queries, with an established process of refining data through normal forms, or a free-for-all using JavaScript or whatever other language a web developer monkey who is now apparently a database developer pulls out of his arse. Tough choice.

      Look, we get it: you've invested a lot of time and effort into becoming an Oracle developer

      Where did he say he was an Oracle developer?

      ...and yes your skills are now under attack by something that's totally foreign to you, but perhaps you could try learning about those new things and extending your knowledge base instead of dismissing them an hoping they'll go away.

      Alas, SQL skills are not under attack at all no matter how you'd desperately like to believe in your own fantasy world that they are. The reason why those experienced amongst us get animated about this NoSQL diarrhoea is because companies and organisations get burned by it. Badly. It's a concept put together by a bunch of utterly ignorant and moronic web developers who believe they are now database developers, can throw away the lessons learned over the past several decades about how data is treated and can throw away that computer science learning they were too stupid to pick up.

      It'll make you more employable and you'll look like less of a petulant child, all at the same time.

      I've just ruptured my spleen. Thanks.

    18. Re:How quickly will they run back to Oracle? by naris · · Score: 1

      So, when you have an operation and they wind up performing a sex reassignment surgery instead of an appendectomy due to the lack of atomicity, consistency, isolation and durability in their database, you would be OK with it?

    19. Re:How quickly will they run back to Oracle? by sribe · · Score: 1

      NoSQL stands for Not Only SQL.

      Bull. Fucking. Shit. It was always "No SQL".

    20. Re:How quickly will they run back to Oracle? by Anonymous Coward · · Score: 1

      I also love the uncomfortable bum shuffling that NoSQL fanboys do when they have to tell people they've lost data

      Because it's a well known certified fact that no RDBMS ever, in all time, has ever lost data. Ever.

      relational database systems have worked very well for decades.

      ...and non-relational databases have been working well for even longer.

      Ahhhh, yes, here we go. The corner cases that cannot happen.

      What corner case? What can't happen? You issue a write, you tell it you want it on n+1 nodes before the database considers the write successful, and the operation blocks until that's happened. Then the data is synchronised to the other nodes after the initial call has returned.

      That's not a corner case. It's a use case.

      A language and data structure built for constructing queries...or a free-for-all using JavaScript or whatever...

      Your bias is showing. It's O.K, you look really intelligent and clever. Honest!

      [NoSQL is] a concept put together by a bunch of utterly ignorant and moronic web developers

      I'm sure moronic web developer companies like 10Gen are crying. All the way to the bank.

      can throw away the lessons learned over the past several decades

      But you can. For certain use cases.

      Your problem is, well many and varied, but in this specific case it appears that you've seen an idiot do something idiotic and, obviously, if only they'd listened to you and your expertise, why they'd never have done it! We'll just conveniently ignore the reality that there are plenty of people out there using these same technologies quite successfully, because that doesn't fit your self-selected narrative now does it?

    21. Re:How quickly will they run back to Oracle? by sycodon · · Score: 1

      Clearly, you have never heard of database normalization.

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    22. Re:How quickly will they run back to Oracle? by sribe · · Score: 2

      They are expecting cost savings due to not paying Oracle licenses, so that strongly implies that there will no longer have any data to be queried in Oracle.

      Maybe. Or maybe they are reducing their Oracle licensing costs to the minimum actually needed. Or maybe they will move the more traditionally-structured kinds of data to PostgreSQL in a later update.

      The NoSQL solution they are moving to, Riak, is a key-value store that can to full text searches. It is very unlikely to scale when performing full text searches of millions of very long text documents.

      Agreed. Where I do not completely agree with you is that the devs responsible for the NHS system are clueless enough to rush into an ill-advised transition that will not scale to their needs. I suspect that they're well aware of both the advantages and disadvantages of the software they just adopted, and will in fact NOT try to use it inappropriately.

    23. Re:How quickly will they run back to Oracle? by fluffy99 · · Score: 1

      Really, Wikipedia, Google, and the NoSQL site itself disagree with you. It was originally called "Not Only SQL" and later many started calling it "No SQL".

      The intent of the initial title was to indicate that it was an alternative to SQL, but later in life SQL-like query functionality was grafted into many implementations. It's likely the NHS implementation has sql querying capability if they did a rip-n-replace of the underlying database, otherwise the project becomes immensely larger as you have to re-write or modify everything that touches the database.

    24. Re:How quickly will they run back to Oracle? by dshk · · Score: 1

      So, when you have an operation and they wind up performing a sex reassignment surgery instead of an appendectomy due to the lack of atomicity, consistency, isolation and durability in their database, you would be OK with it?

      Demagogy. Your example has nothing to do with ACID. Such a case would inditate wrong data entry or a client software bug.

      By the way, such errors do occur. Even in systems where the database is ACID.

      I have not read the article, but I guess they store either very frequent data (measurements) in NoSQL, or large data (3D images). Depending on nonfunctional requirements, neither is possible at all, or cost-effective with RDBMS.

    25. Re:How quickly will they run back to Oracle? by squiggleslash · · Score: 2

      No, he's right. The "Not only" thing is a recent thing. Wikipedia said nothing about it in 2009 (http://en.wikipedia.org/w/index.php?title=NoSQL&oldid=335085794), and the NoSQL site itself admits that people "now use" the "Not only" term claiming that the "original" NoSQL was "misleading". Besides which, it'd be NOSQL, not NoSQL, if it had "always" meant that.

      I remember NoSQL first coming onto the scene, with its advocates being strong opponents of SQL itself. Regretfully the movement was at its peak when efforts to put a database in the web standards were ongoing, resulting in WebSQL being rejected and IndexedDB being put in its place. Why? Read the W3C discussions at the time. The hostility was to SQL. The reasons revolved around SQL. It was SQL specifically that was rejected.

      --
      You are not alone. This is not normal. None of this is normal.
    26. Re:How quickly will they run back to Oracle? by angel'o'sphere · · Score: 1

      Just because a DB system is not based around SQL and relations it by far does it not make 'a real database system'.
      Before SQL was invented we had roughly half a dozen competing database models and 'standards' and ways to program them.
      Now as SQL and relations hit their limits those approaches are reemerging. Nothing wrong with that.

      But keep your academic standpoint ... that is how progress is made. Leaning back in your armchair and neglecting the values of alternatives.

      We see the same attitude in the green energy revolution, erm, in the non revolution, or in space fare ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    27. Re:How quickly will they run back to Oracle? by angel'o'sphere · · Score: 1

      It always was 'not only SQL', then suddenly morons on /. called it 'no SQL' then suddenly some advocated adopted that idea ... but since over a decade it is settled to: 'not only SQL'
      Even wikipedia has it right ...
      Most NoSQL databases support natively SQL or OQL as query language anyway, not as DDL for obvious reasons.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    28. Re:How quickly will they run back to Oracle? by squiggleslash · · Score: 1

      SQL is ugly, but unfortunately everyone who has attempted to reinvent it hasn't understood it, and has produced something with only a tiny percentage of its critical functionality.

      It's the best we've got. NoSQL? A terrible movement made up not of SQL's critics, but of those who have no understanding of the relevent technologies.

      --
      You are not alone. This is not normal. None of this is normal.
    29. Re:How quickly will they run back to Oracle? by angel'o'sphere · · Score: 1

      tell people they've lost data and all those corner cases
      If an IT department loses data, they did something very very terribly wrong. And the choice which DB vendor, technology or paradigm to use was certainly not amoung those mistakes.

      Care to point out how a DB like cassandra, orient db, noql4j etc. should 'lose' or 'corrupt' data?

      Sorry. you are very illusioned or simply make up that nonsense.

      Yes, you can get gains. Just don't expect your data to be there in the event of a failure, which is exactly what a system to handle data is supposed to prevent.
      That is exactly what a database does. Every data base does that. Hence the name data base. That has nothing to do with the query language or the DDL.
      Did you actually learn in university how a database is implemented? How do you come to the idiotic idea someone who implements a NoSQL database does not know minimum 100 times more about DBs than you do?
      because companies and organisations get burned by it. Badly.
      If you are convinced by that, can you either give some examples of companies or examples of mistakes they did, so that we other NoSQL developers can avoid them? Thanx!
      It's a concept put together by a bunch of utterly ignorant and moronic web developers who believe they are now database developers, A la contrair! NoSQL developers have nothing to do with the web. They craft backends, not front ends, face palm, that was a no brainer.
      can throw away the lessons learned over the past several decades about how data is treated and can throw away that computer science learning they were too stupid to pick up.
      Why don't you simply buy a book about "The design and evolution of Databases"?
      That SQL / relational databases dominated the market from 1990 till 2000 is a marketing thing. (I started studying informatics/computer science in 1987, and even I learned minimum 3 different database paradigms around _1995_! SQL did not even have 'won' yet at that time.
      There are dozens of alternatives, that worked well before SQL DBs won the marketing hype (and gained traction from dropping HW prices and increased memory/storage/CPU capacities) now many 'traditional' .... rofl calling a less than 20 years period traditional is already a joke, isn't it? ... relational/SQL approaches hit their limits. So obviously old alternatives come back, just like electric engines in cars. The first cars where electric, not driven by ICE ... no one seems to remember that. The fastest cars in our days, btw are driven by steam engines, yes steam engines! (Except for the speed junkies that actually use rockets or jet engines to break records)

      Your whole rant, and your other posts simply show: you absolutely have no clue about the evolution of data bases

      Your claim that a NoSQL D B would lose data or get corrupted is proof for that.

      It really helps a lot to lean back and think: how was it done before we did X? Very often you realize: only marketing destroyed good ideas. And the ignorance and attitude of people like you (bonus point if you figure from whom the last part of that quote is ...)

      Reminds me when I won a bet that my basic program will sort data read from a floppy faster than the assembly program from my contrahend, on an Acorn Archimedes ... don't remember how much faster my program was ... but it was minimum one magnitude, likely more.

      Yeah yeah, what is the significance of sorting in relation to data based, up to figure to you buy yourself ... good luck.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    30. Re:How quickly will they run back to Oracle? by Anonymous Coward · · Score: 0

      tell people they've lost data and all those corner cases

      If an IT department loses data, they did something very very terribly wrong. And the choice which DB vendor, technology or paradigm to use was certainly not amoung those mistakes.

      Care to point out how a DB like cassandra, orient db, noql4j etc. should 'lose' or 'corrupt' data?

      So, quoting GGP..

      It's a distributed database. They don't need the data to be consistent across every node on every write; "eventually consistent" is fine provided that they know the write has reached at least n+1 nodes, and modern NoSQL databases can do just that.

      So if you do a write and the server fails before replication - what happens to your data?

    31. Re:How quickly will they run back to Oracle? by Anonymous Coward · · Score: 0

      Do you understand what n+1 means?

    32. Re:How quickly will they run back to Oracle? by Anonymous Coward · · Score: 0

      You've missed his key qualifier - "*as long as it has reached* at least n+1". The question is what happens if IT HASNT REACHED another node!

      Is the data lost forever? Will it be inserted if the node recovers? Is the whole database hosed because it's expecting data that never appears??

  4. Who knew? by namgge · · Score: 4, Funny

    As service-user I've always had the impression that the NHS database was a large Excel workbook and a load of VB macros written by interns.

    1. Re:Who knew? by digsbo · · Score: 1

      And I just spent mod points on roman_mir.

    2. Re:Who knew? by phantomfive · · Score: 2

      had the impression that the NHS database was a large Excel workbook

      Technically, that is NoSQL......

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Who knew? by MightyMartian · · Score: 1

      Except Excel is less prone to errors and data loss.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    4. Re:Who knew? by fuzzyfuzzyfungus · · Score: 1

      I had the displeasure of observing(thankfully, not of being called in to clean up after) some very, very, heavy Excel users who were eventually forced to capitulate and move to something less insane because it was becoming a matter of pure chance whether a multi-day simulation run would cause Excel to exhaust its memory space and fall over(this was maybe a decade before 64 bit x86, much less broad support for it, was a thing, so just throwing money at the problem wasn't an option).

    5. Re:Who knew? by Anonymous Coward · · Score: 0

      I once had a "specialis" metallurgist suggest we remove our database and just use Excel tables as our back end, after all, he said, they are just rows of numbers as he has in Excel.

      That was my first development job, and my first real world facepalm.

      Technically I could have done what he asked, and I probably should have for kicks and giggles, by using Excel's COM API. and navigating the cells.

    6. Re:Who knew? by Anonymous Coward · · Score: 0

      As someone who's had to work on NHS IT my favourite was the intern-written email substitute that used Access replication to "send" messages and had most of it's functionality in ... VB macros.

    7. Re:Who knew? by Anonymous Coward · · Score: 0

      Oh my God you just described my first office job. Excel everywhere, occupying every crevice and crippling every convoluted business process.

      It's amazing how far you can push Excel using only the built-in worksheet functions. We had numerous temperamental workbooks that were capable of crashing Excel or, in some cases, parts of the Windows shell, without a hint of VBA involved. That's what vast tables of volatile, interdependent formulae and array formulae, combined with links to large quantities of other workbooks, will do for you. One particularly good example grew slower each week as more data was added. It eventually took over an hour simply to finish loading, and frequently needed to be re-loaded multiple times because it had crashed before it had produced its output. It didn't even produce correct output - it was subtly wrong in a way that created a ton of unnecessary work.

      For all I know, they might still be using it, if hardware upgrades have kept pace with its demand for system resources. Somebody has probably written a script that simulates keypresses in order to repeatedly open it until it produces the correct output without crashing.

    8. Re:Who knew? by fuzzyfuzzyfungus · · Score: 1

      In all honesty, it's really a testament to Excel's relatively favorable balance of power and ease of use, even non-techies can do some reasonably heavy lifting and more sophisticated users can do some fairly impressive rapid prototyping.

      Unfortunately, these sorts of horrors always seem to be the result. What I don't know is how much of the disaster is caused by Excel just not scaling well(which, at least in theory, is something that could be improved) and how much is caused by the fact that non-programmers may be scared away from programming by the stuff that Excel is good at hiding; but still get bitten by the stuff they don't even know is there(which, in fairness to them, is the same stuff that usually bites actual programmers, though less often if they are good ones).

  5. Who knew? by Anonymous Coward · · Score: 0

    Wait till you experience the NoSQL version.

  6. Yeah but by rsilvergun · · Score: 1

    Mongo DB is webscale

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  7. 80 million people? by Aardpig · · Score: 1

    Fuck me, that's impressive! It even manages to track 17 million ghosts!

    https://www.google.com/search?...

    --
    Tubal-Cain smokes the white owl.
    1. Re:80 million people? by Anonymous Coward · · Score: 1

      You realize of course that there are at any time millions of tourists and temporary residents in most first-world countries.

    2. Re:80 million people? by NotQuiteReal · · Score: 2

      At least these ghosts are just being kept healthy, if they lived in Chicago, they'd probably be voting too.

      --
      This issue is a bit more complicated than you think.
    3. Re:80 million people? by Anonymous Coward · · Score: 1

      Fuck me, that's impressive! It even manages to track 17 million ghosts!

      https://www.google.com/search?...

      17 million ghosts sounds about right.
      Hospitals don't erase the medical record just because the patient is dead.

    4. Re:80 million people? by Anonymous Coward · · Score: 0

      We have top of the line ghost care.

      The healthiest damn ghosts you never did see!

    5. Re:80 million people? by dunkelfalke · · Score: 1
      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    6. Re:80 million people? by Anonymous Coward · · Score: 0

      Fuck me, that's impressive! It even manages to track 17 million ghosts!

      https://www.google.com/search?...

      17 million ghosts sounds about right.
      Hospitals don't erase the medical record just because the patient is dead.

      But they should stop providing health care.

    7. Re:80 million people? by sycodon · · Score: 1

      I expect they don't usually keep their appointments.

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
  8. And... by Anonymous Coward · · Score: 0

    how long til it gets hacked?

  9. Impressive by Kittenman · · Score: 3, Informative

    ..., they actually rolled out something., Didn't a huge replacement project runs for years and years, soak up bazillions and then get cancelled? But maybe that's the 'clinical' side of things. Yes, here it us .. http://www.theguardian.com/soc...

    --
    "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
  10. I smell a hype gamble by Tablizer · · Score: 1

    Oh oh, the NoSql movement more or less wanted to gain scalability and performance at the expense of A.C.I.D. and other "integrity" features of "traditional" RDBMS. RDBMS are time-tested and thus relatively solid (if done right). NoSql is not.

    What do they call the opposite of stocks? "Puts"? Put puts on this now, or sell if you got stocks in the health org.

    1. Re:I smell a hype gamble by Anonymous Coward · · Score: 0

      NoSql solutions have around longer than RDBMSs have.

      IMS, VSAM, ISAM, IDMS.

      In fact RDBMSs can even built on top of NoSQL solutions.

    2. Re:I smell a hype gamble by Anonymous Coward · · Score: 0

      A put is a type of stock options contract. The term you are looking for is 'short' as in to short a stock. Essentially this means you borrow shares you do not have and sell them. Then later you must return them i.e. buy that same number of shares at market price. When that price is lower than when you sold the borrowed shares you keep the difference.

    3. Re:I smell a hype gamble by Tablizer · · Score: 1

      They typically call those "network databases", "hierarchical databases", or "navigational databases".

    4. Re:I smell a hype gamble by Anonymous Coward · · Score: 0

      All of which are NoSQL because they support key-value stores.

  11. Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 1

    This is unbelievable. Holy fuck, I sure hope that you don't work with databases professionally. I hope you don't work with them as a hobby! Nobody with an ounce of intelligence and even a minute of working with data would ever consider saying something as utterly stupid as what you just said.

    If you're storing data, you need to use a system that provides atomicity, consistency, isolation and durability. Using anything less is pure idiocy. And it's not like you have to even spend money to get such a system. For crying out loud, just use PostgreSQL or Firebird or even SQLite! Fuck me, even MySQL manages to provide some of this functionality these days.

    I know that some people will say that it's okay to trade off the consistency and quality of one's data, but it always comes back to bite them square in the ass. Why the fuck are you storing the data if you don't give a damn about keeping it consistent?

    And storing medical data is without a doubt a case where atomicity, consistency, isolation and durability are extraordinarily important. It could be deadly if this data is not stored correctly! A patient could die if their medical records are incomplete or inconsistent, all due to a shitty database system not offering atomicity, consistency, isolation and durability. A doctor needs correct information in order to properly treat a patient. Medical data is among the most important that there is!

    It is unconscionable to think that a database designer would intentionally put patients' health and lives at risk just because he doesn't want to use a real database. I really can't believe that you've suggested such a thing. That is truly disgusting.

    1. Re:Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      ...atomicity, consistency, isolation and durability...

      For [insert deity's name here] sake, read the next chapter in your "intro to databases" book and find some other bunch of buzzwords to use in your next comment - you sound like a moron when you keep repeating yourself.

    2. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      I never thought I'd ever see the ACID properties referred to as "buzzwords", especially here at Slashdot of all places.

    3. Re: Are you fucking serious? Tell me you aren't! by ranton · · Score: 1

      I never thought I'd ever see the ACID properties referred to as "buzzwords", especially here at Slashdot of all places.

      When you keep repeating four common terms that have a standard acronym, that fits the meaning of buzzword pretty well. The only reason to spell them out instead of just typing ACID is to try and impress people by showing you actually know what the acronym stands for. Then you go on to list them out three times; in back to back sentences even. All you had to do next was spell out what CAP stands for a couple times and you would sound like a genius.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    4. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 2, Informative

      Sorry, I'm not the AC using the expanded ACID acronym names. Regardless of how they're referred to, they aren't buzzwords. They are the essential properties of any modern and safe database system. Anyone who insists on them all being present is totally justified, and totally correct.

    5. Re:Are you fucking serious? Tell me you aren't! by ranton · · Score: 5, Informative

      I know I shouldn't feed the trolls, but I'm bored and can't help myself.

      acid isn't so important when the unit is a patient's records. there is also no need for a rigid data model.

      This is unbelievable. Holy fuck, I sure hope that you don't work with databases professionally. I hope you don't work with them as a hobby! Nobody with an ounce of intelligence and even a minute of working with data would ever consider saying something as utterly stupid as what you just said.

      As someone who actually has worked with patient data in hospitals, he is pretty on the money regarding the non-structured nature of some patient records. Full ACID compliance is not that important in many cases, often a proper audit trail will suffice. It is similar to banking transactions, which are almost never ACID (despite being used in so many textbook examples of ACID compliance).

      One difference between an amateur and professional is knowing how to balance a system's requirements and create a design that actually fit the system's needs. Strict adherence to some guidelines is just plain stupid.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    6. Re: Are you fucking serious? Tell me you aren't! by ranton · · Score: 1, Insightful

      Sorry, I'm not the AC using the expanded ACID acronym names. Regardless of how they're referred to, they aren't buzzwords. They are the essential properties of any modern and safe database system. Anyone who insists on them all being present is totally justified, and totally correct.

      Anyone who insists on all four aspects of ACID being present without knowing anything about a system's requirements is not justified at all. There are plenty of use cases where ACID compliance is ridiculous, such as most banking transactions.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    7. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      So it's ok to loose a wire transfer? I would expect financial transactions be executed in a manner that adhere to ACID complacency.

      Now as a professional DBA; I'm not delusional -- I know most application are poorly written and don't handle transactions correctly -- including the big packaged applications. I've seen schemas which don't even maintain referential integrity. That does not mean that you should abandon good design.

      Anyone who tells you ACID is not require is a fool or they think they're Facebook, Google, Twitter, etc. where they really don't care if they loose your post about your cat. Most businesses care about their data thus for most business ACID compliance is a requirement -- that is if your competent.

    8. Re:Are you fucking serious? Tell me you aren't! by grcumb · · Score: 1

      Why the fuck are you storing the data if you don't give a damn about keeping it consistent?

      There are thousands (and thousands) of cases where it is simply not reasonable to expect homogeneity in your data. Of those thousands of cases, a very large number of them not only have extremely heterogeneous data, they still need to be stored and queried. NoSQL is a useful tool in such cases.

      Is it 'safe' — i.e. does it do all of the data integrity stuff we've come to associate with RDBMSes? No. Emphatically no. If you didn't code it into the right logic in the right places, you are probably worse than shit out of luck.

      BUT... there are still thousands of cases where the pain of living with NoSQL far outweighs the pain (and in many cases impossibility) of living with your data inside an enterprise RDBMS.

      And yes, I say this based on years of work with exactly these kinds of data sets. They were my bread and butter for a long time.

      So, uh, holy fuck: Believe it.

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    9. Re: Are you fucking serious? Tell me you aren't! by gaspyy · · Score: 4, Insightful

      Do you even know what ACID means?

      Atomicity - either everything is committed or nothing is. I find it crucial to avoid inconsistent states.
      Consistency - data is valid in all states.
      Isolation - ensure that concurrent transactions work correctly.
      Durability - no data is lost due to software crashes or power failures

      How could these not be important for banking is beyond me.

    10. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      Sorry, I'm not the AC using the expanded ACID acronym names. Regardless of how they're referred to, they aren't buzzwords. They are the essential properties of any modern and safe database system. Anyone who insists on them all being present is totally justified, and totally correct.

      Anyone who insists on all four aspects of ACID being present without knowing anything about a system's requirements is not justified at all. There are plenty of use cases where ACID compliance is ridiculous, such as most banking transactions.

      Isn't banking a prime example where you want ACID? I think if a bank drops 'I' it can generate money out of plain air, and therefore it might be interesting to not have, but to keep the system working you need all four. Might be annoying to assure, but these I can generate money by executing before your execution is done and therefor change the outcome of your execution is bad practice.

    11. Re:Are you fucking serious? Tell me you aren't! by DrJimbo · · Score: 4, Informative

      If you're storing data, you need to use a system that provides atomicity, consistency, isolation and durability. Using anything less is pure idiocy. [etc, etc]

      They are using Riak which is currently being used by 25% of the Fortune 50 (fifty, not five-hundred).

      The CAP theorem states there is a trade off between: Consistency, Availability, and Partitioning tolerance. Riak sacrifices consistency (although it does have eventual consistency) in favor of availability and partitioning. The people who wrote Riak (in Erlang) actually seem to be very smart. They say they are firmly in the "right-technology-for-the-right-job" camp. They are not crusading to replace all RDBMS with NoSQL.

      The availability and partitioning tolerance of Riak are amazing. For certain applications these strengths greatly outweigh sacrifices in atomicity and consistency. Due to the CAP theorem, there is no one single database architecture that will be optimal for all applications. Granted, a completely different mindset is needed to use Riak if your previous database experience is all RDBMS.

      From a cursory look, Riak seems to have some excellent documentation. I suggest you look at their page that explains the trade offs between using Riak and a traditional RDBMS. It also contains links to similar documentation.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    12. Re:Are you fucking serious? Tell me you aren't! by DrJimbo · · Score: 3, Informative

      I also suggest you read CAP Twelve Years Later: How the "Rules" Have Changed by Eric Brewer. He concludes with:

      In general, because of communication delays, the banking system depends not on consistency for correctness, but rather on auditing and compensation. Another example of this is "check kiting," in which a customer withdraws money from multiple branches before they can communicate and then flees. The overdraft will be caught later, perhaps leading to compensation in the form of legal action.

      You can claim Eric Brewer is a fucking idiot as much as you want. Eventually all you will do is destroy your own credibility.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    13. Re:Are you fucking serious? Tell me you aren't! by gaspyy · · Score: 5, Informative

      I have worked for a health insurer in UK that treated ACID compliance as a bonus, not a requirement. At the time I left them, they had a whole "data correction team" - 12 people working full-time to do live SQL queries to fix database inconsistencies. I wish I made this up, but it's real. If this is considered acceptable practice, I don't want to work in this industry ever again.

    14. Re: Are you fucking serious? Tell me you aren't! by Anne+Thwacks · · Score: 1
      such as most banking transactions.

      Which part of your banking data do you not want to be consistent?

      Which transations do you not want atomic?

      Personally, I like the idea of my banking data being durable, and I sure dont wat to bank with anyone who sees it otherwise (might feel different if the buggers would give me an overdraft, but I cant see the shareholders or tax man agreeing to it).

      and not isolating the transactions? How will that not end in tears

      I can understand that maybe you had too much LSD, but we stopped using pounds, shillings and pence years ago, and the other kind messes with your brain...P. oh, wait ...

      --
      Sent from my ASR33 using ASCII
    15. Re: Are you fucking serious? Tell me you aren't! by joss · · Score: 1

      Banking transactions are generally not ACID. I'm sure the multi-trillion dollar banking industry are all complete idiots compared to the AC on /.

      http://highscalability.com/blo...

      --
      http://rareformnewmedia.com/
    16. Re: Are you fucking serious? Tell me you aren't! by joss · · Score: 1

      > How could these not be important for banking is beyond me.

      It's not that they're not important, its just that they are not the *most* important thing. Banks care about making money for themselves more than they care about anything else:

      http://highscalability.com/blo...

      --
      http://rareformnewmedia.com/
    17. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 1

      and then you learn about CAP.And therefore, you may have guarantees about the acid properties only a non-distributed systems. Being distributed is a no-brainer for this volume of data. When using distributed systems everything is about compromise.

      In life, you don't receive all you wish for: there are no flying poneys. If somebody sold you, distributed and perfect acid, he is 1/ ignorant, 2/ a liar or 3/ both.

    18. Re: Are you fucking serious? Tell me you aren't! by cyber-vandal · · Score: 1

      You mean the banking industry that had to be bailed out not that long ago, bankrupting several nations in the process? The one that bundled up bad debt with good debt and pretended it was all good debt? That banking industry?

    19. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      > How could these not be important for banking is beyond me.

      It's not that they're not important, its just that they are not the *most* important thing. Banks care about making money for themselves more than they care about anything else:

      http://highscalability.com/blo...

      Tell us which bank you work for so we can avoid it.

      If a bank doesn't care about ACID, which means it doesn't care about losing completed transactions, which means losing track *OUR* money so they can get more profit.

      I don't know where you live, but where I live, our regulators won't let banks off the hook for losing track of customers' money.

    20. Re:Are you fucking serious? Tell me you aren't! by Kjella · · Score: 4, Interesting

      There are certain ways ACID compliance is important and certain ways it is not, in fact sometimes it's a hinderance. In particular the following:

      One patient's records must be consistent only with itself, you don't need the whole patient table to be consistent. It's a problem because you do need to have cross-table consistency (patients, episodes, diagnosises, treatments, medications and so on) which can lead to locking issues while they're really millions of records living in parallel. Really I'd like to treat them as millions of microtables that happen to share the same structure but never cross lock.

      Perhaps in a hospital you can do synchronization at a database level but for an exchange or common journal you have to assume records come in asynchroneously, your general physician might finish some paperwork while you're in emergency care at the same time as a lab result you've waited a week for comes in. The actual ordering they're applied in doesn't matter, there must be rules so (A,B,C), (C,A,B) and (B,C,A) all end up the same result. This means you can relax the hard synchronization of for example a bank account where it is essential that the transactions are applied in order and rejected if you're overdrawing your account, but that's hard in SQL.

      That doesn't just apply to the ordering of writes but also querying. If two people at different hospitals tries to pull up your medical records it is important they're not corrupt but it's not essential that an update being distributed is presented to both or none. In fact, for essential robustness they should be able to continue working independently if the connection is broken and when the connection is restored the records are reconciled. That kind of shard and merge is generally a problem relational databases don't handle while the distributed synchronization is rather essential and implicit in NoSQL solutions.

      --
      Live today, because you never know what tomorrow brings
    21. Re: Are you fucking serious? Tell me you aren't! by hawkinspeter · · Score: 1

      So, you're a professional DBA and you can't even write a few sentences without using entirely the wrong words? How can you loosen a wire transfer? Your competent what?

      --
      You're a temporary arrangement of matter sliding towards oblivion in a cold, uncaring universe
    22. Re:Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      Yep, I have heard about that happening as well. Some satellite systems (the things in orbit) are also managed like this. If the software crashes (due to radiation bitflips, bugs, ...) the processor halts and a team of 'reset engineers' determine what to do, often by fixing datastructures in the memory, and then have the CPU go on. Mostly goes right, but there was this case when the satellite restarted correctly, but the next downlink message showed that it was spinning around its axis very fast and all fuel was gone. Apparently the roll correction engine was firing during the halt, and was on for more than 24 hours (well, only a few before the fuel was gone).

    23. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      This is false. In Brazil when an ATM loses communication with the central, he does not perform any operation. And if your bank do not do that, switch bank.

    24. Re: Are you fucking serious? Tell me you aren't! by DrJimbo · · Score: 4, Informative

      If a bank doesn't care about ACID, which means it doesn't care about losing completed transactions, which means losing track *OUR* money so they can get more profit.

      Perhaps this is where you have gone astray. The opposite of ACID is BASE where the "E" stands for eventual consistency. The beauty of this is that it DOES NOT lose completed transactions and at the same time it allows for high availability.

      Strict consistency (the "C" in ACID) is a much more stringent requirement than eventual consistency. In particular it conflicts with high availability. This is the essence of the CAP theorem. In many industries, including banking, eventual consistency plus high availability (NoSQL) is preferable to strict consistency plus lower availability (RDBMS). Of course there are many other factors involved in selecting a database architecture.

      One way to see this is by noting the three typical things you can do at an ATM: deposit, withdrawal, and show balance, commute (in a sense) when you are only worried about eventual consistency but they don't commute when you require strict consistency. This is why relaxing the requirement to eventual consistency gives you higher availability (when the database is partitioned). Transactions can be logged and later merged when the partition has healed. It is true that "show balance" does not strictly commute with deposits and withdrawals but: a) this does not cause the system to lose track of your money, and b) no one expects it to strictly commute. There is usually a warning that it may take X hours or days before a transaction shows up on your balance. IOW the balance will eventually be correct after you stop making transactions.

      The strict consistency alternative you think is better will mean that all ATMs have to stop working whenever the database is partitioned. For most customers this is totally unacceptable especially since the only value it adds is ensuring that the "show balance" function always includes all of the latest transactions. Even the average person on the street would tell you this approach is really "stupid". No one wants the ATMs to be broken most of the time just to be sure "show balance" is always perfectly up to date.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    25. Re: Are you fucking serious? Tell me you aren't! by segedunum · · Score: 1

      Banking transactions are generally backed up by large mainframes, SQL databases and infrastructure that most certainly are ACID compliant so people like you can play idiotic games with NoSQL and then act as if nothing happened when you lose data.

    26. Re: Are you fucking serious? Tell me you aren't! by segedunum · · Score: 1

      The opposite of ACIDis BASE where the "E" stands for eventual consistency. The beauty of this is that it DOES NOT lose completed transactions and at the same time it allows for high availability.

      I'm awaiting the rest of the comment with a mixture of trepidation and mild amusement......

      In many industries, including banking, eventual consistency plus high availability (NoSQL) is preferable to strict consistency plus lower availability (RDBMS). Of course there are many other factors involved in selecting a database architecture.

      No. Creating corner cases like this is what all the NoSQL nutters do, and certainly what they've had to do in recent years when it's become painfully apparent that if you start mucking about with data consistency in any way and telling people things don't matter you WILL get burned.

      Acquainting a traditional RDBMS with a phrase like 'lower availability' just highlights to kind of twilight zone you start getting into when talking to any of the NoSQL crowd.

      It is true that "show balance" does not strictly commute with deposits and withdrawals but: a) this does not cause the system to lose track of your money, and b) no one expects it to strictly commute.

      You didn't work on Mt Gox's systems at any point did you?

    27. Re:Are you fucking serious? Tell me you aren't! by segedunum · · Score: 1

      In general, because of communication delays, the banking system depends not on consistency for correctness, but rather on auditing and compensation. Another example of this is "check kiting," in which a customer withdraws money from multiple branches before they can communicate and then flees. The overdraft will be caught later, perhaps leading to compensation in the form of legal action.

      You can claim Eric Brewer is a fucking idiot as much as you want. Eventually all you will do is destroy your own credibility.

      You're misunderstanding what's been written in that article. This is exactly the scenario that banks *have* to prevent before and as it happens. Chasing around for compensation later cannot be an option in many cases because it is going to be abused. It could happen in the case that a bank branch loses connectivity and they have to work manually, but this is a very rare exception and not the rule, and in that scenario many bank branches simply won't process certain types of transactions. Whatever system you use locally will be checked live, usually with a mainframe based system that is ACID compliant. If that isn't possible then you have a gradual system degradation where only certain types of transactions are processed. Simply relying on an audit trail to piece things together is the exception you don't want rather than how things work, but of course, you'd better hope that audit trail is consistent ;-).

      I know because I've been there in a bank and these corner cases are what you have to account for and deal with. This attitude is what made the Mt Gox Bitcoin exchange a laughing stock, amongst others. The article is not a carte blanche to justify NoSQL systems or to do away with any core systems that compromise ACID at their heart. Indeed, that's what they have to fall back to.

    28. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      Answer the following:
      Does you bank guarantee that
      a/ *at any given point in time*, your current balance will exactly match your previous balance plus all withdrawals and deposits applied? And that any amount you take from one account will *immediately* show up in the target account at the same of other bank?
      Or
      b/ does it guarantee that at some point during a period of days/hours all withdrawals/deposits/transfers will be applied, but that, for example, there may be in between periods where money 'disappears' and 'reappears'. But it all works out in the end.

      If your answer is a/, congratulations, your bank conforms to ACID. It also *does not exist* as *no real bank* works like this.

      If your answer is b/, your bank does not conform to ACID (but to something like BASE instead). However, in this case your bank does actually exist, which most of us find to be an advantage.

    29. Re: Are you fucking serious? Tell me you aren't! by DrJimbo · · Score: 2

      There clearly seems to be a failure of communication here. Since you did not like my dumbed down explanation, perhaps you would prefer to hear what Eric Brewer has to say. He seems to have gotten a whole lot of awards for someone who is a "NoSQL nutter".

      Eric Brewer on Why Banks are BASE Not ACID - Availability Is Revenue:

      Myth: Money is important, so banks must use transactions to keep money safe and consistent, right?

      Reality: Banking transactions are inconsistent, particularly for ATMs. ATMs are designed to have a normal case behaviour and a partition mode behaviour. In partition mode Availability is chosen over Consistency.

      There are more details here and in many other places.

      Acquainting a traditional RDBMS with a phrase like 'lower availability' just highlights to kind of twilight zone you start getting into when talking to any of the NoSQL crowd.

      Are you saying you think the CAP theorem is false? I'm assuming large distributed data sets so partitioning is inevitable. According to CAP this means there is a trade off between consistency and availability. RDBMS provide strong consistency so they cannot also provide high availability when there is partitioning.

      You didn't work on Mt Gox's systems at any point did you?

      Sarcastic ad hominem attacks are an extremely poor substitute for reasoned debate.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    30. Re: Are you fucking serious? Tell me you aren't! by sillybilly · · Score: 1

      I wish I had a cat i could post about on Facebook. But it would die of a heatstroke if I left it at home in the apartment I live, and I sure as hell won't pay $300 a month to keep it air conditioned. This summer has been surprisingly mild, and it's almost over, and a cat might have survived fine. Though I still can't get a cat or even a potted flower, cuz I don't know what next summer is gonna be like. The plus side of such a heated attic-apartment is that it gets sterilized completely in the summertime from the heat, and I'm the only life form able to make it through the summer in it.

    31. Re:Are you fucking serious? Tell me you aren't! by DrJimbo · · Score: 2

      You're misunderstanding what's been written in that article. This is exactly the scenario that banks *have* to prevent before and as it happens.

      These excerpts from one of Brewer's talks seem to substantiate my "misunderstanding": Eric Brewer on Why Banks are BASE Not ACID - Availability Is Revenue

      segedunum:

      Chasing around for compensation later cannot be an option in many cases because it is going to be abused.

      When the system is functioning normally, the difference between strong consistency and eventual consistency is on the order of a few milliseconds. I don't think that leaves much of a window for abuse. The fundamental question is what do you do when there is partitioning? Or as you call it, system degradation. If you take an ACID approach then you shut down everything until the partitioning has been repaired. If you take a BASE approach then you still provide at least some functionality by sacrificing strong consistency. The CAP theorem says you cannot have both strong consistency and availability when there is partitioning.

      Whatever system you use locally will be checked live, usually with a mainframe based system that is ACID compliant. If that isn't possible then you have a gradual system degradation where only certain types of transactions are processed.

      The fact that you have any functionality at all when there is non-trivial degradation is due to using an overall BASE strategy instead of an ACID strategy. I have no doubt that one or more ACID databases are used as parts of the system but an overall BASE strategy is used by banks when there is partitioning (system degradation).

      Remember, this thread started with an AC claiming that you would have to be an idiot to use anything other than ACID for storing data. People responded by saying there is also a place for BASE systems and that the banking industry uses an overall BASE strategy. Perhaps I misunderstand what you are saying but it seems like you are saying that as long as an ACID database is part of the system (or a central part of the system) then the overall system must be ACID which makes little sense to me.

      I don't think anyone here is suggesting:

      the article is [...] a carte blanche to justify NoSQL systems or to do away with any core systems that compromise ACID at their heart.

      The point I've been trying to make is that just like there is a place for ACID systems there is also a place for BASE systems. In addition, as the data sets become larger and more complex and more spread out, the ACID approach becomes more and more untenable due to the CAP theorem. For most (but not all) cases, high-availability and eventual consistency will trump strong consistency.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    32. Re: Are you fucking serious? Tell me you aren't! by pigiron · · Score: 1

      "There are plenty of use cases where ACID compliance is ridiculous, such as most banking transactions."

      I (and my minions) have been applying relational transaction solutions to banking problems for 35 years and your statement is total and utter nonsense. Almost all banking transactions require rigorous application of ACID in order to ensure that there is no double accounting for the same transaction.

      You don't know WTF you are talking about.

    33. Re: Are you fucking serious? Tell me you aren't! by DrJimbo · · Score: 1

      Yes, of course. Likewise when the entire system is down or the ATM you want to use is unplugged, the ATM cannot perform any operation. But that's not what we are talking about here. We are talking about what happens when the database itself is spread out across many nodes (servers) and one or more of those servers goes down. Do you shutdown all the ATMs or do you let them keep handing out money even if you may not be able to show the users a balance that is 100% correct in all cases? Banks choose to provide limited functionality as long as it is safe because customers get really pissed off when the ATMs seem to be broken a lot of the time.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    34. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      You have already lost this argument. You will eventually realize this, I hope. Then, your world-view (regarding this particular topic) will be consistent with those who currently know better than you, one of which is the person you have lost this argument to.

      I admire your passion for the topic, but you appear to be just a wee bit too passionate to be able to realize that you are sometimes wrong, and that this is such a time.

    35. Re: Are you fucking serious? Tell me you aren't! by Anonymous Coward · · Score: 0

      The strict consistency alternative you think is better will mean
      that all ATMs have to stop working whenever the database is
      partitioned.

      In countries when the BANK is responsible for fraudulent ATM transactions, this is EXACTLY what happens -- ATM stop working when the network is down. And guess what? The banks have great incentive to ensure the network is up, including paying more for better network providers.

      In the US, where banks can pass fraud loss to customer by calling it "identity theft", you get banks willing to let ATM works even when it do not have strict consistency. Why care?

    36. Re: Are you fucking serious? Tell me you aren't! by sergueyz · · Score: 1

      Strict consistency does not conflict with high availability: deterministic approach to DBs.

      You can have your ACID and eat it too.

    37. Re: Are you fucking serious? Tell me you aren't! by DrJimbo · · Score: 1

      Thanks for the link. That paper discusses a system that has C and A but not P. They are looking at fast transactions on a distributed system that is never partitioned (no hardware or network failures). When parts of the system go down they will still have to choose between availability and strong consistency. They tell us they chose C over A:

      In its current implementation, Calvin handles hardware failures by recovering the crashed machine from its most recent complete snapshot and then replaying all more recent transactions. Since other nodes within the same replica may depend on remote reads from the afflicted machine, however, throughput in the rest of the replica is apt to slow or halt until recovery is complete.

      If they were able to provide C and A and P then it would be huge news. Most of our current databases both RDBMS and NoSQL would instantly be obsolete. Most database design over the past decade or more has involved using different tradeoffs between C, A, and P. If someone really found a way to provide all three at once then all of that work would have been for naught.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
  12. Quit it with the revisionist history. by Anonymous Coward · · Score: 5, Interesting

    The "NoSQL means Not Only SQL" crap you're shitting out is nothing more than the NoSQL community frantically backtracking after their "NoSQL means No SQL" ideas were shown to be disastrous bunk.

    Instead of owning up to the fact that they were horribly, horribly wrong, and made some really fucking stupid suggestions, the NoSQLers have just decided to change history. They pretend that they weren't saying what they very clearly said in the past. And they obviously need to admit that SQL and relational databases are the only viable option, but can't do this without looking like the fools that they are, so they admit that it's okay to use "sometimes". And this "sometimes" ends up being "all the time", but again, they can't openly say that without looking like the incompetents that they are.

    Face it, "NoSQL" does mean "No SQL". It always has, and it always will. No amount of backtracking will change the fact that the NoSQL crowd was full of shit, and still is.

    1. Re:Quit it with the revisionist history. by angel'o'sphere · · Score: 2

      Everyone using NoSQL is doing it horribly, horribly wrong, and made some really fucking stupid suggestions ...
      So why are they doing it?
      Did you ever work with a NoSQL DB?
      No? So why do you feel qualified to comment?

      Sorry, you are just a ranting moron who has no clue at all about the topic. Pretty clear from your last three posts, get at least a nick, so we can avoid you more easy, coward.

      Face it, "NoSQL" does mean "No SQL". It always has, and it always will. No amount of backtracking will change the fact that the NoSQL crowd was full of shit, and still is.
      That is wrong in all NoSQL projects I have worked in. Usually we a have a mix of databases, some purely rational, some document oriented and some column oriented, the whole data world is spread over those.

      E.g. if you are wire tabbing an internet conversation, or internet connection, 90% or more of the traffic will be html documents. Why should I store that in a relational database?
      What would be the benefit?

      Don't answer, you only will make a fool of yourself ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Quit it with the revisionist history. by parenthephobia · · Score: 1

      In October 2009, just a few months after he coined the term "NoSQL", Eric Evans made a blog post saying he regrets that the name gives the impression that NoSQL is against relational databases and that people should think of it as being Not Only SQL. Somebody's history is revisionist, but I don't think it's fluffy99's.

  13. Selling it short by tepples · · Score: 1

    What do they call the opposite of stocks?

    I've always heard them being called short positions, which is the origin of the phrase "selling something short". A put option is something different: the right to sell a security for a given price between two given dates. Both can be used to make money in a falling market, though a short is a blunter instrument.

  14. Surprise! Summary has wrong information by clovis · · Score: 3, Interesting

    Summary says: "It logs the non-clinical information on 80 million people in Britain"

    Well, yes it does hold clinical information. That is a big deal.

    From the UK's HSCIC web site there's more (and authoritative) information on SPINE
    http://systems.hscic.gov.uk/sp...
    "The Summary Care Record:
    SCRs provide emergency and out-of-hours healthcare professionals with faster access to key clinical information, including details of allergies, current prescriptions and bad reactions to medicines. The Summary Care Record helps to ensure continuity of care across a variety of care settings, and is provided by the Spine."

    Having or losing corrupt information in a clinical record is a good way to kill some random person. However, it is a summary, so if a physician suspects a problem in the summary, they can go to the patient's main record. Getting prescriptions crossed can also be problematic for the patient.

    Ignoring the NOSQL issue, I wish we had something like SPINE here in the USA.

    1. Re:Surprise! Summary has wrong information by Anonymous Coward · · Score: 1

      Ignoring the NOSQL issue, I wish we had something like SPINE here in the USA.

      I wish I lived somewhere without a goverment database of everyone's health records. The story of Sweden:

      At first it is only to be used by medical professionals, and cannot be accessed without consent or reason. Then the police wants access. Then social workers.
      Meanwhile goverment adds "lifestyle info" into the database -- starting by whether you smoke or drink, and eventually creeping into having to answer to
      questions on how many sex partners you have had before getting medical care.

      And in the end, the database ends up for sale online. (In case of Sweden many sites claim to have medical records, for instance p.st)

    2. Re:Surprise! Summary has wrong information by h4ck7h3p14n37 · · Score: 1

      This data should be carried by the patient, not stored in some centralized database ripe for harvesting by third parties.

    3. Re:Surprise! Summary has wrong information by frank_adrian314159 · · Score: 1

      This data should be carried by the patient.

      OK, you make sure it gets implanted in the patients so that they never leave home without it and they never lose it, otherwise the utility goes way down (although, if you're the kind of person who carries copies of all their medical records around with them now, I'm probably not going to convince you of this). Once you convince the general populace that the "Chip of the Beast" is acceptable, then you can ask for the information to be offline as it will then actually be available in the majority of patients. And, if you're thinking that a cell phone would make a fine repository for this data (and would usually be on you), I don't think my cell phone is any more secure than an encrypted online datastore, nor does everyone have one. And, if you're saying to give the patient a card with a chip to access medical service, see the whole "Chip of the Beast" thing above.

      --
      That is all.
    4. Re:Surprise! Summary has wrong information by Anonymous Coward · · Score: 0

      Ignoring the NOSQL issue, I wish we had something like SPINE here in the USA.

      I wish I lived somewhere without a goverment database of everyone's health records. The story of Sweden:

      At first it is only to be used by medical professionals, and cannot be accessed without consent or reason. Then the police wants access. Then social workers.
      Meanwhile goverment adds "lifestyle info" into the database -- starting by whether you smoke or drink, and eventually creeping into having to answer to
      questions on how many sex partners you have had before getting medical care.

      And in the end, the database ends up for sale online. (In case of Sweden many sites claim to have medical records, for instance p.st)

      So, the tone of your post makes it sound like there's some problem in Sweden.
      What's up with that?

  15. Bullshit Numbers by youngone · · Score: 3, Interesting

    "It logs the non-clinical information on 80 million people in Britain " when the population of Britain is about 64 million.

    1. Re:Bullshit Numbers by Lunix+Nutcase · · Score: 1

      Tourists and dead people.

    2. Re:Bullshit Numbers by AHuxley · · Score: 1

      The homeless with limited ID, shared ID, created ID that is sold and in use for years, untraceable people with some form of random usable ID all interacting with local free health services.
      Other countries may offer some form of free health care only after ensuring a person is eligible.
      Payments then follow to the dr, hospital and health care can be fully tracked by a national gov. From the patient to the costly over use, billing of medical services by staff.

      --
      Domestic spying is now "Benign Information Gathering"
    3. Re:Bullshit Numbers by Anonymous Coward · · Score: 2, Informative

      There are also an estimated 13 million British nationals living outside the UK (source: Foreign & Commonwealth Office). They'll all have NHS records too. That brings us pretty close to the 80 million figure.

      Maybe the rest are, at a wild guess, foreigners who've been treated in NHS hospitals for some reason at some time. That sounds vaguely plausible...

    4. Re:Bullshit Numbers by Anonymous Coward · · Score: 0

      We have to monitor the health of dead people?

    5. Re:Bullshit Numbers by Anonymous Coward · · Score: 1

      We have to monitor the health of dead people?

      Might be useful to, y'know, keep a record of what they died of...

    6. Re:Bullshit Numbers by Anonymous Coward · · Score: 0

      We don't pay for healthcare, so it has nothing to do with billing for medical services.

    7. Re:Bullshit Numbers by Anonymous Coward · · Score: 0

      It is more hassle to delete the historical data of dead people, than to just leave it in the system.
      Keeping it also allows using the historical data for research.

    8. Re:Bullshit Numbers by Anonymous Coward · · Score: 0

      The population of England is about 60 million, Britain however is slightly bigger. Although in about a weeks time you may be right depending on how Scotland vote in their referendum.

    9. Re:Bullshit Numbers by AmiMoJo · · Score: 1

      It includes people who died, people visiting the UK who then left, people who emigrated, even some people who never came to the UK but are medically related to people who live there (holiday STDs etc.)

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    10. Re:Bullshit Numbers by Anne+Thwacks · · Score: 1

      You might also want to stop sending them invitations for a health check every year. I expect that feature not to work in the NoSQL version.

      --
      Sent from my ASR33 using ASCII
    11. Re:Bullshit Numbers by Anonymous Coward · · Score: 0

      The system is a product of NHS England. So not UK, or Britain, and not 64 million.

    12. Re:Bullshit Numbers by gsslay · · Score: 2

      The article and summary is wrong, and practically every comment in this thread is misinformed.

      The system is used by NHS England. It contains patient data for NHS England. Not UK. Not Britain. England.

      So the population of the UK has nothing to do with it.

    13. Re:Bullshit Numbers by jrumney · · Score: 1

      There are a lot of Australians, New Zealanders, Canadians and others who have lived in the UK for a couple of years on working holiday or ancestry visas, then returned home. Also, a lot of Europeans going to UK as young adults for a couple of years to improve their English to improve their future career prospects back home. UK has a fairly steady turnover of temporary residents who could swell the figures well beyond the current population level.

    14. Re: Bullshit Numbers by Anonymous Coward · · Score: 0

      Right, because no-one dies, emigrates or immigrates, and the system never needs to retain old data...

    15. Re:Bullshit Numbers by Anonymous Coward · · Score: 0

      Perhaps the other 16 million are visitors from other countries who don't pay for their healthcare in the UK? And/or dead people

  16. Why nosql? by buckfeta2014 · · Score: 1

    Why not mysql or postgres? Like we don't have enough sql languages as it is along with mssql and oracle...

    --
    Buck Feta. You know what to do.
  17. Proof by Dishwasha · · Score: 4, Funny

    That dropping ACID is not hazardous to your health.

    1. Re:Proof by Ghjnut · · Score: 1

      Nailed it

      --
      MouseClass extends ScrollClass, which extends TabClass, which extends SidebarClass, which extends PowerClass, w
  18. Making it easy to write queries isn't the priority by raymorris · · Score: 2, Insightful

    > Sorry, writing complex queries in some imperative subset of JavaScript is totally the wrong way of doing things. Intentionally not learning SQL takes more effort than learning how to use it!

    With 80 million records and heavy load, the number one priority is not "make it easy for any teenager to write queries ".
    I system that requires the programmer to think things through, and therefore write an efficient query, is better in some cases.
    Just as manually chosen mutexes are sometimes better than automatic full-column lovks actoss 80 million rows.
    Easy isn't always best, my friend.

  19. Partial consistency is... inconsistency! by Anonymous Coward · · Score: 0

    You don't get it. Consistency isn't something you "tune". Either the database provides consistency, or it doesn't. Anything less than perfect consistency is inherently not consistency; it's inconsistency!

    Anyone who thinks that they don't need atomicity, consistency, isolation and durability does in fact need such things, they just may not be smart enough to realize it yet. Intelligent people don't have to wait for a disaster to happen before they learn the importance of atomicity, consistency, isolation and durability. They see the risks of using inferior NoSQL database systems, and instead choose real relational database systems that provide all of atomicity, consistency, isolation and durability. It's never acceptable just to have missing or partial implementations of such properties.

    1. Re:Partial consistency is... inconsistency! by dshk · · Score: 2
      I am a server side developer for 14 years on a single system. We use MySQL but still not its ACID table types. After so much time maybe I am in the position that I can state, that, no, most of our data does not require ACID. Even which would require it theoretically is doing fine after 14 years.

      What we would indeed need, is the multi-datacenter capability. Which you get for free with Cassandra... We also sorely needed performance a few years ago (15k SAS drives was slow after an internet hiccup for example), but SSD drives helped in that. Again we could get infinite scalability with Cassandra for free.

      You must choose in such a situation: either the - only theoretically needed - ACID, or the actually performing and highly available NoSQL with its additional operations, coding burden?

    2. Re:Partial consistency is... inconsistency! by joss · · Score: 1

      Consistency is easy when there is a single non-distributed database. That's not always possible and even if when it is possible its not always desirable because it is an inherent bottleneck. I agree many many companies pretend that they're facebook and end up with NoSQL for stupid reasons (hey, if my website ends up with a 100,000,000 active users then a single db won't cut it...) but there are situations where availability is more important than consistency. Funnily enough, one of them is banking.

      --
      http://rareformnewmedia.com/
    3. Re:Partial consistency is... inconsistency! by gbjbaanb · · Score: 1

      Its a confusing point, but ACID is only one way of ensuring the things you want. Yuo can, for example, use a form of check-it-worked-and-compensate-afterwards to achieve the same level of reliability without actually having an ACID system.

      Most banking transaction, I'm told, use this instead of traditional ACID transactions. I suppose you could say its a coarser-grained version of ACID and therefore still ACID, but I think that would confuse most people who think ACID = relational DB with integrity checking.

    4. Re:Partial consistency is... inconsistency! by segedunum · · Score: 1

      Again we could get infinite scalability with Cassandra for free.

      Jesus Christ......

    5. Re:Partial consistency is... inconsistency! by dshk · · Score: 1

      Again we could get infinite scalability with Cassandra for free.

      Jesus Christ......

      No, no, it is the Apacha Foundation.

    6. Re:Partial consistency is... inconsistency! by Anonymous Coward · · Score: 0

      Foolish insistence on consistency is the hobgoblin of small minds.

  20. That's what they say... by Anonymous Coward · · Score: 0

    They say 45 days, but in reality it'll be six months.

  21. âSuccessfulâ redevelopment by Anonymous Coward · · Score: 5, Informative

    I use the Electronic Prescription Service (EPS) component of the spine and take issue with the successful claim. The upgrade has been appalling.

    It was rolled out over the UK's August bank holiday, with no advance notification. After the holiday, prescriptions pulled down from the spine (they haven't implemented push messaging ... ) had invalid digital signatures, rendering them illegal. Prescriptions that had been completed and payment claimed for in Jan 14 were redownloaded from the spine. Post dated prescriptions for October also began appearing. These are only supposed to be downloadable on after the valid date for obvious reasons.

    Not only was this a logistical nightmare, some issues are still broken after two weeks.

    I am amazed that so many issues got through testing.

    Utter shambles.

  22. Great, they've invented "MedBook"... by tlambert · · Score: 1

    Great, they've invented "MedBook"... what you see when you look at it is a fraction of the available data at any one time because it has "arrived" at the node where you are viewing it from yet.

    What do I have to do so that my drug allergies and blood type are "sponsored postings" so that when my doctor looks at them, he doesn't kill me due to all of the auto-play video advertisements for Cialis being there instead of the information I want to be there?

    1. Re:Great, they've invented "MedBook"... by mangobrain · · Score: 1

      Er.... what? Neither TFA nor the summary make any mention of the GUI, nor advertisements. I suppose you started with the premise that the NHS did something IT-related, automatically assumed it must be bad, and then just started randomly making stuff up.

    2. Re:Great, they've invented "MedBook"... by tlambert · · Score: 1

      Almost everything everyone complains about regarding Facebook is related to its choice of NoSQL as an underlying implementation technology:

      - You don't get to see all of your friends posts
      - Everyone who follows you isn't guaranteed to see all of your posts
      - The computational overhead of making ACID guarantees is available ... if you pay for the extra work (i.e. step back to ACID)
      - Posts show up out of order
      - A comment on an old post by someone brings the whole thing back as if it's a new post

      It follows that the other things that people complain about Facebook over are sure to follow into the NHS implementation, if they are taking that lead to its logical conclusion - meaning advertising replacing desirable content in the medical record.

  23. Proof? by Anonymous Coward · · Score: 0

    It has only been rolled out yet. Just wait for the wash of leaked covered-up inexplicable medical wrongful harm and death cases due to "incomplete information" or somesuch. That'll be a score or two years down the road at the earliest.

    What we have here is massively overpriced over-engineering getting ripped out by some jumped up kids with all the popular FOSS buzzwords but apparently no clue why Codd came up with relational algebra in the first place. I wouldn't call that proof his work is entirely unnecessary with your, or any, alacrity, no.

    If it is proof of anything it's that you can cobble up something that looks like it works just as well for nine as for five figures, and it'll be a toss-up as to how well either will work compared to the other, though both will have glaring flaws and not work quite right. We simply haven't really licked this making IT work in the real world very well yet.

    I certainly would like some data integrity guarantees in my medical records, but when I need that most I'm least equipped to complain about it.

    1. Re: Proof? by Dishwasha · · Score: 1

      You hear that? That was the giant whoosh sound that just went over your head.

  24. MUMPS by Anonymous Coward · · Score: 0

    And don't forget MUMPS!

    e.g.: http://thedailywtf.com/Articles/A_Case_of_the_MUMPS.aspx
    Search for other articles there as well.

  25. If you run a hospital, you are killing people. by emil · · Score: 1

    Medical mistakes kill nearly 100k people a year in the US, and you think removing ACID from your data store is beneficial? Where do you work - I want to know what to avoid. mistaken fatalities

    1. Re:If you run a hospital, you are killing people. by Anonymous Coward · · Score: 0

      How does an ACID database engine fix human error?

  26. ACID vs. BASE by Anonymous Coward · · Score: 0

    I think that most end-users (i.e. those needing medical care) would rather that their records be, on the whole, available.

    Similarly, in banking, it's more profitable for banks to accept & reconcile consistency errors later, rather than the system becoming unavailable.

    Commentors yelling about ACID-compliance in this thread would be totally right, _if_ the system could be ACID-compliant whilst maintaining the availability requirements. If it can't meet the availability requirements, then something has to be relaxed.

    In the health service, since a patient's record is unlikely to be modified "simultaneously" it's likely that the consistency issues are surprisingly rare, so the reconcilliation step is likely a mere formallity on most days.

    I do, however, agree that the NoSQL movment from the last couple of years has mostly been bunk. Most projects don't need 5-nines of uptime, most don't have that much data. ACID compliance makes the project measurably easier to deliver, and will often actually benefit the bottom line.

  27. I love the UK National Health System by Anonymous Coward · · Score: 0

    My wife is pregnant just like Her Grace, the Duchess of Cambridge, Kate Middleton, however unlike the Duchess, my wife was told she would have to wait 11 months time to see a specialist for her severe morning sickness.

  28. HSCIC rock by Anonymous Coward · · Score: 0

    I give them massive kudos for what they did in the face of another disastrous UK IT project that rolled on for a decade and cost the tax payer millions

    The architecture is dead interesting if you dig around online and find the papers that explain it. There's a lot more to it than just NoSQL

  29. Do You Even DBA? by Anonymous Coward · · Score: 0

    I've read through the high rated comments on this thread whilst taking a lunch break, and I'm astounded by the number of people implying (but not explicitly stating) that the C in ACID is required in an RDBMS. Some use the argument that C is the downfall of RDBMS systems which makes nosql superior.

    First off, I've designed DB code without transactions because I want eventual consistency. I've found that in many cases, you don't want to wrap that SQL batch in a transaction. The load process will eventually make the data line up by using a simple merge/upset statement later on, and that's perfectly fine in MANY use cases.

    Second, I want to point out that database admins have been scaling out rather than scaling up for decades. We know how to do this with existing tools. NoSQL is a fucking crutch for application developers that don't want to learn SQL.

    - DBA with 10 years of experience in healthcare

  30. If you run a hospital, you are killing people. by dshk · · Score: 1

    Can you read at all? He is saying among others that frequently some data (NoSQL tuned in one way) is better than no data at all (ACID). Is it better if my doctor knows only half of my previous illnesses, or if none at all in emergency?

  31. NoSQL performance by mattwarden · · Score: 1

    Performance improvements should lead to faster load times for the massive waiting lists

  32. Just this once ... by Anonymous Coward · · Score: 0

    ... it would have been more accurate to refer to "England" than to "The UK".