sql or nosql: which is a better database for app development

21
[email protected] Toll Free : +1-877-284-1028 Which is a Better Database?

Upload: jason-kennedy

Post on 02-Jul-2015

7.051 views

Category:

Mobile


0 download

DESCRIPTION

For decades Relational database (RDBMS), like SQL, has been dominating the industry as the primary model for database management. However with the rise of social networks and million entry databases, non-relational “NoSQL” databases are gaining prominence as an alternative model for database management. However the debate is on whether NoSQL database management style is better or not. The rivalry between SQL and NoSQL is already legendary comparable to C,C++, PHP or Python. NoSQL technology was pioneered by leading internet companies — including Google, Facebook, Amazon, and LinkedIn — to overcome the limitations of a 40-year-old relational database technology for use with modern web applications. Today, small to large scale enterprises alike are implementing NoSQL databases for a growing number of use cases, a choice that is driven by four latest interrelated megatrends: Big Users, Big Data, the Internet of Things, and Cloud Computing. In defense of SQL technology there is only one statement: Tried, tested and fully known. Relational databases, as said earlier, went through trial by fire for a period of 40 years, and survived. It has its own uses but it has its own short comings. Lets look at the few. NoSQL Vs SQL: The major differences History SQL: Developed in 1970s to deal with first wave of data storage applications NoSQL: Developed in 2000s to deal with limitations of SQL databases, particularly concerning scale, replication and unstructured data storage Data Storage Model SQL: Individual records (e.g., “employees”) are stored as rows in tables, with each column storing a specific piece of data about that record (e.g., “manager,” “date hired,” etc.), much like a spreadsheet. Separate data types are stored in separate tables, and then joined together when more complex queries are executed. For example, “offices” might be stored in one table, and “employees” in another. When a user wants to find the work address of an employee, the database engine joins the “employee” and “office” tables together to get all the information necessary. NoSQL: Varies based on database type. For example, key-value stores function similarly to SQL databases, but have only two columns (“key” and “value”), with more complex information sometimes stored within the “value” columns. Document databases do away with the table-and-row model altogether, storing all relevant data together in single “document” in JSON, XML, or another format, which can nest values hierarchically. Database Schema SQL: Structure and data types are fixed in advance. To store information about a new data item, the entire database must be altered, during which time the database must be taken offline. NoSQL: Typically dynamic. Records can add new information on the fly, and unlike SQL table rows, dissimilar data can be stored together as necessary. For some databases (e.g., wide-column stores), it is somewhat more

TRANSCRIPT

Page 1: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

Which is a Better Database?

Page 2: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

For decades Relational database (RDBMS), like SQL, has

been dominating the industry as the primary model for

database management.

However recently, non-relational

“NoSQL” databases are gaining

prominence as an alternative model

for database management.

SQL or NoSQL: Which is a Better Database for App Development

Page 3: SQL or NoSQL: Which is a Better Database for App Development

SQL or NoSQL: Which is a Better Database for App Development

To SQL, or NoSQL, that is the question,Whether ’tis Nobler in thou mind to suffer,the complexities and confusions of outrageous database Relations,Or to taketh Arms against a Sea of ID troubles,[email protected] Toll Free : +1-877-284-1028

Page 4: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

SQL or NoSQL: Which is a Better Database for App Development

In defense of SQL technology there is

only one statement:

SQL went through trial by fire and has

survived for 40 Years

Of the many limitations of relational

database technology, it was realized

there is a need for something new....

Page 5: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

SQL or NoSQL: Which is a Better Database for App Development

... hence came the Pioneers of NoSQL technology

... And more

Page 6: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

The major differences

Page 7: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL Vs SQL: The major differences

HISTORY

SQL: Developed in 1970s to deal with first wave of data storage applications

NoSQL: Developed in 2000s to deal with

limitations of SQL databases, particularly

concerning scale, replication and

unstructured data storage

