SlideShare une entreprise Scribd logo
1  sur  32
Yes, SQL!

            Mickey Alon
> SELECT * FROM qcon.speakers WHERE
  name=„Mickey Alon‟
+-----------------------------------------------------+
| Name      | Company    | Role            | Twitter |
+-----------------------------------------------------+
| Mickey Alon | GigaSpaces | Director | @mickey_alon |
+-----------------------------------------------------+



> db.speakers.find({name:”Mickey Alon”})
{
    “name”:”Mickey Alon”,
    “company”: {
                  name:”GigaSpaces”,
                  products:[“XAP”, “IMDG”]
                  domain: “In memory data grids”
               }
    “role”:”director”,
    “twitter”:”@mickey_alon”
}


                                           ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Agenda
• SQL
  – What it is and isn’t good for

• NoSQL
  – Motivation & Main Concepts of Modern Distributed Data Stores
  – Common interaction models
        • Key/Value, Column, Document
        • NOT consistency and distribution algorithms

• One Data Store, Multiple APIs
  – (Really) brief intro to GigaSpaces
  – SQL challenges: Add-hoc querying, Relationships (JPA)


                                              ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
A FEW (MORE) WORDS ABOUT SQL


                 ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
SQL 

  • Transactional, consistent
  • Hard to Scale
    – Disk Based




                          ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
SQL

Static, normalized
data schema
• Don’t duplicate, use FKs




                             ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
SQL


 Add hoc query support
  Model first, query later




                         ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
SQL



  Standard
   Well known
   Rich ecosystem




                     ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
(BRIEF) NOSQL RECAP




             ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
NoSql (or a Naive Attempt to Define It)



A loosely coupled
collection of
non-relational
multiple data stores

                          ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
NoSQL – some key concepts
 • Takes care of data-scaling
 • Distributed by nature (mostly)
 • Can scale up-to thousands of nodes
 • Complements SQL – not replacing it




                                ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Few words about scaling




    scal     abl   e   (Up & Out)
                       CPU speed/Cores
         !
     Concurrency




                          ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
What are the options?
 • Hardware based
   – Use extreme hardware such as RAC - 99,999% uptime
   – Non intrusive – minimal change
   – Can you afford it? How far does it scale?

 • Software (NoSQL) based on commodity HW
   – Failures are more likely to happen (due to number of nodes)
   – Design for failure scenarios
       • Putting data in multiple nodes
       • Client support for transparent failover
   – Eventually consistent (CAP theorem)


                                             ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Why Now?
  The Big Data Era
   • Exponential Increase in data & throughput
      – We generate increasingly growing amount content
      – Data is being pushed to consumers
      – Caching ?

   • Software is delivered as service
      – 24/7 + schema evolution + agility = leading constraints ?

   • Competition is growing while price decrease




                                          ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
The Current Leading Data Models


Key / Value   Column                          Document
                                                   {
                                                       “name”:”uri”,
                                                       “ssn”:”213445”,
                                                       “hobbies”:[”…”,“…”],
                                                       “…”: {
                                                           “…”:”…”
                                                           “…”:”…”
                                                        }
                                                   }


                                                   {
                                                       { ... }
                                                   }

                                                   {
                                                       { ... }
                                                   }




                        ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Key/Value

• Have the key? Get the value
  – That’s about it when it comes to querying
  – Map/Reduce (sometimes)
  – Good for
     • cache aside (e.g. Hibernate 2nd level cache)
                                                                                  K1           V1
     • Simple, id based interactions (e.g. user profiles)                         K2           V2

• In most cases, values are Opaque                                                K3           V3
                                                                                  K4           V1




                                        ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Key/Value

Scaling out is relatively easy
(just hash the keys)
• Some will do that automatically for you
• Fixed vs. consistent hashing




                                 ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Key/Value

• Implementations:
  – Memcached, Redis, Riak
  – In memory data grids (mostly Java-based) started this way
     • GigaSpaces, Oracle Coherence, WebSphere XS,
       JBoss Infinispan, etc.




                                      ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Column Based




               ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Column Based

• Google’s BigTable / Amazon Dynamo
• One giant table of rows and columns
  – Column == pair (name and a value, sometimes timestamp)
  – Each row can have a different number of
    columns = flexible schema
  Table ->* Rows ->* Columns ->* Values




                                     ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Better query support

• Query on row key
  – Or column value (aka secondary index)

• Good for a constantly changing,
  (albeit flat) domain model
• Can joins and relations be
  replaced by map/reduce?



                                     ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Document

