SlideShare une entreprise Scribd logo
1  sur  16
A Taste of
                      InfoGrid™

              This presentation contains 6 slides (with build-ups).
Please listen to audio as you go through the slides, or read through the notes.

                                  July 2009




                                                                           infogrid.org
How Do You Build Your Web
      Applications?

                     Ruby on Rails
       J2EE



                           Python
      PHP


              .NET     …




                                     infogrid.org
RDBMS-Centric Architecture

Browser
 Browser    Browser
             Browser    Browser
                         Browser
  Browser     Browser     Browser


        Application
         Application
           Application
          Server
            Server
              Server



             RDBMS




                                     infogrid.org
RDBMS-Centric Architecture

Browser
 Browser    Browser
             Browser    Browser
                         Browser
  Browser     Browser     Browser
                                    Major problems:
                                     1.RDBMS joins don’t scale.
        Application
         Application
           Application
          Server
            Server
              Server



             RDBMS




                                                                  infogrid.org
RDBMS-Centric Architecture

Browser
 Browser    Browser
             Browser    Browser
                         Browser
  Browser     Browser     Browser
                                    Major problems:
                                     1.RDBMS joins don’t scale.
        Application
         Application
           Application               2.Tables are not web native at all.
          Server
            Server
              Server



             RDBMS




                                                                  infogrid.org
RDBMS-Centric Architecture

Browser
 Browser    Browser
             Browser    Browser
                         Browser
  Browser     Browser     Browser
                                    Major problems:
                                     1.RDBMS joins don’t scale.
        Application
         Application
           Application               2.Tables are not web native at all.
          Server
            Server
              Server
                                     3.Most of the data important to
                                       applications lives elsewhere.

             RDBMS




                                                                  infogrid.org
High-Level InfoGrid Features
                       • (Blob) Store abstraction w/ a variety of implementations
• RDBMS joins
                         (e.g. files, MySQL, Hadoop, S3…) and automatic mapping
  don’t scale
                       • Conceptual model/schema w/ run-time enforcement



• Tables are not
  web native at all


• Most of the data
  important to
  applications lives
  elsewhere




                                                                          infogrid.org
High-Level InfoGrid Features
                       • (Blob) Store abstraction w/ a variety of implementations
• RDBMS joins            (e.g. files, MySQL, Hadoop, S3…) and automatic mapping
  don’t scale          • Conceptual model/schema w/ run-time enforcement
                       • Graph traversal instead of joins


• Tables are not
  web native at all


• Most of the data
  important to
  applications lives
  elsewhere




                                                                          infogrid.org
High-Level InfoGrid Features
                       • (Blob) Store abstraction w/ a variety of implementations
• RDBMS joins            (e.g. files, MySQL, Hadoop, S3…) and automatic mapping
  don’t scale          • Conceptual model/schema w/ run-time enforcement
                       • Graph traversal instead of joins

                       • All data objects automatically have a URL (REST-ful);
• Tables are not
                         multiple output representations for each URL
  web native at all


• Most of the data
  important to
  applications lives
  elsewhere




                                                                           infogrid.org
High-Level InfoGrid Features
                       • (Blob) Store abstraction w/ a variety of implementations
• RDBMS joins            (e.g. files, MySQL, Hadoop, S3…) and automatic mapping
  don’t scale          • Conceptual model/schema w/ run-time enforcement
                       • Graph traversal instead of joins

                       • All data objects automatically have a URL (REST-ful);
• Tables are not
                         multiple output representations for each URL
  web native at all
                       • Objects can change type(s) at run-time

• Most of the data
  important to
  applications lives
  elsewhere




                                                                           infogrid.org
High-Level InfoGrid Features
                       • (Blob) Store abstraction w/ a variety of implementations
• RDBMS joins            (e.g. files, MySQL, Hadoop, S3…) and automatic mapping
  don’t scale          • Conceptual model/schema w/ run-time enforcement
                       • Graph traversal instead of joins

                       • All data objects automatically have a URL (REST-ful);
• Tables are not         multiple output representations for each URL
  web native at all    • Objects can change type(s) at run-time
                       • Cached in memory until not needed any more

• Most of the data
  important to
  applications lives
  elsewhere




                                                                           infogrid.org
