Mumps The Internet-scale Database Rob Tweed M/Gateway Developments Ltd & George James George James Software
Introduction What’s Mumps? A relatively little-known non-relational database technology Available in both proprietary and free, open source versions Why is it becoming interesting? Its core features perfectly meet today’s needs for Internet-scale databases It’s a tried and tested technology
Internet-scale database challenges Rapid growth and unpredictable demand Low cost Low maintenance Ultra-high reliability and resilience Flexibility Simplicity Ultra-high performance
Internet-scale database challenges Rapid growth and unpredictable demand Scale from no activity to sudden huge demand  (Slashdot, Digg, TechCrunch) Disaster brought on by success Daily/seasonal spikes
Internet-scale database challenges Low cost At startup: No traffic, no revenue Uncertain future:  Little traffic? Massive success? Proprietary databases are too expensive mySQL and Postgres have become the default choices If successful: Must be able to scale, but at low incremental cost Budgets are tight Ideally free and open source
Internet-scale database challenges Low maintenance Quick and simple to get started DBA resources are expensive Downtime for tuning: At best annoying At worst highly disruptive and costly Ideally fire up and forget! Photo:  © Gerrit van Aaken CC-BY 2.0
Internet-scale database challenges Ultra-high reliability and resilience The Net works 24 x 7 So must your applications! Redundancy and replication Load balancing Hardware hot-swapping
Internet-scale database challenges Flexibility Impossible to design everything  perfectly at the outset Requirements evolve and expand Database redesign: Must not be costly Must not be time-consuming Cannot be “painted into a corner”  by your DBMS
Internet-scale database challenges Simplicity Less moving parts is always  a better option Associated running costs Maintenance implications Reliability concerns Speed of development Initial (time to market) Ongoing (reactivity to market)
Internet-scale database challenges Ultra-high performance Massive potential concurrent users Maximum throughput Minimum hardware Capital/revenue costs Energy costs CO 2  emissions Costs of physical space
Does anything fit the bill?
Relational? Rapid growth and unpredictable demand Scalability at high end is generally recognised as problematic Low cost Proprietary RDBMS too costly Heavy hardware requirements Low maintenance DBA essential and retuning constantly required Ultra-high reliability and resilience At a cost! Flexibility RDBMS schemas are too rigid Getting the initial design wrong could be expensive or fatal Schema migration is impractical without downtime Simplicity Most RDBMS are complex beasts Ultra-high performance Perhaps, but only at eye-wateringly high cost The relational table model does not naturally fit much of the data on the Net
Alternatives? These demands have stimulated the emergence of “new kids on the block”: Amazon simpleDB couchDB objectKitchen strokeDB dovetailDB Poseidon Google BigTable
Tried and tested? Will these scale? Are they cost-effective at low and high scales? Are they robust, resilient and reliable enough? Will they allow automated recovery? Will they protect against database corruption if the service is disrupted?
Emerging features These alternatives all exhibit features that buck the established RDBMS trend: Schemaless and/or Hierarchical
Schemaless database benefits High-speed development No schema migration required Flexibility Agility = reactivity to market requirements Dynamic extension of database structures Reduced baggage = higher performance
Hierarchical database benefits Natural mapping to XML and JSON Easy to navigate Easy to code against Associated data is clustered naturally leading to high performance B-tree implementations derive extremely high performance Easy to partition across multiple devices
Why re-invent the wheel?
Mumps Tried and tested In production use for over 30 years across the world Has quietly and reliably underpinned healthcare and financial services Schemaless Hierarchical Proven high performance Proven reliabilty Two main implementations: GT.M (open source) Cach é  (proprietary)
Mumps  is  Internet-scale Rapid growth and unpredictable demand Massively scalable Already meeting the needs of huge user-bases Low cost GT.M is free Exceptionally efficient use of hardware resources Low maintenance No DBA requirement and no need for constant tuning Non-stop, lights-out operation Ultra-high reliability and resilience Tried and tested to meet the demands of large healthcare and financial services organisations Flexibility Schemaless model = dynamic ongoing change without disruptive redesign and rebuilding Extremely fast development and maintenance Simplicity Hierarchical database model naturally fits the modern XML and JSON-oriented view of data Ultra-high performance Mumps systems are renowned for astonishing levels of performance and throughput 50% to 100% faster than many conventional databases Much less hardware = less cost, less CO 2
Mumps is freedom Dynamic free-form nature of the schemaless, hierarchical database Raw, flexible palette on which you can build your own value-added layers Unconstrained by the rigours of the relational model A natural fit for the hierarchical structures in XML and JSON
Mumps is open Interoperates and integrates with any other language Cach é Built-in connectors for Java, .Net and web services Built-in XML support GT.M M/Gateway’s MGWSI gateway provides integration with: PHP, Java, .Net, Ruby, Python, Perl web services and REST M/Gateway’s eXtc and EWD products provide XML and JSON support Also has its own built-in scripting language
Mumps is here GT.M http://www.fis-gtm.com   Cach é   http://www.intersystems.com Background information http://en.wikipedia.org/wiki/MUMPS http://www.mgateway.com http://gradvs1.mgateway.com/download/extreme1.pdf  http://www.georgejames.com
Mumps The tried-and-tested  Internet-scale database

