SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Dave Stokes
MySQL Community Manager
David.Stokes@Oracle.com




                SQL & NoSQL:
                How 'Big Data' & MySQL Work Together
                                                                                                                                               Presenting with

                David.Stokes@Oracle.Com                                                                                                            LOGO

 1
                MySQL Community Manager
     Copyright © 2011, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 8
Program Agenda


    •
          WHY SQL / NoSQL
    •
          Alternatives to SQL
    •
          Big Data
    •
          Best of both worlds – InnoDB/memcached
    •
          MySQL Cluster – NDB/memcached
    •
          Q&A


                               Synopsis – How to use MySQL as a relational data store
                               according to Codd & Date while gaining the ability to
                               access schema-less data and looking cool while doing it.


2   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
SQL – Cod and Date




    Images from Wikipedia.com




3    Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Codd & Date

                                                                           Wikipedia: Edgar Frank "Ted"
                                                                           Codd was an English computer
                                                                           scientist who invented the
                                                                           relational model for database
                                                                           management, the theoretical
                                                                           basis for relational
                                                                           databases. ...Codd continued to
                                                                           develop and extend his
                                                                           relational model, sometimes in
                                                                           collaboration with Chris Date




4   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Codd's Relational Model

    The purpose of the relational model is to
    provide a declarative method for specifying
    data and queries: users directly state what
    information the database contains and what
    information they want from it, and let the
    database management system software take
    care of describing data structures for storing
    the data and retrieval procedures for
    answering queries. Wikipedia

5   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Not all data relational or easy to
    extract using SQL

              Common NoSQL uses
    ●         Document Stores / Fuzzy schemas
    ●         A 'Facebook Query' – find the friends of your friends …
              and then their friends
    ●         Data size may be too large for RDMS or OS
    ●         Coolness factor




6   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
NoSQL

    ●         Database management without relational
              model, schema free
    ●         Does not use SQL (some retrofitting)
    ●         Usually not ACID
                  ●         Eventually consistent data
    ●         Distributed, fault-tolerant
    ●         Large amounts of data

7   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Common NoSQL Types

    ●         Key value stores
    ●         Document databases
    ●         Graph databases
    ●         XML databases
    ●         Distributed peers
    ●         Object stores

8   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Infobright's Emerging Database Landscape
       http://bit.ly/emerging_db_landscape
                                          Row Based                           Columnar             NoSQL – Key Value        NoSQL – Dcoument      NoSQL Columnar
                                                                                                   store                    Store                 Store

Common uses                               Transaction                         Historical data      Cache for storing        Web apps or app       Real-time data
                                          processing                          analysis, data       frequently               needing scaling w/o   logging
                                                                              warehousing, BI      requested data           defined schema


Basic Description                         Data structured in                  Data structured in   Data stored in           Persistent storage,   Very large data
                                          rows                                columns              memory                   some SQL-like         storage,
                                                                                                                            querying              MapReduce support


Strengths                                 Capturing/inputting                 Fast query support   Scalability, very fast   Persistent store,     Very high
                                          new records;                        on data sets;        storage/retrieval of     scalable; better      throughput; strong
                                          Robust, proven                      compression          data                     query support than    partitioning; random
                                          technology                                                                        key-value stores      read-write access


Weaknesses                                Scale issues                        Import/export        Usually all data         Lack of               Low level API;
                                                                              speed; heavy         must fit into            sophisticated         Inability to do
                                                                              computing resource   memory, no               capabilities          complex queries;
                                                                              needed               complex queries                                high query latency


Typical Database                                                              Several GB to 50     Several GB to            Several TB to         Several TB to
Size Range                                                                    TB                   several TB               several PB            several PB

Key Players                               MySQL, Oracle,                      Infobright, Aster    Memacached,              MongoDB,              Hbase, Big Table,
                                          SQL Server, Sybase                  Data, Sybase IQ,     Amazon S3, Redis,        CouchDB,              Cassandra
                                          ASE                                 Vertica, ParAccel    Voldemort                SimpleDB




   9   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