High-Level InfoGrid Features
                       • (Blob) Store abstraction w/ a variety of implementations
• RDBMS joins            (e.g. files, MySQL, Hadoop, S3…) and automatic mapping
  don’t scale          • Conceptual model/schema w/ run-time enforcement
                       • Graph traversal instead of joins

                       • All data objects automatically have a URL (REST-ful);
• Tables are not         multiple output representations for each URL
  web native at all    • Objects can change type(s) at run-time
                       • Cached in memory until not needed any more

• Most of the data     • XPRISO and Probe framework automatically make
  important to           external data appear as local/native
  applications lives   • Automatic/adaptive, incremental updates w/ events
  elsewhere            • Library of Probes




                                                                           infogrid.org
High-Level InfoGrid Features
                       • (Blob) Store abstraction w/ a variety of implementations
• RDBMS joins            (e.g. files, MySQL, Hadoop, S3…) and automatic mapping
  don’t scale          • Conceptual model/schema w/ run-time enforcement
                       • Graph traversal instead of joins

                       • All data objects automatically have a URL (REST-ful);
• Tables are not         multiple output representations for each URL
  web native at all    • Objects can change type(s) at run-time
                       • Cached in memory until not needed any more

• Most of the data     • XPRISO and Probe framework automatically make
  important to           external data appear as local/native
  applications lives   • Automatic/adaptive, incremental updates w/ events
  elsewhere            • Library of Probes

    Plus: GUI template framework, complex traversals and events, ability to
    distribute P2P-style, modules, identity awareness and much more…


                                                                           infogrid.org
Why InfoGrid Matters (We Think)
Makes a lot of development work unnecessary
   ➡   faster development
   ➡   higher application quality
   ➡   higher deployment flexibility
   ➡   lower development cost




                                              infogrid.org
Why InfoGrid Matters (We Think)
Makes a lot of development work unnecessary
   ➡   faster development
   ➡   higher application quality
   ➡   higher deployment flexibility
   ➡   lower development cost




No more:
   Database sharding in the application layer, O/R mapping, custom
   data import, code for event detection and generation, spaghetti
   code mixing data access/storage/refresh/GUI, total rewrites for
   S3/Hadoop/...




                                                                     infogrid.org
This concludes:



                  A Taste of
                  InfoGrid™

                   For more information:
                       infogrid.org




                                           infogrid.org

Contenu connexe

Tendances

Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver GierkeSpring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
JAX London
 
Microsoft's Big Play for Big Data
Microsoft's Big Play for Big DataMicrosoft's Big Play for Big Data
Microsoft's Big Play for Big Data
Andrew Brust
 
Geek Sync | Designing Data Intensive Cloud Native Applications
Geek Sync | Designing Data Intensive Cloud Native ApplicationsGeek Sync | Designing Data Intensive Cloud Native Applications
Geek Sync | Designing Data Intensive Cloud Native Applications
IDERA Software
 
Hitchhiker’s Guide to SharePoint BI
Hitchhiker’s Guide to SharePoint BIHitchhiker’s Guide to SharePoint BI
Hitchhiker’s Guide to SharePoint BI
Andrew Brust
 

Tendances (18)

The technology of the Human Protein Reference Database (draft, 2003)
The technology of the Human Protein Reference Database (draft, 2003)The technology of the Human Protein Reference Database (draft, 2003)
The technology of the Human Protein Reference Database (draft, 2003)
 
Drill njhug -19 feb2013
Drill njhug -19 feb2013Drill njhug -19 feb2013
Drill njhug -19 feb2013
 
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver GierkeSpring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
Spring Day | Data Access 2.0? Please Welcome Spring Data! | Oliver Gierke
 
Microsoft's Big Play for Big Data
Microsoft's Big Play for Big DataMicrosoft's Big Play for Big Data
Microsoft's Big Play for Big Data
 
Big Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision MakerBig Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision Maker
 
Big Data on the Microsoft Platform
Big Data on the Microsoft PlatformBig Data on the Microsoft Platform
Big Data on the Microsoft Platform
 
Geek Sync | Designing Data Intensive Cloud Native Applications
Geek Sync | Designing Data Intensive Cloud Native ApplicationsGeek Sync | Designing Data Intensive Cloud Native Applications
Geek Sync | Designing Data Intensive Cloud Native Applications
 
