April 26, 2012 1 NoSQL Databases ¢â‚¬â€œ Amir H. Payberah...

download April 26, 2012 1 NoSQL Databases ¢â‚¬â€œ Amir H. Payberah April 26, 2012 NoSQL Databases ¢â‚¬â€œ Amir H. Payberah

of 94

  • date post

    26-Apr-2020
  • Category

    Documents

  • view

    1
  • download

    0

Embed Size (px)

Transcript of April 26, 2012 1 NoSQL Databases ¢â‚¬â€œ Amir H. Payberah...

  • NoSQL Databases – Amir H. PayberahApril 26, 2012 1

  • NoSQL Databases – Amir H. PayberahApril 26, 2012 2

    Not Only SQL (NoSQL)  Databases

    Amir H. Payberah amir@sics.se

  •   NoSQL Databases – Amir H. Payberah 3April 26, 2012

    SQL is Good

    ● Relational Databases Management Systems (RDMBSs) – mainstay of  business

    ● SQL is good  Rich language

     Easy to use and integrate

     Rich toolset

     Many vendors

    ● They promise: ACID

  •   NoSQL Databases – Amir H. Payberah 4April 26, 2012

    ACID Properties

    ● Atomicity: all included statements in a transaction are either executed or  the whole transaction is aborted without affecting the database.

    ● Consistency: a database is in a consistent state before and after a  transaction. 

    ● Isolation: transactions can not see uncommitted changes in the database.

    ● Durability: changes are written to a disk before a database commits a  transaction so that committed data cannot be lost through a power failure.

  •   NoSQL Databases – Amir H. Payberah 5April 26, 2012

    SQL is Good

    ● SQL is good, ...

  • NoSQL Databases – Amir H. PayberahApril 26, 2012 6

  •   NoSQL Databases – Amir H. Payberah 7April 26, 2012

    SQL Challenges

    ● Web­based applications caused spikes.  Internet­scale data size

     High read­write rates

     Frequent schema changes

     Large data

  •   NoSQL Databases – Amir H. Payberah 8April 26, 2012

    The Past and the Moment

    http://www.couchbase.com/sites/default/files/uploads/all/whitepapers/NoSQL­Whitepaper.pdf

  •   NoSQL Databases – Amir H. Payberah 9April 26, 2012

    Let's Scale RDBMSs

    ● RDBMS were not designed to be distributed.

    ● Possible solutions:  Replication

     Sharding

  •   NoSQL Databases – Amir H. Payberah 10April 26, 2012

    Let's Scale RDBMSs ­ Replication

    Master Server

    Slave Server1 Slave Server2

    ● Master/Slave architecture

    ● It scales read operations

  •   NoSQL Databases – Amir H. Payberah 11April 26, 2012

    Let's Scale RDBMSs ­ Sharding

    ● Scaling out (horizontal scaling) based on data partitioning, i.e. dividing  the database across many (inexpensive) machines.

    ● This is how youtube, facebook, 

    yahoo all started. With sharded mysql.

    ● It scales read and write operations,

    but you can't execute transactions

    across shards (partitions).

  •   NoSQL Databases – Amir H. Payberah 12April 26, 2012

    Scaling RDBMSs is Expensive and Inefficient

    [http://www.couchbase.com/sites/default/files/uploads/all/whitepapers/NoSQL­Whitepaper.pdf]

  •   NoSQL Databases – Amir H. Payberah 13April 26, 2012

    Not Only SQL

  •   NoSQL Databases – Amir H. Payberah 14April 26, 2012

    What is NoSQL?

    ● Class of non­relational data storage systems.

    ● All NoSQL offerings relax one or more of the ACID properties.  Social applications are not banks and they don't need the same level of ACID.

  •   NoSQL Databases – Amir H. Payberah 15April 26, 2012

    NoSQL History

    ● It was first used in 1998 by Carlo Strozzi to name his relational  database that did not expose the standard SQL interface.

    ● The term was picked up again in 2009 when a Last.fm develper, Johan  Oskarsson, wanted to organize an event to discuss open­source  distributed databases. 

    ● The name attempted to label the emergence of a growing number of  non­relational, distributed data stores that often did not attempt to  provide ACID.

  •   NoSQL Databases – Amir H. Payberah 16April 26, 2012

    Categories of NoSQL Databases

    ● Key/Value stores

     Dynamo, Scalaris, Berkeley DB, ...

    ● Column­oriented databases

     BigTable, Hbase, Cassandra, ...

    ● Document databases

     MongoDB, Terrastore, SimpleDB, ...

  •   NoSQL Databases – Amir H. Payberah 17April 26, 2012

    NoSQL Cost

    [http://www.couchbase.com/sites/default/files/uploads/all/whitepapers/NoSQL­Whitepaper.pdf]

  •   NoSQL Databases – Amir H. Payberah 18April 26, 2012

    SQL vs. NoSQL

    [http://www.couchbase.com/sites/default/files/uploads/all/whitepapers/NoSQL­Whitepaper.pdf]

  •   NoSQL Databases – Amir H. Payberah 19April 26, 2012

    Consistency

    ● Strong consistency

     Single storage image. Informally, after an update completes, any subsequent  access will return the updated value.

  •   NoSQL Databases – Amir H. Payberah 20April 26, 2012

    Consistency

    ● Strong consistency

     Single storage image. Informally, after an update completes, any subsequent  access will return the updated value.

    ● Eventual consistency

     The system does not guarantee that subsequent accesses will return the updated  value.

     Inconsistency window.

     If no new updates are made to the object, eventually all accesses will return the  last updated value.

  •   NoSQL Databases – Amir H. Payberah 21April 26, 2012

    Quorum Model

    ● N: the number of nodes to which a data item is replicated.

    ● R: the number of nodes a value has to be read from to be accepted.

    ● W: the number of nodes a new value has to be written to before the write operation is  finished.

    ● To enforce strong consistency: R + W > N

  •   NoSQL Databases – Amir H. Payberah 22April 26, 2012

    Quorum Model

    ● N: the number of nodes to which a data item is replicated.

    ● R: the number of nodes a value has to be read from to be accepted.

    ● W: the number of nodes a new value has to be written to before the write operation is  finished.

    ● To enforce strong consistency: R + W > N

    R = 3, W = 3, N = 5 R = 4, W = 2, N = 5

  •   NoSQL Databases – Amir H. Payberah 23April 26, 2012

    Relaxing ACID Properties

    ● The large­scale applications have to be reliable: availability + redundancy

    ● These properties are difficult to achieve with ACID properties.

    ● The BASE approach forfeits the ACID properties of consistency and isolation in favour  of availability, graceful degradation, and performance.

  •   NoSQL Databases – Amir H. Payberah 24April 26, 2012

    BASE Properties

    ● Basically Available: possibilities of faults but not a fault of the whole system.

    ● Soft state: copies of a data item may be inconsistent.

    ● Eventually consistent: copies becomes consistent at some later time if there are no  more updates to that data item.

  •   NoSQL Databases – Amir H. Payberah 25April 26, 2012

    CAP Theorem

    ● Consistency: how a a system is in a consistent state after the execution of an  operation.

    ● Availability: clients can always read and write data in a specific period of time.

    ● Partition Tolerance: the ability of the system to continue operation in the  presence of network partitions.

    You can choose only two!

  •   NoSQL Databases – Amir H. Payberah 26April 26, 2012

    CAP Theorem

    ● Consistency: how a a system is in a consistent state after the execution of an  operation.

    ● Availability: clients can always read and write data in a specific period of time.

    ● Partition Tolerance: the ability of the system to continue operation in the  presence of network partitions.

    ● Very large systems will partition at some point.

     it is necessary to decide between C and A.

     traditional DBMS prefer C over A and P.

     most Web applications choose A.

    You can choose only two!

  • NoSQL Databases – Amir H. PayberahApril 26, 2012 27

  • NoSQL Databases – Amir H. PayberahApril 26, 2012 28

    Dynamo

  •   NoSQL Databases – Amir H. Payberah 29April 26, 2012

    Dynamo

    ● Build a distributed storage system:  Scalability

     Simple: key­value (put/get operations)

     Highly available

     Guarantee Service Level Agreements (SLA)

  •   NoSQL Databases – Amir H. Payberah 30April 26, 2012

    Design Consideration

    ● It