Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NoSQL

 NoSQL

Lighting Talk for #toolsforfullstackdev session 4 Backend: Data Persistance

Manuel Vidaurre

May 26, 2015
Tweet

More Decks by Manuel Vidaurre

Other Decks in Programming

Transcript

  1. SOME CHARACTERISTICS ARE COMMON AMONGST THESE DATABASES, BUT NONE ARE

    DEFINITIONAL. • Not using the relational model (nor the SQL language) • Open source • Designed to run on large clusters • Based on the needs of 21st century web properties • No schema, allowing fields to be added to any record without controls http://martinfowler.com/nosql.html
  2. BIG DATA IS THE DRIVER FOR NOSQL’S RISE, BUT NOT

    THE ONLY REASON TO USE NOSQL http://martinfowler.com/nosql.html
  3. BUT OFTEN PEOPLE SELECT NOSQL DUE TO EASIER DATABASE INTERACTION

    IN THEIR APPLICATIONS. http://martinfowler.com/nosql.html
  4. AGGREGATE DATA MODELS • An aggregate is a collection of

    data that we interact with as a unit. Aggregates form the boundaries for ACID operations with the database. • Key-value, document, and column-family databases can all be seen as forms of aggregate-oriented database. • Aggregates make it easier for the database to manage data storage over clusters. • Aggregate-oriented databases work best when most data interaction is done with the same aggregate; aggregate-ignorant databases are better when interactions use data organized in many different formations. http://martinfowler.com/nosql.html
  5. DISTRIBUTION MODELS • There are two styles of distributing data:

    • Sharing distributes different data across multiple servers, so each server acts as the single source for a subset of data. • Replication copies data across multiple servers, so each bit of data can be found in multiple places. Master-slave replication or Peer-to-peer replication. http://martinfowler.com/nosql.html
  6. NOSQL DATABASES • Key-Value store – These databases are designed

    for storing data in a schema-less way. In a key- value store, all of the data within consists of an indexed key and a value, hence the name. E • Column store – instead of storing data in rows, these databases are designed for storing data tables as sections of columns of data, rather than as rows of data. While this simple description sounds like the inverse of a standard database, wide-column stores offer very high performance and a highly scalable architecture. • Document database – These are designed for storing, retrieving, and managing document- oriented information, also known as semi-structured data. • Graph database – Based on graph theory, these databases are designed for data whose relations are well represented as a graph and has elements which are interconnected, with an undetermined number of relations between them.
  7. NOSQL DATABASES • Column: Accumulo, Cassandra, Druid, HBase, Vertica •

    Document: Lotus Notes, Clusterpoint, Apache CouchDB, Couchbase, MarkLogic, MongoDB, OrientDB, Qizx • Key-value: CouchDB, Dynamo, FoundationDB, MemcacheDB, Redis, Riak, FairCom c-treeACE, Aerospike, OrientDB, MUMPS • Graph: Allegro, Neo4J, InfiniteGraph, OrientDB, Virtuoso, Stardog • Multi-model: OrientDB, FoundationDB, ArangoDB, Alchemy Database, CortexDB http://en.wikipedia.org/wiki/NoSQL
  8. BEYOND NOSQL • NoSQL is just one set of data

    storage technologies. As they increase comfort with polyglot persistence, we should consider other data storage technologies whether or not they bear the NoSQL label. http://martinfowler.com/nosql.html