NoSQL: An Analysis
NoSQL: An AnalysisNoSQL: An Analysis
NoSQL: An Analysis
 
Chicago HUG Presentation Oct 2011
Chicago HUG Presentation Oct 2011Chicago HUG Presentation Oct 2011
Chicago HUG Presentation Oct 2011
 
Hitchhiker’s Guide to SharePoint BI
Hitchhiker’s Guide to SharePoint BIHitchhiker’s Guide to SharePoint BI
Hitchhiker’s Guide to SharePoint BI
 
A Survey of Petabyte Scale Databases and Storage Systems Deployed at Facebook
A Survey of Petabyte Scale Databases and Storage Systems Deployed at FacebookA Survey of Petabyte Scale Databases and Storage Systems Deployed at Facebook
A Survey of Petabyte Scale Databases and Storage Systems Deployed at Facebook
 
Hadoop Ecosystem Overview
Hadoop Ecosystem OverviewHadoop Ecosystem Overview
Hadoop Ecosystem Overview
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
 
piyush_
piyush_piyush_
piyush_
 
NoSQL Databases: Why, what and when
NoSQL Databases: Why, what and whenNoSQL Databases: Why, what and when
NoSQL Databases: Why, what and when
 
NoSQL databases and managing big data
NoSQL databases and managing big dataNoSQL databases and managing big data
NoSQL databases and managing big data
 
Hadoop jon
Hadoop jonHadoop jon
Hadoop jon
 
OVERVIEW OF FACEBOOK SCALABLE ARCHITECTURE.
OVERVIEW  OF FACEBOOK SCALABLE ARCHITECTURE.OVERVIEW  OF FACEBOOK SCALABLE ARCHITECTURE.
OVERVIEW OF FACEBOOK SCALABLE ARCHITECTURE.
 

Similaire à A Taste Of InfoGrid

Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
Don Demcsak
 
The elephantintheroom bigdataanalyticsinthecloud
The elephantintheroom bigdataanalyticsinthecloudThe elephantintheroom bigdataanalyticsinthecloud
The elephantintheroom bigdataanalyticsinthecloud
Khazret Sapenov
 
Big Data Strategy for the Relational World
Big Data Strategy for the Relational World Big Data Strategy for the Relational World
Big Data Strategy for the Relational World
Andrew Brust
 

Similaire à A Taste Of InfoGrid (20)

Sql vs NoSQL
Sql vs NoSQLSql vs NoSQL
Sql vs NoSQL
 
Bigdata and Hadoop with Docker
Bigdata and Hadoop with DockerBigdata and Hadoop with Docker
Bigdata and Hadoop with Docker
 
20120306 dublin js
20120306 dublin js20120306 dublin js
20120306 dublin js
 
NoSQL on the move
NoSQL on the moveNoSQL on the move
NoSQL on the move
 
MongoDB 2.4 and spring data
MongoDB 2.4 and spring dataMongoDB 2.4 and spring data
MongoDB 2.4 and spring data
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learn
 
When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDB
 
The elephantintheroom bigdataanalyticsinthecloud
The elephantintheroom bigdataanalyticsinthecloudThe elephantintheroom bigdataanalyticsinthecloud
The elephantintheroom bigdataanalyticsinthecloud
 
Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skies
 
Redis meetup
Redis meetupRedis meetup
Redis meetup
 
What ya gonna do?
What ya gonna do?What ya gonna do?
What ya gonna do?
 
Big Data Strategy for the Relational World
Big Data Strategy for the Relational World Big Data Strategy for the Relational World
Big Data Strategy for the Relational World
 
Big Data Developers Moscow Meetup 1 - sql on hadoop
Big Data Developers Moscow Meetup 1  - sql on hadoopBig Data Developers Moscow Meetup 1  - sql on hadoop
Big Data Developers Moscow Meetup 1 - sql on hadoop
 
Enkitec E4 Barcelona : SQL and Data Integration Futures on Hadoop :
Enkitec E4 Barcelona : SQL and Data Integration Futures on Hadoop : Enkitec E4 Barcelona : SQL and Data Integration Futures on Hadoop :
Enkitec E4 Barcelona : SQL and Data Integration Futures on Hadoop :
 
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, EgyptSQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
 
