+ All Categories
Home > Software > Introduction to NoSQL

Introduction to NoSQL

Date post: 17-Jul-2015
Category:
Upload: dimitar-danailov
View: 377 times
Download: 0 times
Share this document with a friend
Popular Tags:
51
NoSQL @d_danailov
Transcript

Topics Today

● Overview● Characteristics of NoSQL● NoSQL Database Types● MongoDB Database Terms● MongoDB Installation● Hadoop● BigData

History

Introduction to NoSQL by Martin Fowler

Google I/O 2012 - SQL vs NoSQL: Battle of the Backends

RDBMSs use a table-based normalization approach to data, and that’s a limited model. Certain data structures cannot be represented without tampering with the data,

programs, or both.

Performance falls off as RDBMSs normalize data. The reason:

Normalization requires more tables, table joins, keys and indexes and thus more internal database operations for

implement queries.

Impedance MissMatch

Characteristics of NoSQL

non-relational

open-source

cluster-friendly

21st CenturyWeb

schema-less

NoSQL Database Types

● Wide Column Store / Column Families● Document Store● Key Value / Tuple Store● Object Databases● Graph Databases● Grid & Cloud Database Solutions● Multidimensional Databases● Multivalue Databases

Key-values Stores

Examples Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB

Typical applications Content caching (Focus on scaling to huge amounts of data, designed to handle massive load), logging, etc.

Data model collection of Key-Value pairs

Strengths Fast lookups

Weaknesses Stored data has no schema

Column Family Stores

Examples Cassandra, HBase, Riak

Typical applications Distributed file systems

Data model Columns → column families

Strengths Fast lookups, good distributed storage of data

Weaknesses Very low-level API

Document Databases

Examples CouchDB, MongoDb

Typical applications Web applications (Similar to Key-Value stores, but the DB knows what the Value is)

Data model Collections of Key-Value collections

Strengths Tolerant of incomplete data

Weaknesses Query performance, no standard query syntax

Graph Databases

Examples Neo4J, InfoGrid, Infinite Graph

Typical applications Social networking, Recommendations (Focus on modeling the structure of data – interconnectivity)

Data model “Property Graph” – Nodes

Strengths Graph algorithms e.g. shortest path, connectedness, n degree relationships, etc.

Weaknesses Has to traverse the entire graph to achieve a definitive answer. Not easy to cluster.

CollectionLike an RDBMS TABLE

DocumentLike an RDBMS Record or Row

FieldLike an RDBMS Column

{ key: value }

Installation

Strata + Hadoop World 2014


Recommended