polyglot persistence for enterprise cloud applications

19
MASTER OF COMPUTER APPLICATIONS Polyglot Persistence for Enterprise Cloud Applications Lars Albino Lemos Under the Guidance of: Dr. K. Jaya MCA 2012-2015 LARS ALBINO LEMOS

Upload: lars-lemos

Post on 14-Aug-2015

1.107 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Polyglot persistence for enterprise cloud applications

MASTER OF COMPUTER APPLICATIONS

Polyglot Persistence for Enterprise Cloud Applications

Lars Albino Lemos

Under the Guidance of: Dr. K. Jaya

MCA 2012-2015 LARS ALBINO LEMOS

Page 2: Polyglot persistence for enterprise cloud applications

Polyglot Persistence for Enterprise Cloud Applications

› CAP Theorem

› Persistence RDBMS vs NoSQL DB

› Enterprise Cloud Infrastructures & Applications

› Polyglot Persistence

Page 3: Polyglot persistence for enterprise cloud applications

Polyglot Persistence for Enterprise Cloud Applications

› CAP Theorem› Eric Brewer on distributed systems.

Page 4: Polyglot persistence for enterprise cloud applications

Polyglot Persistence for Enterprise Cloud Applications

› CAP Theorem Implementation› There is Good, Cheap, Fast service.

Page 5: Polyglot persistence for enterprise cloud applications

PersistenceRDBMS

AdvantagesStandard Query Interface (SQL)

Widely used and understood (Oracle, MySQL, SQL Server, PostgreSQL)

Tested in real environments(Concurrency and Mission Control)

Efficient use of storage space if data normalized properly(Normal

Forms)

Great tools support (Reporting )

ACID semantics (Atomicity, Consistency, Isolation, Durability)

Incredibly flexible and powerful query language(PL/SQL, T-SQL)

Great framework support(.NET, Java SE/EE/ME )

Page 6: Polyglot persistence for enterprise cloud applications

PersistenceRDBMS

Disadvantages

Complex object graphs does not map

very well with tables structures.

Difficult to evolve Schema with time.

Data constraints and JOINs can be

expensive at runtime.

Difficult to scale horizontally.

Impendence mismatch

Page 7: Polyglot persistence for enterprise cloud applications
Page 8: Polyglot persistence for enterprise cloud applications
Page 9: Polyglot persistence for enterprise cloud applications

PersistenceNoSQL

Advantages

Schema Less

Scales writes and reads

Easy to scale horizontally

Solve practical use-case

LimitationsComplexity due to schema-less.

Inter-aggregate relations are hard to maintain

Page 10: Polyglot persistence for enterprise cloud applications

Enterprise Cloud Infrastructures

Page 11: Polyglot persistence for enterprise cloud applications

Enterprise Cloud Applications

Page 12: Polyglot persistence for enterprise cloud applications

Polyglot PersistenceWhy Polyglot?

›Using multiple data storage technologies, chosen based upon the way data is being used by individual applications or components of single application.

›Polyglot persistence will occur over the enterprise as different applications use different data storage technologies. It will also occur within a single application as different parts of an application’s data store have different access characteristics.

AdvantagesRapid access for reads and writes. No need to be durable

Needs transactional updates. Tabular structure fits data.

Needs high availability across multiple locations. Can merge inconsistent writes.

Rapidly traverse links between friends, product purchases and ratings.

Lots of reads, infrequent writes. Products make natural aggregate.

SQL interfaces well with reporting tools.

Large-scale analytics on large cluster.

Page 13: Polyglot persistence for enterprise cloud applications

Polyglot PersistenceWhy Polyglot?

Limitations

Decisions: We have to decide what data storage technology to use, rather than just go with relational.

Organizational change: How will our data groups react to this new technology.

Immaturity: NoSQL tools are still young and full of rough edges that new tools have. Due to that there are no good patterns.

Eventual Consistency Paradigm: How will different stakeholders in the enterprise data deal with that, how they will enforce rules to sync data across systems.

Page 14: Polyglot persistence for enterprise cloud applications

Polyglot Persistence

Page 15: Polyglot persistence for enterprise cloud applications

Polyglot Persistence

System Architecture

Page 16: Polyglot persistence for enterprise cloud applications

Polyglot Persistence

Ecommerce Architecture Implementation

Page 17: Polyglot persistence for enterprise cloud applications

Polyglot Persistence

Ecommerce Product Implementation

Page 18: Polyglot persistence for enterprise cloud applications

ReferencesThinking Beyond RDBMS – Shekhar Gulati

Data Access for Highly - Scalable Solutions : Using SQL, NoSQL, and Polyglot Persistence - Douglas McMurtry Andrew Oakley John Sharp Mani Subramanian Hanz Zhang

NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence - Pramod J.Sadalage, Martin Fowler

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement

- Eric Redmong, Jim R. Wilson

Page 19: Polyglot persistence for enterprise cloud applications

END OF PRESENTATION

THANK YOU

LARS ALBINO LEMOS