Think JSON
(or BSON, or XML)    {
                         “name”:”Lady Gaga”,
                         “ssn”:”213445”,
                         “hobbies”:[”Dressing up”,“Singing”],
                         “albums”:
                            [{“name”:”The fame”
                              “release_year”:”2008”},
             _id:1
                             {“name”:”Born this way”
             _id:2            “release_year”:”2011”}]
                     }
             _id:3
                     {
                         { ... }
                     }

                     {
                         { ... }
                     }




                                   ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Document

• Built-in support for hierarchal model
   – Arrays, nested documents

• Better support for ad hoc queries
Great power comes with great
   – MongoDB excels at this
responsibility!
• Very intuitive model
   – normally comes with restful and map/reduce API

• Flexible schema




                                            ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
What if you
didn’t have to choose?
                                    JPA




                  JDBC

                     ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
A Brief Intro to GigaSpaces

In Memory Data Grid
• With optional write behind to
  a secondary storage



                                             write-behind
                   JPA
    Multiple API

    Map/Reduce




                                  ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
A Brief Intro to GigaSpaces


    Transparent partitioning & HA
    • Fixed hashing based on a chosen
      property


                             Replication                                                 Replication



            Backup 1                             Primary 1             Primary 2                             Backup 2

      JAVA Virtual Machine                 JAVA Virtual Machine   JAVA Virtual Machine                 JAVA Virtual Machine




                                                                     ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
A Brief Intro to GigaSpaces


    Transactional (Like, ACID)
    • Local (single partition)
    • Distributed (multiple partitions)
    • Durability via memory replication




                                  ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Use the Right API for the Job

• Even for the same data…
  – POJO & JPA for Java apps with complex domain model
  – Document for a more dynamic view
  – Memcached for simple, language neutral
    data access
  – JDBC for:
     • Interaction with legacy apps
     • Flexible ad-hoc querying (e.g. projections)



                                       ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
SQL/JDBC – Query Them All

 Query may involve Map/Reduce
 • Reduce phase includes merging and sorting




                     JDBC


                            ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
SQL/JDBC – Things to Consider

• Unique and FK constraints are not practically
  inforceable
• Sorting and aggregation may be expensive
• Distributed transactions are evil
  – Stay local…




                               ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
Summary

• One API doesn’t fit all
  – Use the right API for the job

• Know the tradeoffs
  – Always ask what you’re giving up, not just what you’re
    gaining




                                      ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
THANK YOU!
      @mickey_alon
http://blog.gigaspaces.com




                 ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved

Contenu connexe

Tendances

Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQLYan Cui
 
What is persistence in java
What is persistence in javaWhat is persistence in java
What is persistence in javaBenjamin Kim
 
Jan 2015 - Cassandra101 Manchester Meetup
Jan 2015 - Cassandra101 Manchester MeetupJan 2015 - Cassandra101 Manchester Meetup
Jan 2015 - Cassandra101 Manchester MeetupChristopher Batey
 
Modern Database Systems (for Genealogy)
Modern Database Systems (for Genealogy)Modern Database Systems (for Genealogy)
Modern Database Systems (for Genealogy)Steven Francia
 
MySQL Cluster NoSQL Memcached API
MySQL Cluster NoSQL Memcached APIMySQL Cluster NoSQL Memcached API
MySQL Cluster NoSQL Memcached APIMat Keep
 
Optimizer percona live_ams2015
Optimizer percona live_ams2015Optimizer percona live_ams2015
Optimizer percona live_ams2015Manyi Lu
 
Oracle Exadata Version 2
Oracle Exadata Version 2Oracle Exadata Version 2
Oracle Exadata Version 2Jarod Wang
 
IDERA Live | Working with Complex Data Environments
IDERA Live | Working with Complex Data EnvironmentsIDERA Live | Working with Complex Data Environments
IDERA Live | Working with Complex Data EnvironmentsIDERA Software
 
The Native NDB Engine for Memcached
The Native NDB Engine for MemcachedThe Native NDB Engine for Memcached
The Native NDB Engine for MemcachedJohn David Duncan
 
SDEC2011 Essentials of Hive
SDEC2011 Essentials of HiveSDEC2011 Essentials of Hive
SDEC2011 Essentials of HiveKorea Sdec
 
NoSQL and MySQL webinar - best of both worlds
NoSQL and MySQL webinar - best of both worldsNoSQL and MySQL webinar - best of both worlds
NoSQL and MySQL webinar - best of both worldsMat Keep
 
Toronto jaspersoft meetup
Toronto jaspersoft meetupToronto jaspersoft meetup
Toronto jaspersoft meetupPatrick McFadin
 
Vienna Feb 2015: Cassandra: How it works and what it's good for!
Vienna Feb 2015: Cassandra: How it works and what it's good for!Vienna Feb 2015: Cassandra: How it works and what it's good for!
Vienna Feb 2015: Cassandra: How it works and what it's good for!Christopher Batey
 
