26
SQL vs NoSQL It’s Always a Hard Choice Denis Reznik Director of R&D at Intapp Kyiv

iForum 2015: SQL vs. NoSQL

  • Upload
    -

  • View
    601

  • Download
    1

Embed Size (px)

Citation preview

SQL vs NoSQLIt’s Always a Hard Choice

Denis ReznikDirector of R&D at Intapp Kyiv

Database History

1960s 1970s 1980s 1990s 2000s Nowadays

Object Databases

RDMS Commercial

Success

SQL

RDBMSIngress

System R

E.F. Codd’sPaper

CODASYLIMS

NoSQL(Johan Oskarsson)

NewSQL (?)Google BigTable

Paper

Amazon DynamoPaper

NoSQL

SQL

Agenda

• Criteria #1

• Criteria #2

• Criteria #3

• Criteria #4

• Criteria #5

• Criteria #6

• Criteria #7

About me

• Denis Reznik

• Director of R&D at Intapp Kyiv

• Microsoft MVP (SQL Server)

• Leader of Kyiv SQL Server User Group

• Database geek

• Community Enthusiast

5 |

Tools

Criteria #1

Databases

Graph

Document

Relational

Column-Family

Key-Value

Domain

Criteria #2

Q&A Web Site (StackOverflow)

Domain Model

Questions Answers

Users

Comments Votes

Schema

Customer

Order

Products

Workload

Criteria #3

Sample Workload

• 4 million users

• 8 million questions

• 40 million answers

• As a network #54 site for traffic in the world

• 560 million page views a month

• Peak is more like 2600-3000 requests/sec on most weekdays.

source: https://www.youtube.com/watch?v=t6kM2EM6so4

Scalability

Criteria #4

Scalability

• Scale up• Very easy to scale

• Always have a limit

• Hardware is expensive

• Scale-out• Relatively tricky scaling

• Theoretically infinite scale

• Can be done on commodity hardware

Durability

Criteria #5

Durability

ACID• D – for Durability• Not all NoSQL databases are

durable (at least by default)

Cost

Criteria #6

Cost

• Hardware• Big servers are expensive

• Small servers are cheep

• Small servers can be easily replaced

• License• A lot of NoSQL databases are free

• There are free RDBMS as well

• Scale Out is more useful for free software

• Support• MSSQL forgives you more than MySQL

Knowledge

Criteria #7

Polyglot Persistence

Criteria #8

Real Architecture of StackOverflow

source: https://www.youtube.com/watch?v=t6kM2EM6so4

Summary

• Tools

• Domain

• Workload

• Scalability

• Durability

• Cost

• Knowledge

• Polyglot Persistence

More Points

• “Respect the problem” (c)

• Think about the future workload grows

• Think about the future application changes

• Database itself, even if it is blazing fast, is not a purpose of not to use cache

• Consider cloud database offers

• Consider Polyglot Persistence

• Consider using service for data access in application• Database load test

• A/B testing

Thank you!

Denis Reznik

Twitter: @denisreznik

Email: [email protected]

Blog: http://reznik.uneta.com.ua

Facebook: https://www.facebook.com/denis.reznik.5

LinkedIn: http://ua.linkedin.com/pub/denis-reznik/3/502/234