Polyglot persistence for enterprise cloud applications

Post on 14-Aug-2015

1,098 views 2 download

transcript

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

Polyglot Persistence for Enterprise Cloud Applications

› CAP Theorem

› Persistence RDBMS vs NoSQL DB

› Enterprise Cloud Infrastructures & Applications

› Polyglot Persistence

Polyglot Persistence for Enterprise Cloud Applications

› CAP Theorem› Eric Brewer on distributed systems.

Polyglot Persistence for Enterprise Cloud Applications

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

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 )

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

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

Enterprise Cloud Infrastructures

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.

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.

Polyglot Persistence

Polyglot Persistence

System Architecture

Polyglot Persistence

Ecommerce Architecture Implementation

Polyglot Persistence

Ecommerce Product Implementation

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

END OF PRESENTATION

THANK YOU

LARS ALBINO LEMOS