Exadata 11-2-overview-v2 11
Exadata 11-2-overview-v2 11Exadata 11-2-overview-v2 11
Exadata 11-2-overview-v2 11Oracle BH
 
Sdec2011 shashank-introducing hadoop
Sdec2011 shashank-introducing hadoopSdec2011 shashank-introducing hadoop
Sdec2011 shashank-introducing hadoopKorea Sdec
 
Couchbase Korea User Group 2nd Meetup #2
Couchbase Korea User Group 2nd Meetup #2Couchbase Korea User Group 2nd Meetup #2
Couchbase Korea User Group 2nd Meetup #2won min jang
 
Lesson09
Lesson09Lesson09
Lesson09renguzi
 

Tendances (20)

Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
What is persistence in java
What is persistence in javaWhat is persistence in java
What is persistence in java
 
Jan 2015 - Cassandra101 Manchester Meetup
Jan 2015 - Cassandra101 Manchester MeetupJan 2015 - Cassandra101 Manchester Meetup
Jan 2015 - Cassandra101 Manchester Meetup
 
No sql way_in_pg
No sql way_in_pgNo sql way_in_pg
No sql way_in_pg
 
Modern Database Systems (for Genealogy)
Modern Database Systems (for Genealogy)Modern Database Systems (for Genealogy)
Modern Database Systems (for Genealogy)
 
MySQL Cluster NoSQL Memcached API
MySQL Cluster NoSQL Memcached APIMySQL Cluster NoSQL Memcached API
MySQL Cluster NoSQL Memcached API
 
Optimizer percona live_ams2015
Optimizer percona live_ams2015Optimizer percona live_ams2015
Optimizer percona live_ams2015
 
Oracle Exadata Version 2
Oracle Exadata Version 2Oracle Exadata Version 2
Oracle Exadata Version 2
 
IDERA Live | Working with Complex Data Environments
IDERA Live | Working with Complex Data EnvironmentsIDERA Live | Working with Complex Data Environments
IDERA Live | Working with Complex Data Environments
 
The Native NDB Engine for Memcached
The Native NDB Engine for MemcachedThe Native NDB Engine for Memcached
The Native NDB Engine for Memcached
 
SDEC2011 Essentials of Hive
SDEC2011 Essentials of HiveSDEC2011 Essentials of Hive
SDEC2011 Essentials of Hive
 
NoSQL and MySQL webinar - best of both worlds
NoSQL and MySQL webinar - best of both worldsNoSQL and MySQL webinar - best of both worlds
NoSQL and MySQL webinar - best of both worlds
 
Toronto jaspersoft meetup
Toronto jaspersoft meetupToronto jaspersoft meetup
Toronto jaspersoft meetup
 
Vienna Feb 2015: Cassandra: How it works and what it's good for!
Vienna Feb 2015: Cassandra: How it works and what it's good for!Vienna Feb 2015: Cassandra: How it works and what it's good for!
Vienna Feb 2015: Cassandra: How it works and what it's good for!
 
Exadata 11-2-overview-v2 11
Exadata 11-2-overview-v2 11Exadata 11-2-overview-v2 11
Exadata 11-2-overview-v2 11
 
Sdec2011 shashank-introducing hadoop
Sdec2011 shashank-introducing hadoopSdec2011 shashank-introducing hadoop
Sdec2011 shashank-introducing hadoop
 
Everyday - mongodb
Everyday - mongodbEveryday - mongodb
Everyday - mongodb
 
Couchbase Korea User Group 2nd Meetup #2
Couchbase Korea User Group 2nd Meetup #2Couchbase Korea User Group 2nd Meetup #2
Couchbase Korea User Group 2nd Meetup #2
 
Sql server2008
Sql server2008Sql server2008
Sql server2008
 
Lesson09
Lesson09Lesson09
Lesson09
 

En vedette

Realtime Personalization - Ads, website and analytics.
Realtime Personalization - Ads, website and analytics.Realtime Personalization - Ads, website and analytics.
Realtime Personalization - Ads, website and analytics.Mickey Alon
 
Presentatie 4x4 An Ansoms
Presentatie 4x4 An AnsomsPresentatie 4x4 An Ansoms
Presentatie 4x4 An Ansomsjdhondt
 
Redesigning Retirement
Redesigning RetirementRedesigning Retirement
Redesigning Retirementmvoogd
 
Publiczne Gimnazjum w Złoczewie
Publiczne Gimnazjum w ZłoczewiePubliczne Gimnazjum w Złoczewie
Publiczne Gimnazjum w Złoczewieguest2f2490
 