An example using MongoDB

               db.cars.insert(
               {make: 'Ford',
               model: 'F-150',
               cylinders: 8})

               db.cars.find(
               cylinders: {$gte: 8})



10   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Hadoop

               Part 1 – Reliable                                            Part 2 – Parallel
               data storage using                                           data processing
               the Hadoop                                                   using map/reduce
               Distributed File
               System (HDFS)

     ●         Can get expensive for hardware, not for all
               data

11   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Tilting relational databases on their side


               Columnar databases align by column, not
               rows
     ●         High compression possible
     ●         OLAP & Data Warehousing
     ●         MySQL engines
                   ●         Calpont's InfiniDB
                   ●         Infobright


12   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
When not to use NoSQL

               Your data is
                   ●         Relational
                                 –        Some hierarchy
                                 –        schema
                   ●         Need ACID
                   ●         Do not like lots of servers, disk farms




13   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
memcached before MySQL 5.6

                                                                                memcached
                                                                            is a general-purpose
                                                                             distributed memory
                                                                               caching system
                                                                                  --Wikipedia




14   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
MySQL's use of memcached for NoSQL


     ●         Innodb or NDB storage engines
     ●         Access same data (same disks) either
               through SQL or memcached
     ●         1,000,000,000+ transactions a minute for
               MySQL Cluster
     ●         Many sites already using memcached
                             - already in use, well known, easy to implement


15   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Diagrammatic Overview




16   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Why this is cool?

     ●          memcached as a daemon plugin of mysqld: both mysqld and
              memcached are running in the same process space, with very
              low latency access to data
     ●          Direct access to InnoDB: bypassing SQL parser and
              optimizer
     ●          Support standard protocol (memcapable): support both
              memcached text-based protocol and binary protocol; all 55
              memcapable tests are passed
     ●           Support multiple columns: users can map multiple columns
              into “value”. The value is separated by a pre-defined
              “separator” (configurable).


17   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Why is this cool? 2

     ●         Optional local caching: three options – “cache-only”, “innodb-
               only”, and “caching” (both “cache” and “innodb store”). These
               local options can apply to each of four Memcached operations
               (set, get, delete and flush).
     ●            Batch operations: user can specify the batch commit size for
               InnoDB memcached operations via
               “daemon_memcached_r_batch_size” and
               “daemon_memcached_w_batch_size” (default 32)
     ●           Support all memcached configure options through MySQL
               configure variable “daemon_memcached_option




