Presentantion for the thesis of Master of Computer Applications.
Describes the problems faced by developing an enterprise applicaition taking into consideration the cap theorem and the resources provided by cloud computing.
5. Persistence
RDBMS
Advantages
Standard 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 )
6. Persistence
RDBMS
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
12. Polyglot Persistence
Why 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.
Advantages
Rapid 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.
13. Polyglot Persistence
Why 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.
18. References
Thinking Beyond RDBMS – ShekharGulati
Data Access for Highly - Scalable Solutions : Using SQL, NoSQL, and Polyglot Persistence - Douglas McMurtryAndrew
OakleyJohnSharpMani SubramanianHanz Zhang
NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence - PramodJ.Sadalage, MartinFowler
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
- Eric Redmong, JimR. Wilson