Information.management.with.redmine thai nguyenfoss.nguyen.vu.hung.20101121-01
Information.management.with.redmine thai nguyenfoss.nguyen.vu.hung.20101121-01Information.management.with.redmine thai nguyenfoss.nguyen.vu.hung.20101121-01
Information.management.with.redmine thai nguyenfoss.nguyen.vu.hung.20101121-01Vu Hung Nguyen
 
MedicalPlexus
MedicalPlexusMedicalPlexus
MedicalPlexusneurosign
 
NextShare Platform
NextShare PlatformNextShare Platform
NextShare Platformsototozo
 
Publiczne Gimnazjum w Złoczewie
Publiczne Gimnazjum w ZłoczewiePubliczne Gimnazjum w Złoczewie
Publiczne Gimnazjum w Złoczewieguest2f2490
 
How Will the Economic Crisis Affect You?
How Will the Economic Crisis Affect You?How Will the Economic Crisis Affect You?
How Will the Economic Crisis Affect You?mvoogd
 
Persona Based Marketing
Persona Based Marketing Persona Based Marketing
Persona Based Marketing Mickey Alon
 
The Marketer's guide to Big Data
The Marketer's guide to Big DataThe Marketer's guide to Big Data
The Marketer's guide to Big DataMickey Alon
 
dynamic re-partitioning
dynamic re-partitioningdynamic re-partitioning
dynamic re-partitioningMickey Alon
 
Nguyễn Vũ Hưng: Basic Linux Tutorial (Linux cơ bản bằng Tiếng Việt)
Nguyễn Vũ Hưng: Basic Linux Tutorial (Linux cơ bản bằng Tiếng Việt)Nguyễn Vũ Hưng: Basic Linux Tutorial (Linux cơ bản bằng Tiếng Việt)
Nguyễn Vũ Hưng: Basic Linux Tutorial (Linux cơ bản bằng Tiếng Việt)Vu Hung Nguyen
 
Nguyễn Vũ Hưng: Agile.software.development.with.redmine+testlink
Nguyễn Vũ Hưng: Agile.software.development.with.redmine+testlinkNguyễn Vũ Hưng: Agile.software.development.with.redmine+testlink
Nguyễn Vũ Hưng: Agile.software.development.with.redmine+testlinkVu Hung Nguyen
 
Nguyễn Vũ Hưng: Basic Linux Power Tools
Nguyễn Vũ Hưng: Basic Linux Power Tools Nguyễn Vũ Hưng: Basic Linux Power Tools
Nguyễn Vũ Hưng: Basic Linux Power Tools Vu Hung Nguyen
 
A brief introduction to PostgreSQL
A brief introduction to PostgreSQLA brief introduction to PostgreSQL
A brief introduction to PostgreSQLVu Hung Nguyen
 
Realizzare Un Fotomontaggio
Realizzare Un FotomontaggioRealizzare Un Fotomontaggio
Realizzare Un Fotomontaggiobarbaramignone
 

En vedette (19)

Realtime Personalization - Ads, website and analytics.
Realtime Personalization - Ads, website and analytics.Realtime Personalization - Ads, website and analytics.
Realtime Personalization - Ads, website and analytics.
 
Presentatie 4x4 An Ansoms
Presentatie 4x4 An AnsomsPresentatie 4x4 An Ansoms
Presentatie 4x4 An Ansoms
 
Redesigning Retirement
Redesigning RetirementRedesigning Retirement
Redesigning Retirement
 
Publiczne Gimnazjum w Złoczewie
Publiczne Gimnazjum w ZłoczewiePubliczne Gimnazjum w Złoczewie
Publiczne Gimnazjum w Złoczewie
 
Information.management.with.redmine thai nguyenfoss.nguyen.vu.hung.20101121-01
Information.management.with.redmine thai nguyenfoss.nguyen.vu.hung.20101121-01Information.management.with.redmine thai nguyenfoss.nguyen.vu.hung.20101121-01
Information.management.with.redmine thai nguyenfoss.nguyen.vu.hung.20101121-01
 
MedicalPlexus
MedicalPlexusMedicalPlexus
MedicalPlexus
 
NextShare Platform
NextShare PlatformNextShare Platform
NextShare Platform
 
Publiczne Gimnazjum w Złoczewie
Publiczne Gimnazjum w ZłoczewiePubliczne Gimnazjum w Złoczewie
Publiczne Gimnazjum w Złoczewie
 
How Will the Economic Crisis Affect You?
How Will the Economic Crisis Affect You?How Will the Economic Crisis Affect You?
How Will the Economic Crisis Affect You?
 
Mother's Day 2011
Mother's Day 2011Mother's Day 2011
Mother's Day 2011
 