Drill lightning-london-big-data-10-01-2012
Drill lightning-london-big-data-10-01-2012Drill lightning-london-big-data-10-01-2012
Drill lightning-london-big-data-10-01-2012
 
Scaling Databases On The Cloud
Scaling Databases On The CloudScaling Databases On The Cloud
Scaling Databases On The Cloud
 
Scaing databases on the cloud
Scaing databases on the cloudScaing databases on the cloud
Scaing databases on the cloud
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

A Taste Of InfoGrid

  • 1. A Taste of InfoGrid™ This presentation contains 6 slides (with build-ups). Please listen to audio as you go through the slides, or read through the notes. July 2009 infogrid.org
  • 2. How Do You Build Your Web Applications? Ruby on Rails J2EE Python PHP .NET … infogrid.org
  • 3. RDBMS-Centric Architecture Browser Browser Browser Browser Browser Browser Browser Browser Browser Application Application Application Server Server Server RDBMS infogrid.org
  • 4. RDBMS-Centric Architecture Browser Browser Browser Browser Browser Browser Browser Browser Browser Major problems: 1.RDBMS joins don’t scale. Application Application Application Server Server Server RDBMS infogrid.org
  • 5. RDBMS-Centric Architecture Browser Browser Browser Browser Browser Browser Browser Browser Browser Major problems: 1.RDBMS joins don’t scale. Application Application Application 2.Tables are not web native at all. Server Server Server RDBMS infogrid.org
  • 6. RDBMS-Centric Architecture Browser Browser Browser Browser Browser Browser Browser Browser Browser Major problems: 1.RDBMS joins don’t scale. Application Application Application 2.Tables are not web native at all. Server Server Server 3.Most of the data important to applications lives elsewhere. RDBMS infogrid.org
  • 7. High-Level InfoGrid Features • (Blob) Store abstraction w/ a variety of implementations • RDBMS joins (e.g. files, MySQL, Hadoop, S3…) and automatic mapping don’t scale • Conceptual model/schema w/ run-time enforcement • Tables are not web native at all • Most of the data important to applications lives elsewhere infogrid.org
  • 8. High-Level InfoGrid Features • (Blob) Store abstraction w/ a variety of implementations • RDBMS joins (e.g. files, MySQL, Hadoop, S3…) and automatic mapping don’t scale • Conceptual model/schema w/ run-time enforcement • Graph traversal instead of joins • Tables are not web native at all • Most of the data important to applications lives elsewhere infogrid.org
  • 9. High-Level InfoGrid Features • (Blob) Store abstraction w/ a variety of implementations • RDBMS joins (e.g. files, MySQL, Hadoop, S3…) and automatic mapping don’t scale • Conceptual model/schema w/ run-time enforcement • Graph traversal instead of joins • All data objects automatically have a URL (REST-ful); • Tables are not multiple output representations for each URL web native at all • Most of the data important to applications lives elsewhere infogrid.org
  • 10. High-Level InfoGrid Features • (Blob) Store abstraction w/ a variety of implementations • RDBMS joins (e.g. files, MySQL, Hadoop, S3…) and automatic mapping don’t scale • Conceptual model/schema w/ run-time enforcement • Graph traversal instead of joins • All data objects automatically have a URL (REST-ful); • Tables are not multiple output representations for each URL web native at all • Objects can change type(s) at run-time • Most of the data important to applications lives elsewhere infogrid.org
  • 11. High-Level InfoGrid Features • (Blob) Store abstraction w/ a variety of implementations • RDBMS joins (e.g. files, MySQL, Hadoop, S3…) and automatic mapping don’t scale • Conceptual model/schema w/ run-time enforcement • Graph traversal instead of joins • All data objects automatically have a URL (REST-ful); • Tables are not multiple output representations for each URL web native at all • Objects can change type(s) at run-time • Cached in memory until not needed any more • Most of the data important to applications lives elsewhere infogrid.org
  • 12. High-Level InfoGrid Features • (Blob) Store abstraction w/ a variety of implementations • RDBMS joins (e.g. files, MySQL, Hadoop, S3…) and automatic mapping don’t scale • Conceptual model/schema w/ run-time enforcement • Graph traversal instead of joins • All data objects automatically have a URL (REST-ful); • Tables are not multiple output representations for each URL web native at all • Objects can change type(s) at run-time • Cached in memory until not needed any more • Most of the data • XPRISO and Probe framework automatically make important to external data appear as local/native applications lives • Automatic/adaptive, incremental updates w/ events elsewhere • Library of Probes infogrid.org
  • 13. High-Level InfoGrid Features • (Blob) Store abstraction w/ a variety of implementations • RDBMS joins (e.g. files, MySQL, Hadoop, S3…) and automatic mapping don’t scale • Conceptual model/schema w/ run-time enforcement • Graph traversal instead of joins • All data objects automatically have a URL (REST-ful); • Tables are not multiple output representations for each URL web native at all • Objects can change type(s) at run-time • Cached in memory until not needed any more • Most of the data • XPRISO and Probe framework automatically make important to external data appear as local/native applications lives • Automatic/adaptive, incremental updates w/ events elsewhere • Library of Probes Plus: GUI template framework, complex traversals and events, ability to distribute P2P-style, modules, identity awareness and much more… infogrid.org
  • 14. Why InfoGrid Matters (We Think) Makes a lot of development work unnecessary ➡ faster development ➡ higher application quality ➡ higher deployment flexibility ➡ lower development cost infogrid.org
  • 15. Why InfoGrid Matters (We Think) Makes a lot of development work unnecessary ➡ faster development ➡ higher application quality ➡ higher deployment flexibility ➡ lower development cost No more: Database sharding in the application layer, O/R mapping, custom data import, code for event detection and generation, spaghetti code mixing data access/storage/refresh/GUI, total rewrites for S3/Hadoop/... infogrid.org
  • 16. This concludes: A Taste of InfoGrid™ For more information: infogrid.org infogrid.org

