The NoSQL movement @ DotNetToscana

Post on 10-May-2015

426 views 2 download

Tags:

transcript

The NoSql Moviment

Matteo Baglini Software Developer, Freelancematteo.baglini@gmail.comhttp://it.linkedin.com/in/matteobaglinihttp://github.cpom/bmatte

www.dotnettoscana.org

2

NoSql

No more SQL, awesome!!!

3

NoSql

Yes but, why?

4

Modern Web Application

Requirements

5

Content

High number of heterogeneous content

6

Social

Many connected users

7

Real-time

Immediately push info to the users

8

BigData

Collection of large data sets

9

Cloud

Scalable and on-demand architecture

10

Metodologies

Dynamic requirements

11

RDBMS

12

RDBMS

Tables and relations Schema-full Pre-defined structure Transaction (even

Distributed) Consistency Declarative query

language (SQL)

13

Developers

Is it the right tool?

14

Alternative Database(NoSql)

15

NoSql

Alternative structures Schema-free Non transactional Eventual consistency Programmatically query

routine Easy to scale-out Use case oriented

16

NoSql Categories

17

Key-Value Store Data (Value) was identified

by a unique Key The Value can be anything Primarly queriable by Key Examples: Amazon

SimpleDB, Azure Table Storage, Riak, Redis, Voldemort, MemcacheDB.

18

Data contained into Documents that was identified by a unique Key

Document was stored as JSON object (properties and values)

Values can be scalars, arrays or complex types

Queriable by Key or MapReduce

Examples: MongoDB, CouchDB, RavenDB

Document Store

19

Columns Store Data contained into Tables

and Column Families Each Column Families was a

set of key-value pairs Partial schema Queriable by Key, MapReduce

or custom langs Examples: Google BigTable,

Hbase, Cassandra

20

Graph Store Data contained into Nodes

and Edges Each Node was a set of key-

value pairs Each Edge represent a

relationship Queriable by custom langs Examples: Neo4j, OrientDB,

Titan, Sones

21

NoSql or

RDBMS ?

22

Polyglot Persistence

That’s all!