Mumps the Internet scale database

  • 1.
    Mumps The Internet-scaleDatabase Rob Tweed M/Gateway Developments Ltd & George James George James Software
  • 2.
    Introduction What’s Mumps?A relatively little-known non-relational database technology Available in both proprietary and free, open source versions Why is it becoming interesting? Its core features perfectly meet today’s needs for Internet-scale databases It’s a tried and tested technology
  • 3.
    Internet-scale database challengesRapid growth and unpredictable demand Low cost Low maintenance Ultra-high reliability and resilience Flexibility Simplicity Ultra-high performance
  • 4.
    Internet-scale database challengesRapid growth and unpredictable demand Scale from no activity to sudden huge demand (Slashdot, Digg, TechCrunch) Disaster brought on by success Daily/seasonal spikes
  • 5.
    Internet-scale database challengesLow cost At startup: No traffic, no revenue Uncertain future: Little traffic? Massive success? Proprietary databases are too expensive mySQL and Postgres have become the default choices If successful: Must be able to scale, but at low incremental cost Budgets are tight Ideally free and open source
  • 6.
    Internet-scale database challengesLow maintenance Quick and simple to get started DBA resources are expensive Downtime for tuning: At best annoying At worst highly disruptive and costly Ideally fire up and forget! Photo: © Gerrit van Aaken CC-BY 2.0
  • 7.
    Internet-scale database challengesUltra-high reliability and resilience The Net works 24 x 7 So must your applications! Redundancy and replication Load balancing Hardware hot-swapping
  • 8.
    Internet-scale database challengesFlexibility Impossible to design everything perfectly at the outset Requirements evolve and expand Database redesign: Must not be costly Must not be time-consuming Cannot be “painted into a corner” by your DBMS
  • 9.
    Internet-scale database challengesSimplicity Less moving parts is always a better option Associated running costs Maintenance implications Reliability concerns Speed of development Initial (time to market) Ongoing (reactivity to market)
  • 10.
    Internet-scale database challengesUltra-high performance Massive potential concurrent users Maximum throughput Minimum hardware Capital/revenue costs Energy costs CO 2 emissions Costs of physical space
  • 11.
  • 12.
    Relational? Rapid growthand unpredictable demand Scalability at high end is generally recognised as problematic Low cost Proprietary RDBMS too costly Heavy hardware requirements Low maintenance DBA essential and retuning constantly required Ultra-high reliability and resilience At a cost! Flexibility RDBMS schemas are too rigid Getting the initial design wrong could be expensive or fatal Schema migration is impractical without downtime Simplicity Most RDBMS are complex beasts Ultra-high performance Perhaps, but only at eye-wateringly high cost The relational table model does not naturally fit much of the data on the Net
  • 13.
    Alternatives? These demandshave stimulated the emergence of “new kids on the block”: Amazon simpleDB couchDB objectKitchen strokeDB dovetailDB Poseidon Google BigTable
  • 14.
    Tried and tested?Will these scale? Are they cost-effective at low and high scales? Are they robust, resilient and reliable enough? Will they allow automated recovery? Will they protect against database corruption if the service is disrupted?
  • 15.
    Emerging features Thesealternatives all exhibit features that buck the established RDBMS trend: Schemaless and/or Hierarchical
  • 16.
    Schemaless database benefitsHigh-speed development No schema migration required Flexibility Agility = reactivity to market requirements Dynamic extension of database structures Reduced baggage = higher performance
  • 17.
    Hierarchical database benefitsNatural mapping to XML and JSON Easy to navigate Easy to code against Associated data is clustered naturally leading to high performance B-tree implementations derive extremely high performance Easy to partition across multiple devices
  • 18.
  • 19.
    Mumps Tried andtested In production use for over 30 years across the world Has quietly and reliably underpinned healthcare and financial services Schemaless Hierarchical Proven high performance Proven reliabilty Two main implementations: GT.M (open source) Cach é (proprietary)
  • 20.
    Mumps is Internet-scale Rapid growth and unpredictable demand Massively scalable Already meeting the needs of huge user-bases Low cost GT.M is free Exceptionally efficient use of hardware resources Low maintenance No DBA requirement and no need for constant tuning Non-stop, lights-out operation Ultra-high reliability and resilience Tried and tested to meet the demands of large healthcare and financial services organisations Flexibility Schemaless model = dynamic ongoing change without disruptive redesign and rebuilding Extremely fast development and maintenance Simplicity Hierarchical database model naturally fits the modern XML and JSON-oriented view of data Ultra-high performance Mumps systems are renowned for astonishing levels of performance and throughput 50% to 100% faster than many conventional databases Much less hardware = less cost, less CO 2
  • 21.
    Mumps is freedomDynamic free-form nature of the schemaless, hierarchical database Raw, flexible palette on which you can build your own value-added layers Unconstrained by the rigours of the relational model A natural fit for the hierarchical structures in XML and JSON
  • 22.
    Mumps is openInteroperates and integrates with any other language Cach é Built-in connectors for Java, .Net and web services Built-in XML support GT.M M/Gateway’s MGWSI gateway provides integration with: PHP, Java, .Net, Ruby, Python, Perl web services and REST M/Gateway’s eXtc and EWD products provide XML and JSON support Also has its own built-in scripting language
  • 23.
    Mumps is hereGT.M http://www.fis-gtm.com Cach é http://www.intersystems.com Background information http://en.wikipedia.org/wiki/MUMPS http://www.mgateway.com http://gradvs1.mgateway.com/download/extreme1.pdf http://www.georgejames.com
  • 24.
    Mumps The tried-and-tested Internet-scale database