23
The NoSql Moviment Matteo Baglini Software Developer, Freelance [email protected] http://it.linkedin.com/in/ matteobaglini http://github.cpom/bmatte www.dotnettoscana.org

The NoSQL movement @ DotNetToscana

Embed Size (px)

Citation preview

Page 1: The NoSQL movement @ DotNetToscana

The NoSql Moviment

Matteo Baglini Software Developer, [email protected]://it.linkedin.com/in/matteobaglinihttp://github.cpom/bmatte

www.dotnettoscana.org

Page 2: The NoSQL movement @ DotNetToscana

2

NoSql

No more SQL, awesome!!!

Page 3: The NoSQL movement @ DotNetToscana

3

NoSql

Yes but, why?

Page 4: The NoSQL movement @ DotNetToscana

4

Modern Web Application

Requirements

Page 5: The NoSQL movement @ DotNetToscana

5

Content

High number of heterogeneous content

Page 6: The NoSQL movement @ DotNetToscana

6

Social

Many connected users

Page 7: The NoSQL movement @ DotNetToscana

7

Real-time

Immediately push info to the users

Page 8: The NoSQL movement @ DotNetToscana

8

BigData

Collection of large data sets

Page 9: The NoSQL movement @ DotNetToscana

9

Cloud

Scalable and on-demand architecture

Page 10: The NoSQL movement @ DotNetToscana

10

Metodologies

Dynamic requirements

Page 11: The NoSQL movement @ DotNetToscana

11

RDBMS

Page 12: The NoSQL movement @ DotNetToscana

12

RDBMS

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

Distributed) Consistency Declarative query

language (SQL)

Page 13: The NoSQL movement @ DotNetToscana

13

Developers

Is it the right tool?

Page 14: The NoSQL movement @ DotNetToscana

14

Alternative Database(NoSql)

Page 15: The NoSQL movement @ DotNetToscana

15

NoSql

Alternative structures Schema-free Non transactional Eventual consistency Programmatically query

routine Easy to scale-out Use case oriented

Page 16: The NoSQL movement @ DotNetToscana

16

NoSql Categories

Page 17: The NoSQL movement @ DotNetToscana

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.

Page 18: The NoSQL movement @ DotNetToscana

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

Page 19: The NoSQL movement @ DotNetToscana

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

Page 20: The NoSQL movement @ DotNetToscana

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

Page 21: The NoSQL movement @ DotNetToscana

21

NoSql or

RDBMS ?

Page 22: The NoSQL movement @ DotNetToscana

22

Polyglot Persistence

Page 23: The NoSQL movement @ DotNetToscana

That’s all!