polyglot persistence for enterprise cloud applications
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