Persona Based Marketing
Persona Based Marketing Persona Based Marketing
Persona Based Marketing
 
The Marketer's guide to Big Data
The Marketer's guide to Big DataThe Marketer's guide to Big Data
The Marketer's guide to Big Data
 
dynamic re-partitioning
dynamic re-partitioningdynamic re-partitioning
dynamic re-partitioning
 
Nguyễn Vũ Hưng: Basic Linux Tutorial (Linux cơ bản bằng Tiếng Việt)
Nguyễn Vũ Hưng: Basic Linux Tutorial (Linux cơ bản bằng Tiếng Việt)Nguyễn Vũ Hưng: Basic Linux Tutorial (Linux cơ bản bằng Tiếng Việt)
Nguyễn Vũ Hưng: Basic Linux Tutorial (Linux cơ bản bằng Tiếng Việt)
 
Nguyễn Vũ Hưng: Agile.software.development.with.redmine+testlink
Nguyễn Vũ Hưng: Agile.software.development.with.redmine+testlinkNguyễn Vũ Hưng: Agile.software.development.with.redmine+testlink
Nguyễn Vũ Hưng: Agile.software.development.with.redmine+testlink
 
Nguyễn Vũ Hưng: Basic Linux Power Tools
Nguyễn Vũ Hưng: Basic Linux Power Tools Nguyễn Vũ Hưng: Basic Linux Power Tools
Nguyễn Vũ Hưng: Basic Linux Power Tools
 
A brief introduction to PostgreSQL
A brief introduction to PostgreSQLA brief introduction to PostgreSQL
A brief introduction to PostgreSQL
 
Realizzare Un Fotomontaggio
Realizzare Un FotomontaggioRealizzare Un Fotomontaggio
Realizzare Un Fotomontaggio
 
Liceo Art.Giardini
Liceo Art.GiardiniLiceo Art.Giardini
Liceo Art.Giardini
 

Similaire à NoSql-YesSQL mickey alon

To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...
To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...
To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...Uri Cohen
 
Streaming Solutions for Real time problems
Streaming Solutions for Real time problemsStreaming Solutions for Real time problems
Streaming Solutions for Real time problemsAbhishek Gupta
 
Liberating Your Data From MySQL: Cross-Database Replication to the Rescue!
Liberating Your Data From MySQL: Cross-Database Replication to the Rescue!Liberating Your Data From MySQL: Cross-Database Replication to the Rescue!
Liberating Your Data From MySQL: Cross-Database Replication to the Rescue!Linas Virbalas
 
Data day texas: Cassandra and the Cloud
Data day texas: Cassandra and the CloudData day texas: Cassandra and the Cloud
Data day texas: Cassandra and the Cloudjbellis
 
Oracle & SQL Server on the Cloud: Database Week SF
Oracle & SQL Server on the Cloud: Database Week SFOracle & SQL Server on the Cloud: Database Week SF
Oracle & SQL Server on the Cloud: Database Week SFAmazon Web Services
 
Oracle & SQL Server on the Cloud: Database Week San Francisco
Oracle & SQL Server on the Cloud: Database Week San FranciscoOracle & SQL Server on the Cloud: Database Week San Francisco
Oracle & SQL Server on the Cloud: Database Week San FranciscoAmazon Web Services
 
Oracle and SQL Server on the Cloud - Bill Baldwin
Oracle and SQL Server on the Cloud - Bill BaldwinOracle and SQL Server on the Cloud - Bill Baldwin
Oracle and SQL Server on the Cloud - Bill BaldwinAmazon Web Services
 
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2020年8月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2020年8月版]【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2020年8月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2020年8月版]オラクルエンジニア通信
 
Amazon Aurora and AWS Database Migration Service
Amazon Aurora and AWS Database Migration ServiceAmazon Aurora and AWS Database Migration Service
Amazon Aurora and AWS Database Migration ServiceAmazon Web Services
 
Mongo la search platform - january 2013
Mongo la   search platform - january 2013Mongo la   search platform - january 2013
Mongo la search platform - january 2013MongoDB
 
Oracle and SQL Server on the Cloud
Oracle and SQL Server on the CloudOracle and SQL Server on the Cloud
Oracle and SQL Server on the CloudAmazon Web Services
 
Simplifying Hadoop: A Secure and Unified Data Access Path for Computer Framew...
Simplifying Hadoop: A Secure and Unified Data Access Path for Computer Framew...Simplifying Hadoop: A Secure and Unified Data Access Path for Computer Framew...
Simplifying Hadoop: A Secure and Unified Data Access Path for Computer Framew...Dataconomy Media
 
