際際滷

際際滷Share a Scribd company logo
Open source, high performance database


      Presentation by:
      Chris Scheich
      Phone: 703-282-1636
      Email: chris@10gen.com
      Website: www.10gen.com




                                         1
   Introduction to 10gen
   Comparison between Mumps & MongoDB
   MongoDB built for Electronic Records
   Introduction to MongoDB
   MongoDB Security
   OSEHRA / 10gen Collaboration Effort




                                           2
10gen is the company behind MongoDB.


Founded in 2007
    Dwight Merriman, Eliot Horowitz         Set the direction &
    Doubleclick, Oracle, Marklogic, HP      contribute code to
                                             MongoDB

$73M+ in Funding
                                                    Foster community &
    Flybridge, Sequoia, NEA, Union Square          ecosystem


Worldwide Expanding Team                            Provide commercial
                                                    services
    140+ employees
    NY, Palo Alto, London, Dublin, Sydney
                                                    Provide MongoDB
                                                    management services




                                                                          3
The MongoDB community and ecosystem are
expanding.
Community
9,000 people participated in 23 MongoDB Days in 2011                          Set the direction &
42 MongoDB User Groups                                                        contribute code to
Global reach with events in London, Munich, Paris, Tokyo, and Beijing         MongoDB

Ecosystem
IaaS and PaaS partners offer Cloud hosting solutions                    Foster community
MongoDB Database-as-a-Service offerings available                       & ecosystem
Business Intelligence, Security, and Hadoop integration solutions
offered by partners
Customized hardware and storage
                                                                                Provide commercial
                                                                                services


                                                                                Provide MongoDB
                                                                                management services




                                                                                                      4
10gen provides commercial services for
MongoDB.

              SUBSCRIPTIONS                                                     Set the direction &
              developer and production support, commercial                      contribute code to
                                                                                MongoDB
              license and MongoDB Subscriber Edition
                                                                        Foster community
              CONSULTING                                                & ecosystem community &
                                                                                 Foster
                                                                                 ecosystem
              expertise on a project basis


              TRAINING                                                   Provide
              for developers and administrators                          commercial
                                                                         services
MediaMath is growing fast and our data volume throughput requirements are
going up very quickly. MongoDB and 10gen have been extremely helpful             Provide MongoDB
partners for us in scaling our data infrastructure.                             management services
                                                             Vince Li




                                                                                                       5