18   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
PHP Example of using memcached
function get_foo(int userid) {                                                function get_foo(int userid) {

  data = db_select("SELECT * FROM                                                 /* first try the cache */
users WHERE userid = ?", userid);
                                                                                  data = memcached_fetch("userrow:" + userid);
      return data;
                                                                                  if (!data) {
}
                                                                                      /* not found : request database */

                                                                                  data = db_select("SELECT * FROM users WHERE
                                                                              userid = ?", userid);

                 Rewriten to                                                          /* then store in cache until next get */

                 use                                                                  memcached_add("userrow:" + userid, data);

                 memached                                                         }

                                                                                  return data;

                                                                              }


 19    Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Example InnoDB/memcached

     ●        SQL
                  ●         mysql> INSERT INTO demo_test
                            VALUES ('dave','it works', 10, 200, NULL)g

     ●         Memcached




20   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Getting it running
     ●         Install MySQL 5.6.6
     ●         /scripts/innodb_memcached_config.sql
                   ●         Creates test.demo_test
                                 –        Key (c1) – CHAR/VARCAHR
                                 –        Value (c2) – CHAR/VARCHAR
                                 –        Flag (c3) – 32bit Integer
                                 –        CAS (c4) – 64bit Integer
                                 –        Exp (c5) – 32bit integer
     ●         mysql> install plugin daemon_memcached soname
               “libmemcached.so”;
     ●         mysql> set session TRANSACTION ISOLATION
               LEVEL read uncommitted; /* ignore batches */
21   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
MySQL Cluster –
     NDB and/or memcahced




22   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
MySQL Cluster quick review

                                                                            Fault tolerant, auto
                                                                            sharding, shared
                                                                            nothing, data on
                                                                            redundant boxes,
                                                                            99.999% up time,
                                                                            ACID,
                                                                            geographical
                                                                            replication
                                                                            between clusters,
                                                                            & no single point of
                                                                            failure
23   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Option 1 co-locate the memcached API
     with the data nodes

                                                                            The applications can connect
                                                                            to any of the memcached API
                                                                            nodes – if one should fail just
                                                                            switch to another as it can
                                                                            access the exact same data
                                                                            instantly. As you add more data
                                                                            nodes you also add more
                                                                            memcached servers and so the
                                                                            data access/storage layer can
                                                                            scale out (until you hit the 48
                                                                            data node limit).



24   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Separate Layer

                                                                             For maximum
                                                                            flexibility, you can
                                                                            have a separate
                                                                            Memcached layer
                                                                            so that the
                                                                            application, the
                                                                            Memcached API &
                                                                            MySQL Cluster can
                                                                            all be scaled
                                                                            independently.
25   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Co locate with Application

                                                                             Another simple option is to co-
                                                                            locate the Memcached API with
                                                                            the application. In this way, as you
                                                                            add more application nodes you
                                                                            also get more Memcached
                                                                            throughput. If you need more data
                                                                            storage capacity you can
                                                                            independently scale MySQL
                                                                            Cluster by adding more data
                                                                            nodes. One nice feature of this
                                                                            approach is that failures are
                                                                            handled very simply – if one
                                                                            App/Memcached machine should
                                                                            fail, all of the other applications
                                                                            just continue accessing their local
                                                                            Memcached API.



26   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
In all of the last three examples,
     there has been a single source for
     the data (it’s all in MySQL Cluster)
              .

     ●         If you choose, you can still have all or some of the data cached within the
              memcached server (and specify whether that data should also be persisted
              in MySQL Cluster) – you choose how to treat different pieces of your data.
              If for example, you had some data that is written to and read from frequently
              then store it just in MySQL Cluster, if you have data that is written to rarely
              but read very often then you might choose to cache it in memcached as
              well and if you have data that has a short lifetime and wouldn’t benefit from
              being stored in MySQL Cluster then only hold it in memcached. The beauty
              is that you get to configure this on a per-key-prefix basis (through tables in
              MySQL Cluster) and that the application doesn’t have to care – it just uses
              the memcached API and relies on the software to store data in the right
              place(s) and to keep everything in sync.
     ●        Of course if you want to access the same data through SQL then you’d
              make sure that it was configured to be stored in MySQL Cluster.


27   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
OTHER OPTIONS
     •
           There are other options for Big Data
           and NoSQL that are beyond the
     •
           Scope of this presentation ..
     •
           Although I can not think of
     •
           Any thing to point to as an
     •
           Example      :-)




          ORACLE
         PRODUCT
           LOGO




28   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 8
David.Stokes@Oracle.com
@Stoker
                                                                                                    Q&A
slideshare.net/davestokes/presentations




   29   Copyright © 2011, Oracle and/or its affiliates. All rights reserved.   Insert Information Protection Policy Classification from Slide 8
Sql no sql

Weitere ähnliche Inhalte

Was ist angesagt?

SQLBits X SQL Server 2012 Rich Unstructured Data
SQLBits X SQL Server 2012 Rich Unstructured DataSQLBits X SQL Server 2012 Rich Unstructured Data
SQLBits X SQL Server 2012 Rich Unstructured DataMichael Rys
 
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 FacebookBigDataCloud
 
The IBM Netezza datawarehouse appliance
The IBM Netezza datawarehouse applianceThe IBM Netezza datawarehouse appliance
The IBM Netezza datawarehouse applianceIBM Danmark
 
Self-Service Access and Exploration of Big Data
Self-Service Access and Exploration of Big DataSelf-Service Access and Exploration of Big Data
Self-Service Access and Exploration of Big DataInside Analysis
 
NoSQL-Database-Concepts
NoSQL-Database-ConceptsNoSQL-Database-Concepts
NoSQL-Database-ConceptsBhaskar Gunda
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture OverviewChristopher Foot
 
Toronto jaspersoft meetup
Toronto jaspersoft meetupToronto jaspersoft meetup
Toronto jaspersoft meetupPatrick McFadin
 
SQLBits X SQL Server 2012 Beyond Relational
SQLBits X SQL Server 2012 Beyond RelationalSQLBits X SQL Server 2012 Beyond Relational
SQLBits X SQL Server 2012 Beyond RelationalMichael Rys
 
Liquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANALiquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANASAP Technology
 
Nonrelational Databases
Nonrelational DatabasesNonrelational Databases
Nonrelational DatabasesUdi Bauman
 
Facing enterprise specific challenges – utility programming in hadoop
Facing enterprise specific challenges – utility programming in hadoopFacing enterprise specific challenges – utility programming in hadoop
Facing enterprise specific challenges – utility programming in hadoopfann wu
 
Redis Cashe is an open-source distributed in-memory data store.
Redis Cashe is an open-source distributed in-memory data store.Redis Cashe is an open-source distributed in-memory data store.
Redis Cashe is an open-source distributed in-memory data store.Artan Ajredini
 
Sql vs NoSQL-Presentation
 Sql vs NoSQL-Presentation Sql vs NoSQL-Presentation
Sql vs NoSQL-PresentationShubham Tomar
 
Large-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
Large-Scale Search Discovery Analytics with Hadoop, Mahout, SolrLarge-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
Large-Scale Search Discovery Analytics with Hadoop, Mahout, SolrDataWorks Summit
 
Big data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalBig data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalramazan fırın
 

Was ist angesagt? (20)

SQLBits X SQL Server 2012 Rich Unstructured Data
SQLBits X SQL Server 2012 Rich Unstructured DataSQLBits X SQL Server 2012 Rich Unstructured Data
SQLBits X SQL Server 2012 Rich Unstructured Data
 
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
 
The IBM Netezza datawarehouse appliance
The IBM Netezza datawarehouse applianceThe IBM Netezza datawarehouse appliance
The IBM Netezza datawarehouse appliance
 
Oracle Data Warehouse
Oracle Data WarehouseOracle Data Warehouse
Oracle Data Warehouse
 
Self-Service Access and Exploration of Big Data
Self-Service Access and Exploration of Big DataSelf-Service Access and Exploration of Big Data
Self-Service Access and Exploration of Big Data
 
the rising no sql technology
the rising no sql technologythe rising no sql technology
the rising no sql technology
 
NoSQL-Database-Concepts
NoSQL-Database-ConceptsNoSQL-Database-Concepts
NoSQL-Database-Concepts
 
Nosql
NosqlNosql
Nosql
 
Oracle: Fundamental Of DW
Oracle: Fundamental Of DWOracle: Fundamental Of DW
Oracle: Fundamental Of DW
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture Overview
 
Toronto jaspersoft meetup
Toronto jaspersoft meetupToronto jaspersoft meetup
Toronto jaspersoft meetup
 
SQLBits X SQL Server 2012 Beyond Relational
SQLBits X SQL Server 2012 Beyond RelationalSQLBits X SQL Server 2012 Beyond Relational
SQLBits X SQL Server 2012 Beyond Relational
 
Liquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANALiquidity Risk Management powered by SAP HANA
Liquidity Risk Management powered by SAP HANA
 
Nonrelational Databases
Nonrelational DatabasesNonrelational Databases
Nonrelational Databases
 
RDBMS to NoSQL. An overview.
RDBMS to NoSQL. An overview.RDBMS to NoSQL. An overview.
RDBMS to NoSQL. An overview.
 
Facing enterprise specific challenges – utility programming in hadoop
Facing enterprise specific challenges – utility programming in hadoopFacing enterprise specific challenges – utility programming in hadoop
Facing enterprise specific challenges – utility programming in hadoop
 
Redis Cashe is an open-source distributed in-memory data store.
Redis Cashe is an open-source distributed in-memory data store.Redis Cashe is an open-source distributed in-memory data store.
Redis Cashe is an open-source distributed in-memory data store.
 
Sql vs NoSQL-Presentation
 Sql vs NoSQL-Presentation Sql vs NoSQL-Presentation
Sql vs NoSQL-Presentation
 
Large-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
Large-Scale Search Discovery Analytics with Hadoop, Mahout, SolrLarge-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
Large-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
 
Big data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalBig data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-final
 

Ähnlich wie Sql no sql

No sql introduction_v1.1.1
No sql introduction_v1.1.1No sql introduction_v1.1.1
No sql introduction_v1.1.1Fan Ang
 
Unit II -BIG DATA ANALYTICS.docx
Unit II -BIG DATA ANALYTICS.docxUnit II -BIG DATA ANALYTICS.docx
Unit II -BIG DATA ANALYTICS.docxvvpadhu
 
Presentation On NoSQL Databases
Presentation On NoSQL DatabasesPresentation On NoSQL Databases
Presentation On NoSQL DatabasesAbiral Gautam
 
Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesshnkr_rmchndrn
 
Minnebar 2013 - Scaling with Cassandra
Minnebar 2013 - Scaling with CassandraMinnebar 2013 - Scaling with Cassandra
Minnebar 2013 - Scaling with CassandraJeff Bollinger
 
How to use Big Data and Data Lake concept in business using Hadoop and Spark...
 How to use Big Data and Data Lake concept in business using Hadoop and Spark... How to use Big Data and Data Lake concept in business using Hadoop and Spark...
How to use Big Data and Data Lake concept in business using Hadoop and Spark...Institute of Contemporary Sciences
 
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011Cloudera, Inc.
 
Database Revolution - Exploratory Webcast
Database Revolution - Exploratory WebcastDatabase Revolution - Exploratory Webcast
Database Revolution - Exploratory WebcastInside Analysis
 
Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12mark madsen
 
001 hbase introduction
001 hbase introduction001 hbase introduction
001 hbase introductionScott Miao
 
NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]Huy Do
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...Felix Gessert
 