Postgres Plus Advanced Server 9.2新機能ご紹介
Postgres Plus Advanced Server 9.2新機能ご紹介Postgres Plus Advanced Server 9.2新機能ご紹介
Postgres Plus Advanced Server 9.2新機能ご紹介Yuji Fujita
 
Relational Database Services on AWS - Bill Baldwin, Gareth Eagar
Relational Database Services on AWS - Bill Baldwin, Gareth EagarRelational Database Services on AWS - Bill Baldwin, Gareth Eagar
Relational Database Services on AWS - Bill Baldwin, Gareth EagarAmazon Web Services
 
Processing Big Data
Processing Big DataProcessing Big Data
Processing Big Datacwensel
 
Breaking the-database-type-barrier-replicating-across-different-dbms
Breaking the-database-type-barrier-replicating-across-different-dbmsBreaking the-database-type-barrier-replicating-across-different-dbms
Breaking the-database-type-barrier-replicating-across-different-dbmsLinas Virbalas
 
Whats new in_postgres_enterprise_db_20130124
Whats new in_postgres_enterprise_db_20130124Whats new in_postgres_enterprise_db_20130124
Whats new in_postgres_enterprise_db_20130124EDB
 

Similaire à NoSql-YesSQL mickey alon (20)

To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...
To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...
To scale or not to scale: Key/Value, Document, SQL, JPA – What’s right for my...
 
Streaming Solutions for Real time problems
Streaming Solutions for Real time problemsStreaming Solutions for Real time problems
Streaming Solutions for Real time problems
 
Liberating Your Data From MySQL: Cross-Database Replication to the Rescue!
Liberating Your Data From MySQL: Cross-Database Replication to the Rescue!Liberating Your Data From MySQL: Cross-Database Replication to the Rescue!
Liberating Your Data From MySQL: Cross-Database Replication to the Rescue!
 
Data day texas: Cassandra and the Cloud
Data day texas: Cassandra and the CloudData day texas: Cassandra and the Cloud
Data day texas: Cassandra and the Cloud
 
Oracle & SQL Server on the Cloud: Database Week SF
Oracle & SQL Server on the Cloud: Database Week SFOracle & SQL Server on the Cloud: Database Week SF
Oracle & SQL Server on the Cloud: Database Week SF
 
Oracle & SQL Server on the Cloud: Database Week San Francisco
Oracle & SQL Server on the Cloud: Database Week San FranciscoOracle & SQL Server on the Cloud: Database Week San Francisco
Oracle & SQL Server on the Cloud: Database Week San Francisco
 
Oracle and SQL Server on the Cloud - Bill Baldwin
Oracle and SQL Server on the Cloud - Bill BaldwinOracle and SQL Server on the Cloud - Bill Baldwin
Oracle and SQL Server on the Cloud - Bill Baldwin
 
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2020年8月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2020年8月版]【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2020年8月版]
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2020年8月版]
 
Amazon Aurora and AWS Database Migration Service
Amazon Aurora and AWS Database Migration ServiceAmazon Aurora and AWS Database Migration Service
Amazon Aurora and AWS Database Migration Service
 
Mongo la search platform - january 2013
Mongo la   search platform - january 2013Mongo la   search platform - january 2013
Mongo la search platform - january 2013
 
Oracle and SQL Server on the Cloud
Oracle and SQL Server on the CloudOracle and SQL Server on the Cloud
Oracle and SQL Server on the Cloud
 
Simplifying Hadoop: A Secure and Unified Data Access Path for Computer Framew...
Simplifying Hadoop: A Secure and Unified Data Access Path for Computer Framew...Simplifying Hadoop: A Secure and Unified Data Access Path for Computer Framew...
Simplifying Hadoop: A Secure and Unified Data Access Path for Computer Framew...
 
Postgres Plus Advanced Server 9.2新機能ご紹介
Postgres Plus Advanced Server 9.2新機能ご紹介Postgres Plus Advanced Server 9.2新機能ご紹介
Postgres Plus Advanced Server 9.2新機能ご紹介
 
Relational Database Services on AWS - Bill Baldwin, Gareth Eagar
Relational Database Services on AWS - Bill Baldwin, Gareth EagarRelational Database Services on AWS - Bill Baldwin, Gareth Eagar
Relational Database Services on AWS - Bill Baldwin, Gareth Eagar
 
SQL Server on AWS
SQL Server on AWSSQL Server on AWS
SQL Server on AWS
 
Processing Big Data
Processing Big DataProcessing Big Data
Processing Big Data
 
SQL Server on AWS
SQL Server on AWSSQL Server on AWS
SQL Server on AWS
 
ODA X6-2 family
ODA X6-2 familyODA X6-2 family
ODA X6-2 family
 