#2 ON INDEEDS FASTEST GROWING JOBS        JASPERSOFT BIGDATA INDEX
                                                          Demand for MongoDB,
                                                          the document-oriented
                                                          NoSQL database, saw
                                                          the biggest spike with
                                                          over 200% growth in
                                                          2011.




                                                 451 GROUP
         GOOGLE SEARCHES              MONGODB INCREASING ITS DOMINANCE




                                                                                   6
   MUMPS                                            MongoDB
      Created 1960                                     Created 2009
      Document / Object oriented                       Document Oriented Database
          database                                      Designed with latest NoSQL theory
      Predates C and has a very different              Open Source Technology
          syntax and terminology                        Massive Community
   Difficult to hire people that know this             Drives innovation
    technology
                                                        Cost effective
   Expensive to maintain
                                                     Hot technology, lots of buzz, attracts
   Time consuming to change / adapt to new           sharpest and brightest minds, large user
    requirements                                      base
   Difficult to integrate with new solutions /      Easy to find resources with MongoDB skill
    technologies                                      sets
                                                     Build from ground up for Cloud
                                                      Computing Architecture



                                                                                                  7
 Examples: HL7, EDI, MARC, MODS, DDMS
 Electronic records typically document oriented in
  nature: XML, JSON, Free text, or even binary
 Massive variation in used fields
    Sparse data problem in RBMS
 Constantly evolving to support all the business cases
 Volume and velocity often in Big Data scale




                                                          8
{"ClinicalDocument": {
    "recordTarget": {
         "patientRole": {
              "patient": {
                   "name": {
                        "given": "Henry",
                        "family": "Levin",
                        "suffix": "the 7th },
                   "birthTime": {"value": 19320924} },
              "providerOrganization": {"name": "Good Health Clinic"} }
    },
    "author": {
        "time": 20000407130000+0500,
        "assignedAuthor": {
            "assignedPerson": {"name": {
                "given": "Robert",
                "family": "Dolin",
                "prefix": "Dr. } },
            "representedOrganization": { "name": "Good Health Clinic } }
    }
}



                                                                            9
MongoDB was
created to make
it easy to code,
scale, and         Agile and Scalable
manage
databases.




                                        10
 Scale horizontally over commodity hardware
 RDBMSs great so keep what works
    Ad hoc queries
    Fully featured indexes
    Secondary indexes
 What doesnt distribute well?
    Long running multi-row transactions
    Joins
    Both artifacts of the relational data model
 Do not homogenize programming interfaces
 Local storage first class citizen for DB storage
                                                     11
General      Rich data        Full featured     Sophisticated
Purpose       model             indexes        query language




                             Native language
 Easy to   Easy mapping
                              drivers in all   Simple to setup
              to object
  Use      oriented code
                                 popular
                               languages
                                                and manage




           Operates at in-                       Dynamically
 Fast &    memory speed      Auto-sharding      add / remove
Scalable     wherever
             possible
                                built in       capacity with no
                                                  downtime

                                                                  12
{
    title: MongoDB,
    contributors: [
       { name: Eliot Horowitz,
         email: eliot@10gen.com },
       { name: Dwight Merriman,
         email: dwight@10gen.com }
    ],
    model: {
        relational: false,
        awesome: true
    }
}




                                       13
MySQL                               MongoDB

START TRANSACTION;                  db.contacts.save( {
INSERT INTO contacts VALUES           userName: joeblow,
   (NULL, joeblow);                 emailAddresses: [
INSERT INTO contact_emails VALUES       joe@blow.com,
  ( NULL, joe@blow.com,               joseph@blow.com ] } );
    LAST_INSERT_ID() ),
  ( NULL, joseph@blow.com,
    LAST_INSERT_ID() );
COMMIT;




                                                                   14
15
   MongoDB does not need any pre-defined data schema
   Every document could have different data!


    {name: will,                     {name: brendan,
     eyes: blue,                      aliases: [el diablo]}
     birthplace: NY,
     aliases: [bill, la
    ciacco],                          {name: matt,
     loc: [32.7, 63.4],                 pizza: DiGiorno,
     boss: ben}                       height: 72,
                                        loc: [44.6, 71.3]}




                                                                  16
Better data locality            In-Memory
                                                                            Distributed Architecture
                                  Caching




                                                          Replication /HA
                                                          Replication /HA
 Relational   MongoDB                                                             Horizontal Scaling




                        We just can't get any faster than the way MongoDB handles our data.
                                                                                                     Tony Tam
                                                                                                  CTO, Wordnik

                                                                                                                 17
 SSL
    between client and server
    Intra-cluster communication
 Authorization at the database level
    Read Only/Read+Write/Administrator
 Security Roadmap (tentative)
      Pluggable authentication (PAM) 2.4
      Auditing 2.4
      Cell level security 2.6
      Common Criteria certification

                                            18
NoSQL is
popular for     MongoDB makes
                                      10gen is the
development &   it easy to code,
                                   company behind
deployment of       scale, and
                                        MongoDB
data-centric    operate NoSQL.
applications.




                                                     19
 MongoDB is open source and there is no cost to
  download and use it
 10gen are experts in database technology
 OSEHRA are experts in Healthcare solutions
 Combine 10gen and OSEHRA expertise to build a
  working prototype that will directly benefit our
  Veterans Healthcare




                                                     20

More Related Content

Mongodb open source_high_performance_database

  • 1. Open source, high performance database Presentation by: Chris Scheich Phone: 703-282-1636 Email: chris@10gen.com Website: www.10gen.com 1
  • 2. Introduction to 10gen Comparison between Mumps & MongoDB MongoDB built for Electronic Records Introduction to MongoDB MongoDB Security OSEHRA / 10gen Collaboration Effort 2
  • 3. 10gen is the company behind MongoDB. Founded in 2007 Dwight Merriman, Eliot Horowitz Set the direction & Doubleclick, Oracle, Marklogic, HP contribute code to MongoDB $73M+ in Funding Foster community & Flybridge, Sequoia, NEA, Union Square ecosystem Worldwide Expanding Team Provide commercial services 140+ employees NY, Palo Alto, London, Dublin, Sydney Provide MongoDB management services 3
  • 4. The MongoDB community and ecosystem are expanding. Community 9,000 people participated in 23 MongoDB Days in 2011 Set the direction & 42 MongoDB User Groups contribute code to Global reach with events in London, Munich, Paris, Tokyo, and Beijing MongoDB Ecosystem IaaS and PaaS partners offer Cloud hosting solutions Foster community MongoDB Database-as-a-Service offerings available & ecosystem Business Intelligence, Security, and Hadoop integration solutions offered by partners Customized hardware and storage Provide commercial services Provide MongoDB management services 4
  • 5. 10gen provides commercial services for MongoDB. SUBSCRIPTIONS Set the direction & developer and production support, commercial contribute code to MongoDB license and MongoDB Subscriber Edition Foster community CONSULTING & ecosystem community & Foster ecosystem expertise on a project basis TRAINING Provide for developers and administrators commercial services MediaMath is growing fast and our data volume throughput requirements are going up very quickly. MongoDB and 10gen have been extremely helpful Provide MongoDB partners for us in scaling our data infrastructure. management services Vince Li 5
  • 6. #2 ON INDEEDS FASTEST GROWING JOBS JASPERSOFT BIGDATA INDEX Demand for MongoDB, the document-oriented NoSQL database, saw the biggest spike with over 200% growth in 2011. 451 GROUP GOOGLE SEARCHES MONGODB INCREASING ITS DOMINANCE 6
  • 7. MUMPS MongoDB Created 1960 Created 2009 Document / Object oriented Document Oriented Database database Designed with latest NoSQL theory Predates C and has a very different Open Source Technology syntax and terminology Massive Community Difficult to hire people that know this Drives innovation technology Cost effective Expensive to maintain Hot technology, lots of buzz, attracts Time consuming to change / adapt to new sharpest and brightest minds, large user requirements base Difficult to integrate with new solutions / Easy to find resources with MongoDB skill technologies sets Build from ground up for Cloud Computing Architecture 7
  • 8. Examples: HL7, EDI, MARC, MODS, DDMS Electronic records typically document oriented in nature: XML, JSON, Free text, or even binary Massive variation in used fields Sparse data problem in RBMS Constantly evolving to support all the business cases Volume and velocity often in Big Data scale 8
  • 9. {"ClinicalDocument": { "recordTarget": { "patientRole": { "patient": { "name": { "given": "Henry", "family": "Levin", "suffix": "the 7th }, "birthTime": {"value": 19320924} }, "providerOrganization": {"name": "Good Health Clinic"} } }, "author": { "time": 20000407130000+0500, "assignedAuthor": { "assignedPerson": {"name": { "given": "Robert", "family": "Dolin", "prefix": "Dr. } }, "representedOrganization": { "name": "Good Health Clinic } } } } 9
  • 10. MongoDB was created to make it easy to code, scale, and Agile and Scalable manage databases. 10
  • 11. Scale horizontally over commodity hardware RDBMSs great so keep what works Ad hoc queries Fully featured indexes Secondary indexes What doesnt distribute well? Long running multi-row transactions Joins Both artifacts of the relational data model Do not homogenize programming interfaces Local storage first class citizen for DB storage 11
  • 12. General Rich data Full featured Sophisticated Purpose model indexes query language Native language Easy to Easy mapping drivers in all Simple to setup to object Use oriented code popular languages and manage Operates at in- Dynamically Fast & memory speed Auto-sharding add / remove Scalable wherever possible built in capacity with no downtime 12
  • 13. { title: MongoDB, contributors: [ { name: Eliot Horowitz, email: eliot@10gen.com }, { name: Dwight Merriman, email: dwight@10gen.com } ], model: { relational: false, awesome: true } } 13
  • 14. MySQL MongoDB START TRANSACTION; db.contacts.save( { INSERT INTO contacts VALUES userName: joeblow, (NULL, joeblow); emailAddresses: [ INSERT INTO contact_emails VALUES joe@blow.com, ( NULL, joe@blow.com, joseph@blow.com ] } ); LAST_INSERT_ID() ), ( NULL, joseph@blow.com, LAST_INSERT_ID() ); COMMIT; 14
  • 15. 15
  • 16. MongoDB does not need any pre-defined data schema Every document could have different data! {name: will, {name: brendan, eyes: blue, aliases: [el diablo]} birthplace: NY, aliases: [bill, la ciacco], {name: matt, loc: [32.7, 63.4], pizza: DiGiorno, boss: ben} height: 72, loc: [44.6, 71.3]} 16
  • 17. Better data locality In-Memory Distributed Architecture Caching Replication /HA Replication /HA Relational MongoDB Horizontal Scaling We just can't get any faster than the way MongoDB handles our data. Tony Tam CTO, Wordnik 17
  • 18. SSL between client and server Intra-cluster communication Authorization at the database level Read Only/Read+Write/Administrator Security Roadmap (tentative) Pluggable authentication (PAM) 2.4 Auditing 2.4 Cell level security 2.6 Common Criteria certification 18
  • 19. NoSQL is popular for MongoDB makes 10gen is the development & it easy to code, company behind deployment of scale, and MongoDB data-centric operate NoSQL. applications. 19
  • 20. MongoDB is open source and there is no cost to download and use it 10gen are experts in database technology OSEHRA are experts in Healthcare solutions Combine 10gen and OSEHRA expertise to build a working prototype that will directly benefit our Veterans Healthcare 20