Microsoft Openness Mongo DB
Microsoft Openness Mongo DBMicrosoft Openness Mongo DB
Microsoft Openness Mongo DBHeriyadi Janwar
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremRahul Jain
 

Ähnlich wie Sql no sql (20)

No sql introduction_v1.1.1
No sql introduction_v1.1.1No sql introduction_v1.1.1
No sql introduction_v1.1.1
 
Unit II -BIG DATA ANALYTICS.docx
Unit II -BIG DATA ANALYTICS.docxUnit II -BIG DATA ANALYTICS.docx
Unit II -BIG DATA ANALYTICS.docx
 
Presentation On NoSQL Databases
Presentation On NoSQL DatabasesPresentation On NoSQL Databases
Presentation On NoSQL Databases
 
Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skies
 
Minnebar 2013 - Scaling with Cassandra
Minnebar 2013 - Scaling with CassandraMinnebar 2013 - Scaling with Cassandra
Minnebar 2013 - Scaling with Cassandra
 
How to use Big Data and Data Lake concept in business using Hadoop and Spark...
 How to use Big Data and Data Lake concept in business using Hadoop and Spark... How to use Big Data and Data Lake concept in business using Hadoop and Spark...
How to use Big Data and Data Lake concept in business using Hadoop and Spark...
 
