Powerful Google developer tools for immediate impact! (2023-24 C)
No sql matters_2012_keynote
1. NoSQL adoption: what's the next step?
Luca Garulli – Founder and CEO
NuvolaBase Ltd
May 2012 29 - 30 in Cologne, Germany
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 1
2. 2009
A new grass-root movement
of rebels, a few underdogs who believe
that the common Relational model is
no longer the only solution to every problem.
After 30 long years of
“Relational domain” new alternatives
have become possible and
sustainable
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 2
3. it's name is
NoSQL
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 3
4. 2012: 3 years later the
revolution has evolved:
many new products,
larger adoption
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 4
5. ”NoSQL database technologies are largely being adopted for
new projects that require additional scalability, performance,
relaxed consistency and agility.“ – 451 Research of May 22nd 2012
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 5
6. Nobody talks about the real origins of
databases.
You could marvel about the lot of
similarities between the past and today
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 6
7. Are you ready to go back to the past?
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 7
8. The computer age and the
beginning of databases?
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 8
9. No, let's go further back
before computers took
over to see how society
managed information
persistently
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 9
10. Way too back?
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 10
11. “Stone” was our
first persistent
database.
Before that
everything was
“volatile”
because in-
memory only
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 11
12. Pros:
Cheap (it’s free),
very-very
durable and
always available
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 12
13. Cons: not exactly portable...
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 13
14. ...And this kind of
storage had the
same problems of
modern RDBMS
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 14
15. Slow inserts!
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 15
16. no Market Leader
for this technology
because stone is
FREE and
unlimited
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 16
17. So, the world
needed a better
technology:
what next?
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 17
18. Egypt, 5000 years ago
“Papyrus”
was the
database
v. 2.0
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 18
19. Not so cheap
not so durable
but portable
This was the first
“mobile” market
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 19
20. Market
Leader
the
Pharaoh
?
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 20
21. Wait a sec!
The Pharaoh Market Leader
spoke about prophecies,
exactly like an “Oracle”
would...
(Mhm, I should elaborate it a little bit more)
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 21
22. So, the world
needed an even
better
technology:
what next?
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 22
23. Europe, 500 years ago
Modern “Books" became
database v. 2.1 (minor version)
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 23
24. Easy to make
copies,
not durable as
stone, but
(c) Luca Garulli
portable
Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 24
25. Users started to make choices:
3)want something really durable?
Go with Stone
2) do you want something portable?
Papyrus
3) Need also copies? Books
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 25
26. You can’t have all of them. Choose
between:
easy to (C)opy
dur(A)bility
(P)ortability
But just pick 1 or 2 of them!
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 26
27. I can’t believe: the origin of
CAP theorem ?
easy to (C)opy
Book
Stone
dur(A)bility (P)ortability
Papyrus
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 27
28. We found some interesting similarities
with the modern databases:
history repeating itself!
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 28
29. Interpreting Technology Hype
by Gartner
Visibility
Peak of
Inflated
Plateau of
Expectations
productivity
Slope of
productivity
Trough of
Disillusionment
Technology
trigger
Maturity
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 29
30. Interpreting Technology Hype
by Gartner
Visibility
A potential technology breakthrough kicks
things off. Early proof-of-concept stories and
Peak of
media interest trigger significant publicity.
Inflated
Often no usable products exist and
Plateau of
Expectations
commercial viability is unproven.
productivity
Slope of
productivity
Trough of
Disillusionment
Technology
trigger
Maturity
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 30
31. Interpreting Technology Hype
by Gartner
Visibility
Peak of
Inflated
Plateau of
Expectations
productivity
Slope of
productivity
Trough publicity produces a number of
Early of
success stories—often accompanied by
Disillusionment
scores of failures. Some companies take
action; many do not.
Technology
trigger
Maturity
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 31
32. Interpreting Technology Hype
by Gartner
Interest wanes as experiments and
implementations fail to deliver. Producers of the
Visibility
technology shake out or fail. Investments continue
Peak of only if the surviving providers improve their
Inflated products to the satisfaction of early adopters.
Plateau of
Expectations
productivity
Slope of
productivity
Trough of
Disillusionment
Technology
trigger
Maturity
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 32
33. Bad stories from the trenches
“Goodbye, CouchDB”
May 10th, 2012 by Steven Hazel
“Failing with MongoDB”
November 5, 2011 by Michael Schurter
“A year with MongoDB”
April 2012 on Kiip.me blog
“MongoDB: 9 months on”
11 May 2011 by Clueless Joe
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 33
34. Interpreting Technology Hype
by Gartner
More instances of how the technology can
Visibility
benefit the enterprise start to crystallize
and become more widely understood.
Peak of
Second and third-generation products
Inflated
appear from technology providers. More Plateau of
Expectations
enterprises fund pilots; conservative productivity
Slope of
companies remain cautious. productivity
Trough of
Disillusionment
Technology
trigger
Maturity
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 34
35. Interpreting Technology Hype
by Gartner
Visibility
Peak of
Inflated
Plateau of
Expectations
productivity
Slope of
productivity
Mainstream adoption starts to take
off. Criteria forof
Trough assessing provider
viability are more clearly defined. The
Disillusionment
technology’s broad market
applicability and relevance are clearly
Technology paying off.
trigger
Maturity
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 35
36. Interpreting Technology Hype
by Gartner
2010 - 2011 Don't worry,
we're here!
Visibility
Peak of
Inflated
Plateau of
Expectations
productivity
Slope of
productivity 2015 ->
2012 - 2014
Trough of
Disillusionment
2009 2011
Technology
trigger
Maturity
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 36
37. Why some
users don't
succeed
using
NoSQL?
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 37
38. Don't you know them? Really?
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 38
39. You must apply the 3 laws of
NoSQL to avoid a blood bath
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 39
40. NoSQL 1 law st
The first rule of NoSQL is:
«You do not talk about
NoSQL»
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 40
41. NoSQL 2 law nd
there is no “golden hammer”
“if all you have is a hammer,
everything looks like a nail”
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 41
42. NoSQL 2 law nd
explained
If all you have is a everything looks like
rdbms tables
key value keys and values
document documents
graph db vertexes and
nodes
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 42
43. NoSQL 3 law rd
“one size doesn't fit all”
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 43
44. NoSQL 3 law rd
explained: choose the right model(s)
(not exhaustive)
Scalability/Size
Key/Value
Column based Document
Relational Graph
Complexity
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 44
45. Problem:
what about if you need multiple
models?
Very often the domain can be
split
in multiple
sub-domains:
this is the Polyglot Persistence
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 45
46. Polyglot Persistence
Use multiple storage solutions to
avoid compromising on the business
data model...
Don’t change your model,
change storage solution or integrate it
with an additional product supports
the model you need!
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 46
47. Multi-Model storage 1/2
one product, multiple faces
Because the Polyglot Persistence some
NoSQL vendors support multiple
models in the same product
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 47
48. Multi-Model storage 2/2
This is the best way to achieve the
NoSQL goal choosing the right model
for each piece of domain with no
compromises
Only one product to know and manage
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 48
49. Multi-Model example 1/4
To model the main entities of a selling product we
choose the Graph one because it has the ability to
traverse items and allow fast retrieving of
relationships. NOTE: This is just an example!
Graph Model
Order
Invoice
StockItem
Stock
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 49
50. Multi-Model example 2/4
Document model
Customer Provider
Graph Model Customer and
Order Product need a
Invoice flexible schema to
place additional
fields like the «4°
StockItem
mobile number» or
the «XXX social
Stock network ID»
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 50
51. Multi-Model example 3/4
Document model
Customer Provider
Graph Model Object Oriented
Order Model
Invoice
Person
StockItem
Vertex
Stock
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 51
52. Multi-Model example 4/4
Document model
Constraints:
- phones > 0
Customer Provider - surname not null
Graph Model Object Oriented
Order Model
Invoice
Person
StockItem
Vertex
Stock
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 52
53. Lessons learned
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 53
54. Lesson learned 1/2
If you changed your domain to fit the
selected NoSQL solution,
What you selected was probably wrong or
not the very best
solution!
#fail
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 54
55. Lesson learned 2/2
Selecting a NoSQL product because it’s
simply the most famous or because your
preferred Social Network is using it means
that nothing has changed:
You’re making the same mistake that
generations of developers made in the last
30 years by selecting the Relational DBMS
for every use case!
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 55
56. Lesson learned 2/2b
This is against the NoSQL vein!
#superfail
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 56
57. Other 9 factors to consider
Obviously, the model is not the only thing to evaluate when
you choose the right product:
3.Maturity
4.Constraints (lock mgmt, write strategy, reliability, etc.)
5.Who is using it in production?
6.Has anyone ever used it with a volume of data of similar to
mine?
7.Is it Open Source? Is there an active community?
8.Commercial Support
9.Current skill of your team
10.TCO (Total Cost of Ownership)
11.Test it before to select even with micro-benchmarks
represent your use case!
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 57
58. Future directions: NoSQL
2nd and 3rd generation of NoSQL products are
providing more features RDBMS already
have:
* persistence for memory-only db
* transaction or similar
* better locking to improve concurrency
* finer indexing systems
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 58
59. Future directions: RDBMS
Nth generation of RDBMS are providing
NoSQL features like:
* schema-less
* improved horizontal scalability
* raw API for fast insertion
* native support for array/collection
* full-text, queueing, etc.
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 59
60. The common goal
faster,
more
scalable and
flexible
solution
NewSQL
NoSQL
RDBMS
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 60
61. NoSQL
what
risks & challenges
with such scenario?
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 61
62. NoSQL Risks 1/2
In many cases companies continue
to use RDBMS as primary storage
leaving to the NoSQL solutions the
«secondary role» of distributed
and/or scalable cache
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 62
63. NoSQL Risks 2/2
RDBMS and NewSQL products are trying
to provide a technical answer to face the
«BigData» and all the problems of
performance and scalability
Companies could stay with the «improved»
(thanks to NoSQL) RDBMS products
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 63
64. NoSQL Challenge
The NoSQL challenge is to gain the
trust of users and customers to
be used not only as a
secondary storage,
but playing the first role
in the game of the persistence
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 64
65. That's all folks
Enjoy NoSQL Matters 2012
2 day!
nd
Many thanks!
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 65
66. Luca Garulli
Author of CEO at
Document-Graph NoSQL
Open Source project
Ltd, London UK
www.twitter.com/lgarulli
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 66
67. Luca Garulli
Author of CEO at
Document-Graph NoSQL
Hey, I’m a developer! If you want to
Open Source project
hear something more technical
don’t miss «Design your Ltd, London UK
application using Persistent
Graphs and OrientDB»
Today 14:45 House 6 Room 2
www.twitter.com/lgarulli
(c) Luca Garulli Licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License Page 67
Editor's Notes
Good morning... Apologize for my english... Did you enjoy yesterday? <Compliments to the organization> I’m very excited. I think there are few events... 2 Question to the attendees
Intro – musichetta, voce da film
Spartaaaa!!!
NoSQL = 82%, MySQL = 40%
It ’ s like to say «I ’ m using Oracle because JP Morgan used it. Why should I use anything else?»
It ’ s like to say «I ’ m using Oracle because JP Morgan used it. Why should I use anything else?»
Some RDBMS vendor have got the point that sometimes the developer need to go raw for performance: «Let to the developer more power & control»!
This couldn ’ t be a risk for the NoSQL vendors that don ’ t want to replace the RDBMS but rather providing an alternative solution to combine with it