Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Databases Cloud Oracle United Kingdom

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

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.
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • Holy shit! (Score:5, Insightful)

    by jtownatpunk.net ( 245670 ) on Tuesday September 09, 2014 @10:11PM (#47868197)

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

    • Re: (Score:2, Funny)

      by Anonymous Coward

      Is this a big IT project that actually worked?

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

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

    • Re:Complex? (Score:5, Interesting)

      by tomhath ( 637240 ) on Tuesday September 09, 2014 @10:35PM (#47868325)
      Obviously you have never worked with HL7. One message will have hundreds, if not thousands of pieces of data.
      • Re:Complex? (Score:5, Informative)

        by jenningsthecat ( 1525947 ) on Tuesday September 09, 2014 @10:57PM (#47868455)

        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.

        • Re:Complex? (Score:5, Interesting)

          by blankinthefill ( 665181 ) <blachancNO@SPAMgmail.com> on Tuesday September 09, 2014 @11:55PM (#47868771) Journal
          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.
          • 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.

        • 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.

      • by tepples ( 727027 )

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

        Oh, you meant that HL7 [wikipedia.org].

    • What is a complex message? One with a real part and an imaginary part.
      • Yes, but if the UK Government is involved, it can be simplified by the assumption that the real part is guaranteed to be Zero!
      • 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.

  • by Anonymous Coward on Tuesday September 09, 2014 @10:14PM (#47868209)

    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!

    • by sribe ( 304414 )

      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.

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        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.

      • Re: (Score:3, Informative)

        by fluffy99 ( 870997 )

        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.

        • by Anonymous Coward on Tuesday September 09, 2014 @11:15PM (#47868565)

          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.

          • 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

        • by sribe ( 304414 )

          NoSQL stands for Not Only SQL.

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

          • 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-wr

          • 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.

    • Re: (Score:2, Funny)

      by Tablizer ( 95088 )

      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# -^',{ ~

    • 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.

    • by dshk ( 838175 )

      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. NoSQ

    • > 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 automati

    • by Anonymous Coward on Wednesday September 10, 2014 @03:43AM (#47869473)
      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.

      • 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.

        • 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 s

    • 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.

    • 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 e

  • Who knew? (Score:5, Funny)

    by namgge ( 777284 ) on Tuesday September 09, 2014 @10:17PM (#47868225)
    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.
    • by digsbo ( 1292334 )
      And I just spent mod points on roman_mir.
    • had the impression that the NHS database was a large Excel workbook

      Technically, that is NoSQL......

      • Except Excel is less prone to errors and data loss.

        • 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).
  • Mongo DB is webscale [youtube.com]
  • Fuck me, that's impressive! It even manages to track 17 million ghosts!

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

  • Impressive (Score:4, Informative)

    by Kittenman ( 971447 ) on Tuesday September 09, 2014 @10:42PM (#47868357)
    ..., 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... [theguardian.com]
  • by clovis ( 4684 ) on Tuesday September 09, 2014 @11:34PM (#47868681)

    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... [hscic.gov.uk]
    "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.

    • This data should be carried by the patient, not stored in some centralized database ripe for harvesting by third parties.
  • Bullshit Numbers (Score:4, Interesting)

    by youngone ( 975102 ) on Tuesday September 09, 2014 @11:44PM (#47868721)
    "It logs the non-clinical information on 80 million people in Britain " when the population of Britain is about 64 million.
    • Tourists and dead people.

    • by AHuxley ( 892839 )
      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.
    • Re: (Score:2, Informative)

      by Anonymous Coward

      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...

      • by jrumney ( 197329 )
        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.
    • by AmiMoJo ( 196126 ) *

      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.)

    • by gsslay ( 807818 )

      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.

  • Proof (Score:5, Funny)

    by Dishwasha ( 125561 ) on Wednesday September 10, 2014 @12:02AM (#47868799)

    That dropping ACID is not hazardous to your health.

  • by Anonymous Coward on Wednesday September 10, 2014 @01:37AM (#47869125)

    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.

  • 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?

    • 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.

Software production is assumed to be a line function, but it is run like a staff function. -- Paul Licker

Working...