unit2-ppt1.pptx
unit2-ppt1.pptxunit2-ppt1.pptx
unit2-ppt1.pptx
 
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
 
Database Revolution - Exploratory Webcast
Database Revolution - Exploratory WebcastDatabase Revolution - Exploratory Webcast
Database Revolution - Exploratory Webcast
 
Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12
 
SQL VS NoSQL
SQL VS NoSQLSQL VS NoSQL
SQL VS NoSQL
 
001 hbase introduction
001 hbase introduction001 hbase introduction
001 hbase introduction
 
NoSQL.pptx
NoSQL.pptxNoSQL.pptx
NoSQL.pptx
 
NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
 
Microsoft Openness Mongo DB
Microsoft Openness Mongo DBMicrosoft Openness Mongo DB
Microsoft Openness Mongo DB
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP Theorem
 
No sql
No sqlNo sql
No sql
 
Apache Drill
Apache DrillApache Drill
Apache Drill
 
Report 2.0.docx
Report 2.0.docxReport 2.0.docx
Report 2.0.docx
 

Mehr von Dave Stokes

Json within a relational database
Json within a relational databaseJson within a relational database
Json within a relational databaseDave Stokes
 
Database basics for new-ish developers -- All Things Open October 18th 2021
Database basics for new-ish developers  -- All Things Open October 18th 2021Database basics for new-ish developers  -- All Things Open October 18th 2021
Database basics for new-ish developers -- All Things Open October 18th 2021Dave Stokes
 