Notes de l'éditeur

  1. How can InfoGrid be explained in 6 slides? Well, we will try anyway. And if you’d like more than a taste, go get seconds at infogrid.org.
  2. There are many ways in which developers build web applications today. Some are shown on this slide. I’m sure you know some developers who are almost religiously convinced that their language of choice is vastly better than some other languages on this chart. But the truth is that all of these approaches are much closer to each other than it might look, because they all use the same architecture.
  3. This architecture could be called a relational database-centric architecture. The RDBMS-centric architecture assumes that there is a single relational database for the application. This database is accessed by one or more application servers in the languages we discussed, and serves so many concurrent users with web browsers. The RDBMS-centric architecture was well established long before the web, and has been essentially the same for the past 40 years. But in the age of Web 2.0, it is showing its strains:
  4. Ask any developer of a high-volume website, and they will tell you that joins in relational databases don’t scale, and that they have to spend substantial amounts of precious developer time and budget to avoid them. It’s difficult to avoid joins because they are the very reason relational databases were invented in the first place! Some sites go as far as eBay does, which has banned the use of joins in some of their applications. Imagine! There is not much reason left for using a relational database if we aren’t allowed to do joins.
  5. Secondly, even if we don’t do joins, relational database tables are just a very bad way of storing information for the web. The web is all about distributed URLs at which data can be found, about hyperlinks, about rich media types and so forth. If you set out to design a way of storing information that is as mismatched as possible for the requirements of the web, it’s hard to come up with a worse idea than tables. Object-relational mapping anybody, and why again do developers have to deal with it? Going forward, we need to do better than that, and InfoGrid does that.
  6. The last, and perhaps most important and under-appreciated point about relational databases and the web, is that more and more of today’s web applications don’t actually own much of their own data. Before the web, application developers could assume that they could simply put all the data in a database, and that was that. But today, with RSS feeds, web services, social networking, internet identity like OpenID, outsourcing relationships, dashboards and the like, much of the data in our applications comes from elsewhere and is managed elsewhere. Often the maintainers of that data don’t even know that our application exists. Nevertheless that data must be accessed by our application, processed, cached, updated, integrated and reconciled with data from other sources, and much more; the dirty secret is that an RDBMS-centric architecture cannot help us with that at all. These are some of the reasons why we designed the InfoGrid platform. Applications built on InfoGrid don’t run into these problems.
  7. In InfoGrid, data is stored not in rows or columns as in a relational database, but as it is on the web: URLs identify serialized chunks of data. They are accessed through the Store abstraction, which you can think of like a gigantic hash table. InfoGrid allows data to be stored in a variety of ways, such as in a file system, in a relational database, or on a grid like Hadoop or S3. Best of all, application code usually does not depend on how data is stored, so developers can write the same application, and decide only after the fact where and how data gets stored. What the developer sees is objects that are instances of a conceptual model or schema. These instances may be typed and may be related to each other, so together they form a graph with nodes and edges. If you are familiar with conceptual information modeling or object modeling like the UML, or semantic modeling with OWL or the semantic web, you will feel right at home. The model or schema of any InfoGrid application is automatically enforced by InfoGrid at run-time. For example, if you defined a type called Customer for your InfoGrid application, and one called Order, and a relationship that expresses that Customers Place Orders, InfoGrid makes sure that only customers can place orders. If you wanted somebody else to also be able to place orders, you would create another allowed relationship. If you said that customers can be in one of good standing, late or delinquent, that’s all they can be unless you change the model. You get the picture.
  8. Instead of the infamous joins of the relational database, InfoGrid applications traverse that node-edge graph of objects. This is the programmatic equivalent of the web, where we navigate by hyperlinks instead of by SELECT * FROM WEB. It’s important to understand that because of this, the performance characteristics of InfoGrid applications are different from traditional web applications. Many InfoGrid graph traversal operations are exceedingly fast, and can be parallelized much more effectively for high-volume applications than they could with a relational model. However, some are slower, such as, say, ranking all customers by sales volume. It’s important to understand that tradeoff.
  9. Instead of residing in tables with keys, all objects in InfoGrid automatically have a URL. That makes all InfoGrid applications automatically REST-ful, which means that all information in an InfoGrid application can be easily bookmarked in web browsers, tagged on services such as delicious, e-mailed, texted and twittered, and so forth. No additional effort required for the application developer. RDBMS-centric applications are often very bad at that, to the utmost frustration of their customers. Going slightly beyond REST, InfoGrid supports multiple output representations per URL. For example, all objects can be edited with a PropertySheet that comes with InfoGrid. Application developers can add as many representations as they like, whether using different MIME types like HTML, XML or JSON, or different formatting within the same type like an overview, or detailed form. One of their customers doesn’t like the way some object is formatted? Give them their own version.
  10. Unlike most mainstream programming frameworks, objects in InfoGrid can change their types at run-time. Any object can carry several types at the same time, too, and change them at will. Again, this is a very web-centric view of the world: given a URL, over some period of time, all kinds of data might be served at that same URL. Conceptually, in InfoGrid, a single object resides at that URL, whose types may change over time.
  11. You probably already guessed that InfoGrid caches objects in memory for efficiency reasons, and again without the developer having to do anything special about it.
  12. Finally, InfoGrid contains two technologies called XPRISO and the Probe Framework that were created to deal with the problem that so much of an application’s data is often owned by someone other than the application. These technologies enable data external to InfoGrid to appear locally, in the same address space like all other objects, as if they were local. For example, if an InfoGrid application accesses an RSS feed, the items in that RSS feed automatically show up and act just like any other InfoGrid objects to the application developer. You might say: many people have done that. True. But what they usually have not done is to keep the local copy in sync with the external copy after the initial import. When the external information changes, InfoGrid detects that and incrementally applies the detected changes on the local objects, just as if those changes had been made locally. Application developers don’t need to write code to figure out what to do when external information changes, which is a major expense and quality issue in many applications built on a traditional architecture. Naturally, InfoGrid developers have a great amount of freedom in defining when updates occur. Timing is very configurable, just like everything in InfoGrid. And before you ask, yes, information can also be automatically written back to the external data source. So any kind of external information can be treated as if it was a graph of local objects in InfoGrid. InfoGrid provides a library of Probes for common formats, but it is straightforward to build new Probes. We should mention that InfoGrid also caches all external information, so an InfoGrid application doesn’t need to go down just because some web service invocation failed – a scourge and major expense for applications built on less powerful foundations.