Breaking the-database-type-barrier-replicating-across-different-dbms
Breaking the-database-type-barrier-replicating-across-different-dbmsBreaking the-database-type-barrier-replicating-across-different-dbms
Breaking the-database-type-barrier-replicating-across-different-dbms
 
Whats new in_postgres_enterprise_db_20130124
Whats new in_postgres_enterprise_db_20130124Whats new in_postgres_enterprise_db_20130124
Whats new in_postgres_enterprise_db_20130124
 

Plus de Mickey Alon

Designing for adoption gainsight px 08.24.2020
 Designing for adoption   gainsight px 08.24.2020 Designing for adoption   gainsight px 08.24.2020
Designing for adoption gainsight px 08.24.2020Mickey Alon
 
Product Growth Strategy for SaaS
Product Growth Strategy for SaaSProduct Growth Strategy for SaaS
Product Growth Strategy for SaaSMickey Alon
 
Product Led Growth Strategy
Product Led Growth StrategyProduct Led Growth Strategy
Product Led Growth StrategyMickey Alon
 
How To Turn Your Product Into a Growth Engine
How To Turn Your Product Into a Growth EngineHow To Turn Your Product Into a Growth Engine
How To Turn Your Product Into a Growth EngineMickey Alon
 
Aptrinsic product-plays-1.5
Aptrinsic product-plays-1.5Aptrinsic product-plays-1.5
Aptrinsic product-plays-1.5Mickey Alon
 
Why Product-Led Growth is the most effective GTM strategy
Why Product-Led Growth is the most effective GTM strategyWhy Product-Led Growth is the most effective GTM strategy
Why Product-Led Growth is the most effective GTM strategyMickey Alon
 

Plus de Mickey Alon (6)

Designing for adoption gainsight px 08.24.2020
 Designing for adoption   gainsight px 08.24.2020 Designing for adoption   gainsight px 08.24.2020
Designing for adoption gainsight px 08.24.2020
 
Product Growth Strategy for SaaS
Product Growth Strategy for SaaSProduct Growth Strategy for SaaS
Product Growth Strategy for SaaS
 
Product Led Growth Strategy
Product Led Growth StrategyProduct Led Growth Strategy
Product Led Growth Strategy
 
How To Turn Your Product Into a Growth Engine
How To Turn Your Product Into a Growth EngineHow To Turn Your Product Into a Growth Engine
How To Turn Your Product Into a Growth Engine
 
Aptrinsic product-plays-1.5
Aptrinsic product-plays-1.5Aptrinsic product-plays-1.5
Aptrinsic product-plays-1.5
 
Why Product-Led Growth is the most effective GTM strategy
Why Product-Led Growth is the most effective GTM strategyWhy Product-Led Growth is the most effective GTM strategy
Why Product-Led Growth is the most effective GTM strategy
 