Php & my sql - how do pdo, mysq-li, and x devapi do what they do
Php & my sql  - how do pdo, mysq-li, and x devapi do what they doPhp & my sql  - how do pdo, mysq-li, and x devapi do what they do
Php & my sql - how do pdo, mysq-li, and x devapi do what they doDave Stokes
 
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...Dave Stokes
 
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitMySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitDave Stokes
 
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptJavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptDave Stokes
 
Open Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational DatabaseOpen Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational DatabaseDave Stokes
 
Dutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and HistogramsDutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and HistogramsDave Stokes
 
Validating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentationValidating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentationDave Stokes
 
Midwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesMidwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesDave Stokes
 
Data Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database AnalyticsData Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database AnalyticsDave Stokes
 
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...Dave Stokes
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesDave Stokes
 
Confoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsConfoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsDave Stokes
 
Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my! Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my! Dave Stokes
 
MySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationMySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationDave Stokes
 
MySQL 8.0 Operational Changes
MySQL 8.0 Operational ChangesMySQL 8.0 Operational Changes
MySQL 8.0 Operational ChangesDave Stokes
 
cPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturescPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturesDave Stokes
 
A Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document StoreA Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document StoreDave Stokes
 
Discover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQLDiscover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQLDave Stokes
 

Mehr von Dave Stokes (20)

Json within a relational database
Json within a relational databaseJson within a relational database
Json within a relational database
 
Database basics for new-ish developers -- All Things Open October 18th 2021
Database basics for new-ish developers  -- All Things Open October 18th 2021Database basics for new-ish developers  -- All Things Open October 18th 2021
Database basics for new-ish developers -- All Things Open October 18th 2021
 
Php & my sql - how do pdo, mysq-li, and x devapi do what they do
Php & my sql  - how do pdo, mysq-li, and x devapi do what they doPhp & my sql  - how do pdo, mysq-li, and x devapi do what they do
Php & my sql - how do pdo, mysq-li, and x devapi do what they do
 
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
 
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitMySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
 
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptJavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
 
Open Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational DatabaseOpen Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational Database
 
Dutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and HistogramsDutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and Histograms
 
Validating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentationValidating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentation
 
Midwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesMidwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL Features
 
Data Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database AnalyticsData Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database Analytics
 
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New Features
 
Confoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsConfoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & Histograms
 
Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my! Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my!
 
MySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationMySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentation
 
MySQL 8.0 Operational Changes
MySQL 8.0 Operational ChangesMySQL 8.0 Operational Changes
MySQL 8.0 Operational Changes
 
cPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturescPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven Features
 
A Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document StoreA Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document Store
 
Discover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQLDiscover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQL
 