Page 8: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL Vs SQL: The major differences

SQL:

• Individual records are stored as rows in tables.

• Separate data types are stored in separate tables, and then joined together.

NoSQL: Varies based on database type. For

example, key-value stores function similarly to SQL

databases, but have only two columns (“key” and

“value”).

Document databases do away with the table-and-row

model altogether, storing all relevant data together in

single “document” which can nest values hierarchically.

DATA STORAGE MODEL

Page 9: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL Vs SQL: The major differences

SQL: Structure and data types are fixed in advance. To store information about a new data

item, the entire database must be altered.

NoSQL: Records can add new information on the fly,

and unlike SQL table rows, dissimilar data can be

stored together as necessary.

DATABASE SCHEMA

Page 10: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL Vs SQL: The major differences

SQL: Mix of open-source (e.g., Postgres, MySQL) and closed source (e.g., Oracle

Database)

NoSQL: It is completely Open-source but enterprise-

ready NoSQL solutions are only provided by startups

and relatively new companies.

DEVELOPMENT MODEL

Page 11: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL Vs SQL: The major differences

SQL: Regardless of their licenses, relational databases all implement the SQL standard to a

certain degree and thus, they can be queried using the Structured Query Language (SQL)

NoSQL: NoSQL databases each implement a unique

way to work with the data they manage. Therefore data

can be manipulated only through your Database

solution’s API. These APIs are generally object

oriented.

Data Manipulation

Page 12: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL Vs SQL: The major differences

SQL: Has to be scaled vertically, meaning a single server must be

made increasingly powerful in order to deal with increased demand.

NoSQL: Has to be scaled horizontally, meaning that

to add capacity, users can simply add more commodity

servers or cloud instances.

Scalability

Page 13: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL Vs SQL: The major differences

SQL: Relational database management systems have decade’s

long history. They are extremely popular and it is very easy to find

both free and paid support

NoSQL: Open-source versions of NoSQL databases

are complex to implement.

However since they are built using APIs of popular

languages only conceptual issues arises instead of

technical ones.

SUPPORT

Page 14: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL Limitations of NoSQL

Page 15: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL: Main Limitations

MATURITY

NoSQL alternatives and solutions are still in

nascent and pre-production stages and many

key features are yet to be implemented.

Page 16: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL: Main Limitations

SUPPORT

In contrast, NoSQL system support is provided

by small start-up companies without the global

reach, resources, or credibility of Oracle,

Microsoft, or IBM- the big names associated

with SQL.

Customer support is also better in RDBMS

systems like SQL and vendors provide a

higher level of enterprise support.

Page 17: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL: Main Limitations

DIFFICULTY

It is much easier to code an SQL query, but in NoSQL even

a simple query requires significant programming expertise.

Also commonly used BI tools do not provide

click and view query features to NoSQL. Infact

most BI tools don't even have facility to

connect with modern NoSQL databases.

Page 18: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL The Rising Star

Page 19: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL: The Rising Star

NoSQL databases were conceptualized and developed specifically to

meet the rising demands of latest Web 2.0 applications.

It was designed to meet the

database handling demands of

applications using million-entry-

databases.

Page 20: SQL or NoSQL: Which is a Better Database for App Development

[email protected] Toll Free : +1-877-284-1028

NoSQL: The Rising Star

Gone are the days when handling the database of million

entries was the domain of pricey large scale enterprise level

database solutions.

A mere startup can now do that, and more efficiently too.

As the field matures we will see better

solutions. One is already

making waves, MongoDB.

Page 21: SQL or NoSQL: Which is a Better Database for App Development

THANK YOU

Learn about how Algoworks can help your business!

Call us at: +1-877-284-1028

Mail us at: [email protected]

[email protected]

Official Blog Link- http://www.algoworks.com/blog/sql-or-nosql-which-is-

better-database-for-app-development/

Algoworks

[email protected] Toll Free : +1-877-284-1028