Dernier

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 textsMaria Levchenko
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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 BusinessPixlogix Infotech
 
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.pptxHampshireHUG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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 Scriptwesley chun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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 WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Dernier (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer 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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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 Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

NoSql-YesSQL mickey alon

  • 1. Yes, SQL! Mickey Alon
  • 2. > SELECT * FROM qcon.speakers WHERE name=„Mickey Alon‟ +-----------------------------------------------------+ | Name | Company | Role | Twitter | +-----------------------------------------------------+ | Mickey Alon | GigaSpaces | Director | @mickey_alon | +-----------------------------------------------------+ > db.speakers.find({name:”Mickey Alon”}) { “name”:”Mickey Alon”, “company”: { name:”GigaSpaces”, products:[“XAP”, “IMDG”] domain: “In memory data grids” } “role”:”director”, “twitter”:”@mickey_alon” } ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 3. Agenda • SQL – What it is and isn’t good for • NoSQL – Motivation & Main Concepts of Modern Distributed Data Stores – Common interaction models • Key/Value, Column, Document • NOT consistency and distribution algorithms • One Data Store, Multiple APIs – (Really) brief intro to GigaSpaces – SQL challenges: Add-hoc querying, Relationships (JPA) ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 4. A FEW (MORE) WORDS ABOUT SQL ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 5. SQL  • Transactional, consistent • Hard to Scale – Disk Based ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 6. SQL Static, normalized data schema • Don’t duplicate, use FKs ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 7. SQL Add hoc query support  Model first, query later ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 8. SQL Standard  Well known  Rich ecosystem ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 9. (BRIEF) NOSQL RECAP ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 10. NoSql (or a Naive Attempt to Define It) A loosely coupled collection of non-relational multiple data stores ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 11. NoSQL – some key concepts • Takes care of data-scaling • Distributed by nature (mostly) • Can scale up-to thousands of nodes • Complements SQL – not replacing it ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 12. Few words about scaling scal abl e (Up & Out) CPU speed/Cores ! Concurrency ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 13. What are the options? • Hardware based – Use extreme hardware such as RAC - 99,999% uptime – Non intrusive – minimal change – Can you afford it? How far does it scale? • Software (NoSQL) based on commodity HW – Failures are more likely to happen (due to number of nodes) – Design for failure scenarios • Putting data in multiple nodes • Client support for transparent failover – Eventually consistent (CAP theorem) ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 14. Why Now? The Big Data Era • Exponential Increase in data & throughput – We generate increasingly growing amount content – Data is being pushed to consumers – Caching ? • Software is delivered as service – 24/7 + schema evolution + agility = leading constraints ? • Competition is growing while price decrease ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 15. The Current Leading Data Models Key / Value Column Document { “name”:”uri”, “ssn”:”213445”, “hobbies”:[”…”,“…”], “…”: { “…”:”…” “…”:”…” } } { { ... } } { { ... } } ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 16. Key/Value • Have the key? Get the value – That’s about it when it comes to querying – Map/Reduce (sometimes) – Good for • cache aside (e.g. Hibernate 2nd level cache) K1 V1 • Simple, id based interactions (e.g. user profiles) K2 V2 • In most cases, values are Opaque K3 V3 K4 V1 ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 17. Key/Value Scaling out is relatively easy (just hash the keys) • Some will do that automatically for you • Fixed vs. consistent hashing ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 18. Key/Value • Implementations: – Memcached, Redis, Riak – In memory data grids (mostly Java-based) started this way • GigaSpaces, Oracle Coherence, WebSphere XS, JBoss Infinispan, etc. ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 19. Column Based ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 20. Column Based • Google’s BigTable / Amazon Dynamo • One giant table of rows and columns – Column == pair (name and a value, sometimes timestamp) – Each row can have a different number of columns = flexible schema Table ->* Rows ->* Columns ->* Values ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 21. Better query support • Query on row key – Or column value (aka secondary index) • Good for a constantly changing, (albeit flat) domain model • Can joins and relations be replaced by map/reduce? ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 22. Document Think JSON (or BSON, or XML) { “name”:”Lady Gaga”, “ssn”:”213445”, “hobbies”:[”Dressing up”,“Singing”], “albums”: [{“name”:”The fame” “release_year”:”2008”}, _id:1 {“name”:”Born this way” _id:2 “release_year”:”2011”}] } _id:3 { { ... } } { { ... } } ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 23. Document • Built-in support for hierarchal model – Arrays, nested documents • Better support for ad hoc queries Great power comes with great – MongoDB excels at this responsibility! • Very intuitive model – normally comes with restful and map/reduce API • Flexible schema ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 24. What if you didn’t have to choose? JPA JDBC ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 25. A Brief Intro to GigaSpaces In Memory Data Grid • With optional write behind to a secondary storage write-behind JPA Multiple API Map/Reduce ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 26. A Brief Intro to GigaSpaces Transparent partitioning & HA • Fixed hashing based on a chosen property Replication Replication Backup 1 Primary 1 Primary 2 Backup 2 JAVA Virtual Machine JAVA Virtual Machine JAVA Virtual Machine JAVA Virtual Machine ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 27. A Brief Intro to GigaSpaces Transactional (Like, ACID) • Local (single partition) • Distributed (multiple partitions) • Durability via memory replication ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 28. Use the Right API for the Job • Even for the same data… – POJO & JPA for Java apps with complex domain model – Document for a more dynamic view – Memcached for simple, language neutral data access – JDBC for: • Interaction with legacy apps • Flexible ad-hoc querying (e.g. projections) ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 29. SQL/JDBC – Query Them All Query may involve Map/Reduce • Reduce phase includes merging and sorting JDBC ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 30. SQL/JDBC – Things to Consider • Unique and FK constraints are not practically inforceable • Sorting and aggregation may be expensive • Distributed transactions are evil – Stay local… ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 31. Summary • One API doesn’t fit all – Use the right API for the job • Know the tradeoffs – Always ask what you’re giving up, not just what you’re gaining ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved
  • 32. THANK YOU! @mickey_alon http://blog.gigaspaces.com ® Copyright 2010 Gigaspaces Ltd. All Rights Reserved

Notes de l'éditeur

  1. Easy to handle
  2. Efficient in disk space
  3. You don’t have to think about “how do you need to fetch the data”
  4. Takes care of data scalbilty
  5. Touches programing model and hardware configuration
  6. Does your business allow this cost, why companies like google / facebook chose non HW!?
  7. Map/reduce