Kürzlich hochgeladen

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Kürzlich hochgeladen (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Sql no sql

  • 1. Dave Stokes MySQL Community Manager David.Stokes@Oracle.com SQL & NoSQL: How 'Big Data' & MySQL Work Together Presenting with David.Stokes@Oracle.Com LOGO 1 MySQL Community Manager Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8
  • 2. Program Agenda • WHY SQL / NoSQL • Alternatives to SQL • Big Data • Best of both worlds – InnoDB/memcached • MySQL Cluster – NDB/memcached • Q&A Synopsis – How to use MySQL as a relational data store according to Codd & Date while gaining the ability to access schema-less data and looking cool while doing it. 2 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 3. SQL – Cod and Date Images from Wikipedia.com 3 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 4. Codd & Date Wikipedia: Edgar Frank "Ted" Codd was an English computer scientist who invented the relational model for database management, the theoretical basis for relational databases. ...Codd continued to develop and extend his relational model, sometimes in collaboration with Chris Date 4 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 5. Codd's Relational Model The purpose of the relational model is to provide a declarative method for specifying data and queries: users directly state what information the database contains and what information they want from it, and let the database management system software take care of describing data structures for storing the data and retrieval procedures for answering queries. Wikipedia 5 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 6. Not all data relational or easy to extract using SQL Common NoSQL uses ● Document Stores / Fuzzy schemas ● A 'Facebook Query' – find the friends of your friends … and then their friends ● Data size may be too large for RDMS or OS ● Coolness factor 6 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 7. NoSQL ● Database management without relational model, schema free ● Does not use SQL (some retrofitting) ● Usually not ACID ● Eventually consistent data ● Distributed, fault-tolerant ● Large amounts of data 7 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 8. Common NoSQL Types ● Key value stores ● Document databases ● Graph databases ● XML databases ● Distributed peers ● Object stores 8 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 9. Infobright's Emerging Database Landscape http://bit.ly/emerging_db_landscape Row Based Columnar NoSQL – Key Value NoSQL – Dcoument NoSQL Columnar store Store Store Common uses Transaction Historical data Cache for storing Web apps or app Real-time data processing analysis, data frequently needing scaling w/o logging warehousing, BI requested data defined schema Basic Description Data structured in Data structured in Data stored in Persistent storage, Very large data rows columns memory some SQL-like storage, querying MapReduce support Strengths Capturing/inputting Fast query support Scalability, very fast Persistent store, Very high new records; on data sets; storage/retrieval of scalable; better throughput; strong Robust, proven compression data query support than partitioning; random technology key-value stores read-write access Weaknesses Scale issues Import/export Usually all data Lack of Low level API; speed; heavy must fit into sophisticated Inability to do computing resource memory, no capabilities complex queries; needed complex queries high query latency Typical Database Several GB to 50 Several GB to Several TB to Several TB to Size Range TB several TB several PB several PB Key Players MySQL, Oracle, Infobright, Aster Memacached, MongoDB, Hbase, Big Table, SQL Server, Sybase Data, Sybase IQ, Amazon S3, Redis, CouchDB, Cassandra ASE Vertica, ParAccel Voldemort SimpleDB 9 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 10. An example using MongoDB db.cars.insert( {make: 'Ford', model: 'F-150', cylinders: 8}) db.cars.find( cylinders: {$gte: 8}) 10 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 11. Hadoop Part 1 – Reliable Part 2 – Parallel data storage using data processing the Hadoop using map/reduce Distributed File System (HDFS) ● Can get expensive for hardware, not for all data 11 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 12. Tilting relational databases on their side Columnar databases align by column, not rows ● High compression possible ● OLAP & Data Warehousing ● MySQL engines ● Calpont's InfiniDB ● Infobright 12 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 13. When not to use NoSQL Your data is ● Relational – Some hierarchy – schema ● Need ACID ● Do not like lots of servers, disk farms 13 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 14. memcached before MySQL 5.6 memcached is a general-purpose distributed memory caching system --Wikipedia 14 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 15. MySQL's use of memcached for NoSQL ● Innodb or NDB storage engines ● Access same data (same disks) either through SQL or memcached ● 1,000,000,000+ transactions a minute for MySQL Cluster ● Many sites already using memcached - already in use, well known, easy to implement 15 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 16. Diagrammatic Overview 16 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 17. Why this is cool? ● memcached as a daemon plugin of mysqld: both mysqld and memcached are running in the same process space, with very low latency access to data ● Direct access to InnoDB: bypassing SQL parser and optimizer ● Support standard protocol (memcapable): support both memcached text-based protocol and binary protocol; all 55 memcapable tests are passed ● Support multiple columns: users can map multiple columns into “value”. The value is separated by a pre-defined “separator” (configurable). 17 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 18. Why is this cool? 2 ● Optional local caching: three options – “cache-only”, “innodb- only”, and “caching” (both “cache” and “innodb store”). These local options can apply to each of four Memcached operations (set, get, delete and flush). ● Batch operations: user can specify the batch commit size for InnoDB memcached operations via “daemon_memcached_r_batch_size” and “daemon_memcached_w_batch_size” (default 32) ● Support all memcached configure options through MySQL configure variable “daemon_memcached_option 18 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 19. PHP Example of using memcached function get_foo(int userid) { function get_foo(int userid) { data = db_select("SELECT * FROM /* first try the cache */ users WHERE userid = ?", userid); data = memcached_fetch("userrow:" + userid); return data; if (!data) { } /* not found : request database */ data = db_select("SELECT * FROM users WHERE userid = ?", userid); Rewriten to /* then store in cache until next get */ use memcached_add("userrow:" + userid, data); memached } return data; } 19 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 20. Example InnoDB/memcached ● SQL ● mysql> INSERT INTO demo_test VALUES ('dave','it works', 10, 200, NULL)g ● Memcached 20 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 21. Getting it running ● Install MySQL 5.6.6 ● /scripts/innodb_memcached_config.sql ● Creates test.demo_test – Key (c1) – CHAR/VARCAHR – Value (c2) – CHAR/VARCHAR – Flag (c3) – 32bit Integer – CAS (c4) – 64bit Integer – Exp (c5) – 32bit integer ● mysql> install plugin daemon_memcached soname “libmemcached.so”; ● mysql> set session TRANSACTION ISOLATION LEVEL read uncommitted; /* ignore batches */ 21 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 22. MySQL Cluster – NDB and/or memcahced 22 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 23. MySQL Cluster quick review Fault tolerant, auto sharding, shared nothing, data on redundant boxes, 99.999% up time, ACID, geographical replication between clusters, & no single point of failure 23 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 24. Option 1 co-locate the memcached API with the data nodes The applications can connect to any of the memcached API nodes – if one should fail just switch to another as it can access the exact same data instantly. As you add more data nodes you also add more memcached servers and so the data access/storage layer can scale out (until you hit the 48 data node limit). 24 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 25. Separate Layer For maximum flexibility, you can have a separate Memcached layer so that the application, the Memcached API & MySQL Cluster can all be scaled independently. 25 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 26. Co locate with Application Another simple option is to co- locate the Memcached API with the application. In this way, as you add more application nodes you also get more Memcached throughput. If you need more data storage capacity you can independently scale MySQL Cluster by adding more data nodes. One nice feature of this approach is that failures are handled very simply – if one App/Memcached machine should fail, all of the other applications just continue accessing their local Memcached API. 26 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 27. In all of the last three examples, there has been a single source for the data (it’s all in MySQL Cluster) . ● If you choose, you can still have all or some of the data cached within the memcached server (and specify whether that data should also be persisted in MySQL Cluster) – you choose how to treat different pieces of your data. If for example, you had some data that is written to and read from frequently then store it just in MySQL Cluster, if you have data that is written to rarely but read very often then you might choose to cache it in memcached as well and if you have data that has a short lifetime and wouldn’t benefit from being stored in MySQL Cluster then only hold it in memcached. The beauty is that you get to configure this on a per-key-prefix basis (through tables in MySQL Cluster) and that the application doesn’t have to care – it just uses the memcached API and relies on the software to store data in the right place(s) and to keep everything in sync. ● Of course if you want to access the same data through SQL then you’d make sure that it was configured to be stored in MySQL Cluster. 27 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 28. OTHER OPTIONS • There are other options for Big Data and NoSQL that are beyond the • Scope of this presentation .. • Although I can not think of • Any thing to point to as an • Example :-) ORACLE PRODUCT LOGO 28 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8
  • 29. David.Stokes@Oracle.com @Stoker Q&A slideshare.net/davestokes/presentations 29 Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8