no sql databases

1

Upload: anoop-nayak

Post on 11-Jul-2015

144 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: No SQL Databases

Anoop Nayak

No SQL Databases

Page 2: No SQL Databases

Introduction

“Years have passed by and the data we use are very different”-Anonymous quote from a blog

Page 3: No SQL Databases

Bits and bytes

Business Logic and Records

Photos, Videos and what not

Presenter
Presentation Notes
To be explained: Database history and development 1960s Navigational databases 1970s Relational Databases late 1970’s SQL … 2000s No SQL and NewSQL databases
Page 4: No SQL Databases

But Database remained same…

1960’s Navigational

DBMS

1970’s Relational DMBS and

SQL

1980’s SQL

2000’s SQL

?

Page 5: No SQL Databases

Technology

Traditional Databases

DB1

DB2

DB3

NoSQL Databases

DB1

DB2

DB3

Page 6: No SQL Databases

Technology(Continued)

• Developed in several layers which can be replaceable unlike Traditional SQL counterparts

• Does not follow standards and hence it uses the latest technologies. Eg: Javascript is the language used in MongoDB

Page 7: No SQL Databases

Performance

0 5000000 10000000 15000000 20000000 25000000

MySQL

MongoDB

Insert 50,000 records

Column1 Time Taken (ms)

Presenter
Presentation Notes
http://www.moredevs.ro/mysql-vs-mongodb-performance-benchmark/
Page 8: No SQL Databases

Performance (Continued)

0 50000 100000 150000 200000 250000 300000 350000

MySQL

MongoDB

Selecting 50,000 from 2,00,00 records

Time Taken(ms)

Page 9: No SQL Databases

Types of NoSQL Databases

• Document Store

• Graph

• Key-Value Store

• Multivalue databases

• Object Databases

• Tabular Databases

• Tuple Store

Page 10: No SQL Databases

Document Store

What comes in your mind???

Presenter
Presentation Notes
Lineage: Inspired by Lotus Notes. Data model: Collections of documents, Stores as files, XML, JSON, BSON Eg: CouchDB, BaseX Used in most of the current business scenarios where documents are the primary concern. Taking example as CouchDB Stores data as JSON Uses Javascript for querying Useful in the cases where frequently changing data is obtained and the fields are changing rapidly Best for rapid development Disadvantages Paging is poor
Page 11: No SQL Databases

Graph

Heard this name somewhere before?

Presenter
Presentation Notes
Lineage: Euler and graph theory. Data model: Nodes & relationships, both which can hold key-value pairs Stores data in schema less way Facebook is the biggest user… Commercial stuff. IBM DB2 Advantages: Can represent complex relationships Very fast in computing graph problems
Page 12: No SQL Databases
Page 13: No SQL Databases

Key-Value Store

Stores as key-value pairs and hence

#fastest

Presenter
Presentation Notes
Examples: Amazon Dynamo DB Advantages Handles size well. Processing a constant stream of small reads and writes. Very Fast. Programmer friendly
Page 14: No SQL Databases

Object Database

Stores stuff as objects as in the object oriented programming language

Presenter
Presentation Notes
JADE, has temporary and persistent objects. Temporary objects have scope Advantages Stores data as objects so the programmer needn’t parse data as usual More structure, order and improved readability
Page 15: No SQL Databases

Tabular Databases

The normal stuff. But again NO SQL

Presenter
Presentation Notes
Eg: bigtable which is a part of Google app engine Advantages: Handles size well. Stream massive write loads. High availability. Multiple-data centers. MapReduce.
Page 16: No SQL Databases

Tuple Store

Anybody knowing python would know what I mean by this

Presenter
Presentation Notes
Stores data as tuples. Advantages: Same as key-value pairs
Page 17: No SQL Databases

FYI

Page 18: No SQL Databases

Features, Features and Features

Page 19: No SQL Databases

No indexing = Faster Searching

Very fast lookups. Lack of flexibility

Presenter
Presentation Notes
Show difference between the key value store like memcached and sql databases
Page 20: No SQL Databases

Many NoSQL databases have caching

Redbull for database. More resources used

Page 21: No SQL Databases

Meant for the data today

Easier to maintain Learning Curve

Page 22: No SQL Databases

Meant to SCALE

Scalability in DNA Scalable setup is

cumbersome at times

Page 23: No SQL Databases

SQLor

NoSQL

So now its your turn

Page 24: No SQL Databases

Disclaimer: 1.All the above content is what I inferred from my experience and knowledge from various blogs and sites on internet. This is a relatively new topic but again is being used in the industry and hence is maturing fast.2. I have no hatred towards SQL eventhough this presentation is biased towards NoSQL. But todays applications force us developers/engineers to move onto alternatives.

Page 25: No SQL Databases

Thank you