improving web-based systems with nosql: useful or unnecessary? amanda orin ict 4902 capstone seminar

22
Improving Web-based Systems with NoSQL: Useful or Unnecessary? AMANDA ORIN ICT 4902 CAPSTONE SEMINAR

Upload: geraldine-cummings

Post on 01-Jan-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Improving Web-based Systems with NoSQL: Useful or Unnecessary?

AMANDA ORIN

ICT 4902 CAPSTONE SEMINAR

BACKGROUND Let’s face it – web technology is so ingrained

into our daily lives that we assume it will always be readily at our fingertips.

BACKGROUND But so many of us

share in this assumption…

BACKGROUND … that sometimes we forget

what powers it.

BACKGROUND How do the web sites and web applications

which keep us “in the know” handle that many people and their demands

for information?

BACKGROUND ANSWER:Database systems hold the data that web applications access.

Request

Data

BACKGROUND Most web-based database systems are (or originally started out as) relational.

These database system converts believe that NoSQL is better for “Big Data” needs within

web-based systems.

However, lately many product owners and companies have been switching to non-relational database systems

(NoSQL).

BACKGROUND While some of these users are right on the money, assuming that all web-based situations benefit from NoSQL database systems as the sole solution is just naïve.

For one thing, there are more web-based information systems than just those which

pass around “Big Data”.

For another, there are multiple factors to consider in the comparison between relational and NoSQL database systems as solution types.

does movin

gfrom

torelationa

lSO

WHEN

“Despite their recent rise to popularity, adopting the use of NoSQL database systems in web-enabled information systems does not always yield improved results when transitioning from the use of a relational database system.”

- Thesis Statement

cause more

than ?

FOUNDATIONSTo understand why not all web-enabled

database system types are created equal, there are a few areas of interest worth

covering.How did NoSQL grow to be the default modern

data solution?ACID properties, BASE properties,

and the CAP Theorem

What do web-based systems

need?

Why NoSQL database systems aren’t always the

best (i.e. weaknesses)

What strengths still make relational database systems a

strong contender?

Why companies can’t decide

Scalability Support

Consistent Availability

Focused Big Data Support

NOSQL SELLING POINTSPeople switched to NoSQL

because…

Data Variety

Relational database systems follow these properties as part of their

design.

ACID PROPERTIES

When ACID properties are flexible, they become BASE properties:• BA = Basically Available• S = Soft state• E = Eventually consistent

NoSQL database systems tend to follow the BASE properties more than ACID properties.

BASE PROPERTIES

CAP Theorem only allows for the implementation of two areas at a time:• C = Consistency of data views• A = Availability of data, even in

failure• P = Partitioning across server nodesRelational databases (RDBMS) allow for availability and consistency.

NoSQL databases allow for other CAP combinations to gain partitioning.

CAP THEOREM

When switching to NoSQL, there are almost too many options to choose

from, and the majority (if not all) are open source.

=

Open source projects lack official technical support.

Therefore, a majority of NoSQL options lack true technical support.

WHY CAN’T I JUST CHOOSE?

!=

When switching to NoSQL, there is the risk of losing the security capabilities that RDBMS have.

An insecure database system can lead to data corruption. Corrupted data is

worthless.

TRADEOFFS

“Relational databases in general and MySQL specifically have extensive built-in multi-user support. Many graph databases, on the other hand, lack much support for multiuser Environments.” (Vicknair et al. 2010)

HOW TO APPLY IT3 Case Studies

Web-enabled systems attempt to incorporate NoSQL Online Banking

= +Twitter

Crisis Informatics

LESSONS LEARNED“[Relational database] MySQL works well

enough most of the time that it's worth using. Twitter values stability over features

so they've stayed with older releases.” (Hoff 2011)

“NoSQL databases typically don't have strict Acidity needs. In by doing this, data that's up-to-

date using a transaction might be atomic (transaction is either implemented to all update locations or folded-back), might not be durable

when the energy fails”(CodeBlow 2012)

“The flexibility of this architecture allows for the addition of a number of different persistent storage solutions without changing the client software.”(Schram and Anderson 2012)

= +

CONCLUSION = HYBRIDS!

relational +

When you cannot or are not willing to sacrifice availability or consistency in order to gain partitioning capabilities, consider a hybrid database system as a solution.

Example:Use a relational approach (i.e. RDBMS) for tasks involving

analysis. Use a NoSQL approach for heavier loads of real-time data storage.

IN THE BIG SCHEME OF THINGS“Hybrid systems with multiple data stores based generally on

different principles are expected to be a trend in the future.” (Pokorny 2011)

“As the very nature of data changes from static, well structured and predictable to shape-shifting in format over time, new strategies and paradigms will be needed for warehousing and analyzing these data.” (Riise 2014)

Database systems are evolving as technology’s performance and behaviors evolve, and so they will continue to be a point of debate among companies and product owners.

REFERENCES

Riise, Soren. 2014. “NoSQL vs. RDBMS for Interactive Analytics: Leveraging the Right and Left Brain of Data.” SmartData Collective, February 6.

Pokorny, Jaroslav. 2011. “NoSQL Databases: A Step to Database Scalability in Web Environment.”

Proceedings of the 13th International Conference on Information Integration and Web-based Applications and Services: 278-83.

CodeBlow. 2012. “NoSQL Database for Banking System.” CodeBlow, March 9. Accessed June 28, 2014.

REFERENCES

Vicknair, Chad, Michael Macias, Zhendong Zhao, Xiaofei Nan, Yixin Chen, and Dawn Wilkins. 2010. “A Comparison of a Graph Database and a Relational Database: A Data Provenance Perspective.” Proceedings of the 48th Annual Southeast Regional Conference no. 42.

Schram, Aaron, and Kenneth M. Anderson. 2012. “MySQL to NoSQL: Data Modeling Challenges in Supporting Scalability.” Proceedings of the 3rd Annual Conference on Systems, Programming,

and Applications: Software for Humanity: 191-202