Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Non-Relational Databases-NoSQL
                   Ramkumar.R
                     1st-MCA
         Department of Computer Science
       Pope John Paul II College of Education
                    Pondicherry
Content
   Introduction
   History
   Characteristics
   NoSQL Database Classification
   Categories of NoSQL Database
   Major NoSQL Databases
   Limitation of SQL
   Benefits of NoSQL
   Concerns and challenges
   Production Deployment
   References
Introduction
       Many      organizations     collect    vast     amounts     of
customer, scientific, sales, and other data for future analysis.
Traditionally, most of these organizations have stored structured data
in relational databases for subsequent access and analysis.
However, a growing number of developers and users have begun
turning to various types of non-relational, now frequently called
NoSQL-databases.
In computing, NoSQL (commonly interpreted as "not only
SQL") is a broad class of database management systems identified
by non-adherence to the widely used relational database
management system model. NoSQL databases are not built primarily
on tables, and generally do not use SQL for data manipulation.
NoSQL database systems are often highly optimized for retrieval
and appending operations and often offer little functionality beyond
record storage (e.g. key–value stores).
   NoSQL database management systems are useful when working
    with a huge quantity of data when the data's nature does not
    require a relational model.

   The data can be structured, but NoSQL is used when what really
    matters is the ability to store and retrieve great quantities of
    data, not the relationships between the elements.
History

    The term NoSQL was coined by Carlo Strozzi in the year 1998.

    In the early 2009, Eric Evans, a Rackspace employee, reused the
    term to refer databases which are non-relational, distributed, and
    does not conform to atomicity, consistency, isolation, and
    durability.

   In the same year, the NoSQL conference held in
    Atlanta, USA, and NoSQL saw an unprecedented growth.
Characteristics
   No schema required, Data can be inserted in a NoSQL database
    without first defining a rigid database schema.

   Auto-sharding(sometimes called “elasticity”). A NoSQL
    database automatically spreads data across servers, without
    requiring applications to participate.

   Distributed query support, NoSQL database systems retain
    their full query expressive power even when distributed across
    hundreds or thousands of servers.
   Integrated caching. To reduce latency and increase sustained
    data throughput, advanced NoSQL database technologies
    transparently cache data in system memory.
NoSQL Database Classification

   Key-value stores: Data is saved with a unique key and a value.
    This is incredibly fast and this can scale to large size.

   Column stores: They store all of the values for a column together
    in a stream instead of storing records.

   Document stores: They save data without it being structured in a
    schema, with buckets of key-value pairs inside a self-contained
    object.
   Graph databases: They store data in a flexible graph model that
    contains a node for each object.
Categories of NoSQL Database
Category            Description                                  Name of the database
Document Oriented   Data is stored as documents. An example CouchDB,           Jackrabbit,
                    format may be like - FirstName="Arun", MongoDB,            OrientDB,
                    Address="St.       Xavier's      Road", SimpleDB,Terrastore
                    Spouse=[{Name:"Kiran"}],
                    Children=[{Name:"Rihit", Age:8}]



XML database        Data is stored in XML format                   BaseX, eXist, MarkLogic
                                                                   Server etc.
Graph databases     Data is stored as a collection of nodes, where AllegroGraph, DEX, Neo4j,
                    nodes are analogous to objects in a FlockDB, Sones GraphDB
                    programming language. Nodes are connected
                    using edges.

Key-value store     In Key-value-store category of NoSQL Cassandra,             Riak,    Redis,
                    database, a user can store data in schema-less memcached, BigTable
                    way. A key may be strings, hashes, lists, sets,
                    sorted sets and values are stored against these
                    keys.
Major NoSQL Databases

   Dynamo: Dynamo was created by Amazon.com and is the most
    prominent Key-Value NoSQL database.

   Cassandra: Cassandra was open sourced by Facebook and is a
    column oriented NoSQL database.

   BigTable: BigTable is Google's proprietary column oriented
    database.
   SimpleDB: SimpleDB is another Amazon database. Used for
    Amazon EC2 and S3, it is part of Amazon Web Services.

   CouchDB: CouchDB along with MongoDB are open source
    document oriented NoSQL databases.

   Neo4J: Neo4j is an open source graph database.
Limitation of SQL Database

   Scaling, Relational databases don’t work easily in a distributed
    manner because joining their tables across a distributed system is
    difficult.

   Complexity, with relational databases, users must convert all data
    into tables. When the data doesn’t fit easily into a table, the
    database’s structure can be complex, difficult, and slow to work
    with.
   Data,    Using    SQL is    convenient    with   structured   data.
    However, using the language with other types of information is
    difficult.

   Large feature set, Relational databases offer a big feature set and
    data integrity.
Benefits of NoSQL
   Big data, just as transaction rates have grown out of recognition
    over the last decade, the volumes of data that are being stored
    also have increased massively.

   Goodbye DBAs, NoSQL databases are generally designed from
    the ground up to require less management, automatic repair, data
    distribution, and simpler data models.
   Flexible data models, NoSQL Key Value stores and document
    databases allow the application to store virtually any structure it
    wants in a data element.

   Elastic scaling, NoSQL databases are designed to expand
    transparently to take advantage of new nodes, and they’re usually
    designed with low-cost commodity hardware in mind.

   Economics, NoSQL databases typically use clusters of cheap
    commodity servers
Concerns and Challenges
   Overhead and complexity, Because NoSQL databases don’t
    work with SQL, they require manual query programming.

   Reliability, Relational databases natively support ACID, while
    NoSQL databases don’t.

   Consistency, Because NoSQL databases don’t natively support
    ACID      transactions,   they     also    could   compromise
    consistency, unless manual support is provided.
   Unfamiliarity with the technology, Most organizations are
    unfamiliar with NoSQL databases.

   Limited    Eco    structure,   unlike   commercial   relational
    databases, many open source NoSQL application don’t yet come
    with customer support or management tools.
Production Deployment
     There is a large number of companies using NoSQL. To name a
few:
   Google
   Facebook
   Mozilla
   Adobe
   Foursquare
   LinkedIn
   McGraw-Hill Education
Reference
   1. Neal Leavitt, “Will NoSQL live up to their promise”, IEEE
    Computer Society volume: 43 issue: 2, February, 2010, pp.12-14.

   2. Carlos Coronel, Steven Morris, Peter Rob,” Database Systems:
    Design,     Implementation,     and     Management”,         Tenth
    Edition, 2013, pp.47-49.

   3.   Pethuru   Raj,”   Cloud   Enterprise   Architecture”,   CRC
    press, 2013, pp.190-195.
   4. Tim Juravich,” Couch DB and PHP Web Development Beginner's
    Guide”, PACKT Publishing, June 2012, Chapter 1.

   5. Jing Han, “Survey on NoSQL database”, IEEE Pervasive Computing
    and Applications (ICPCA), 2011 6th International Conference”, 26-28
    Oct. 2011, pp.363-366.

   6. Wyile.b, “Using NoSQL Database for Streaming Network Analysis”,
    IEEE Large Data Analysis and Visualization (LDAV), 2012, 14-15 Oct.
    2012, pp.121-124

More Related Content

Non relational databases-no sql

  • 1. Non-Relational Databases-NoSQL Ramkumar.R 1st-MCA Department of Computer Science Pope John Paul II College of Education Pondicherry
  • 2. Content  Introduction  History  Characteristics  NoSQL Database Classification  Categories of NoSQL Database  Major NoSQL Databases  Limitation of SQL  Benefits of NoSQL  Concerns and challenges  Production Deployment  References
  • 3. Introduction Many organizations collect vast amounts of customer, scientific, sales, and other data for future analysis. Traditionally, most of these organizations have stored structured data in relational databases for subsequent access and analysis. However, a growing number of developers and users have begun turning to various types of non-relational, now frequently called NoSQL-databases.
  • 4. In computing, NoSQL (commonly interpreted as "not only SQL") is a broad class of database management systems identified by non-adherence to the widely used relational database management system model. NoSQL databases are not built primarily on tables, and generally do not use SQL for data manipulation. NoSQL database systems are often highly optimized for retrieval and appending operations and often offer little functionality beyond record storage (e.g. key–value stores).
  • 5. NoSQL database management systems are useful when working with a huge quantity of data when the data's nature does not require a relational model.  The data can be structured, but NoSQL is used when what really matters is the ability to store and retrieve great quantities of data, not the relationships between the elements.
  • 6. History  The term NoSQL was coined by Carlo Strozzi in the year 1998.  In the early 2009, Eric Evans, a Rackspace employee, reused the term to refer databases which are non-relational, distributed, and does not conform to atomicity, consistency, isolation, and durability.  In the same year, the NoSQL conference held in Atlanta, USA, and NoSQL saw an unprecedented growth.
  • 7. Characteristics  No schema required, Data can be inserted in a NoSQL database without first defining a rigid database schema.  Auto-sharding(sometimes called “elasticity”). A NoSQL database automatically spreads data across servers, without requiring applications to participate.  Distributed query support, NoSQL database systems retain their full query expressive power even when distributed across hundreds or thousands of servers.
  • 8. Integrated caching. To reduce latency and increase sustained data throughput, advanced NoSQL database technologies transparently cache data in system memory.
  • 9. NoSQL Database Classification  Key-value stores: Data is saved with a unique key and a value. This is incredibly fast and this can scale to large size.  Column stores: They store all of the values for a column together in a stream instead of storing records.  Document stores: They save data without it being structured in a schema, with buckets of key-value pairs inside a self-contained object.
  • 10. Graph databases: They store data in a flexible graph model that contains a node for each object.
  • 11. Categories of NoSQL Database Category Description Name of the database Document Oriented Data is stored as documents. An example CouchDB, Jackrabbit, format may be like - FirstName="Arun", MongoDB, OrientDB, Address="St. Xavier's Road", SimpleDB,Terrastore Spouse=[{Name:"Kiran"}], Children=[{Name:"Rihit", Age:8}] XML database Data is stored in XML format BaseX, eXist, MarkLogic Server etc. Graph databases Data is stored as a collection of nodes, where AllegroGraph, DEX, Neo4j, nodes are analogous to objects in a FlockDB, Sones GraphDB programming language. Nodes are connected using edges. Key-value store In Key-value-store category of NoSQL Cassandra, Riak, Redis, database, a user can store data in schema-less memcached, BigTable way. A key may be strings, hashes, lists, sets, sorted sets and values are stored against these keys.
  • 12. Major NoSQL Databases  Dynamo: Dynamo was created by Amazon.com and is the most prominent Key-Value NoSQL database.  Cassandra: Cassandra was open sourced by Facebook and is a column oriented NoSQL database.  BigTable: BigTable is Google's proprietary column oriented database.
  • 13. SimpleDB: SimpleDB is another Amazon database. Used for Amazon EC2 and S3, it is part of Amazon Web Services.  CouchDB: CouchDB along with MongoDB are open source document oriented NoSQL databases.  Neo4J: Neo4j is an open source graph database.
  • 14. Limitation of SQL Database  Scaling, Relational databases don’t work easily in a distributed manner because joining their tables across a distributed system is difficult.  Complexity, with relational databases, users must convert all data into tables. When the data doesn’t fit easily into a table, the database’s structure can be complex, difficult, and slow to work with.
  • 15. Data, Using SQL is convenient with structured data. However, using the language with other types of information is difficult.  Large feature set, Relational databases offer a big feature set and data integrity.
  • 16. Benefits of NoSQL  Big data, just as transaction rates have grown out of recognition over the last decade, the volumes of data that are being stored also have increased massively.  Goodbye DBAs, NoSQL databases are generally designed from the ground up to require less management, automatic repair, data distribution, and simpler data models.
  • 17. Flexible data models, NoSQL Key Value stores and document databases allow the application to store virtually any structure it wants in a data element.  Elastic scaling, NoSQL databases are designed to expand transparently to take advantage of new nodes, and they’re usually designed with low-cost commodity hardware in mind.  Economics, NoSQL databases typically use clusters of cheap commodity servers
  • 18. Concerns and Challenges  Overhead and complexity, Because NoSQL databases don’t work with SQL, they require manual query programming.  Reliability, Relational databases natively support ACID, while NoSQL databases don’t.  Consistency, Because NoSQL databases don’t natively support ACID transactions, they also could compromise consistency, unless manual support is provided.
  • 19. Unfamiliarity with the technology, Most organizations are unfamiliar with NoSQL databases.  Limited Eco structure, unlike commercial relational databases, many open source NoSQL application don’t yet come with customer support or management tools.
  • 20. Production Deployment There is a large number of companies using NoSQL. To name a few:  Google  Facebook  Mozilla  Adobe  Foursquare  LinkedIn  McGraw-Hill Education
  • 21. Reference  1. Neal Leavitt, “Will NoSQL live up to their promise”, IEEE Computer Society volume: 43 issue: 2, February, 2010, pp.12-14.  2. Carlos Coronel, Steven Morris, Peter Rob,” Database Systems: Design, Implementation, and Management”, Tenth Edition, 2013, pp.47-49.  3. Pethuru Raj,” Cloud Enterprise Architecture”, CRC press, 2013, pp.190-195.
  • 22. 4. Tim Juravich,” Couch DB and PHP Web Development Beginner's Guide”, PACKT Publishing, June 2012, Chapter 1.  5. Jing Han, “Survey on NoSQL database”, IEEE Pervasive Computing and Applications (ICPCA), 2011 6th International Conference”, 26-28 Oct. 2011, pp.363-366.  6. Wyile.b, “Using NoSQL Database for Streaming Network Analysis”, IEEE Large Data Analysis and Visualization (LDAV), 2012, 14-15 Oct. 2012, pp.121-124