📑 Table of Contents

Polyglot persistence is using multiple data storage technologies within a single system, in order to meet varying data storage needs. Such a system may consist of multiple applications, or it may be a single application with smaller components.

Description

edit

Polyglot persistence shares its origins with how the term polyglot programming is defined. Polyglot programming is a term coined by Neal Ford in 2006, and expresses the idea that computer applications should be written in a mix of different programming languages, in order to take advantage of the fact that different languages are suitable for tackling different problems. Complex applications combine different types of problems, so picking the right language for each job may be more productive than trying to solve all aspects of the problem using a single language. This same concept can be applied to databases, that an application can communicate with different databases, using each for what it is best at to achieve an end goal, hence the term polyglot persistence.

Since there are numerous databases available to solve different problems, using a single database to satisfy all of a program's requirements can result in a non-performant, "jack of all trades, master of none" solution. Relational databases, for example, are good at enforcing relationships that exist between various data tables. To discover a relationship or to find data from different tables that belong to the same object, an SQL join operation can be used. This might work when the data is smaller in size, but becomes problematic when the data involved grows larger. A graph database might solve the problem of relationships in case of Big Data, but it might not solve the problem of database transactions, which may be provided better by relational database management systems. Instead, a NoSQL document database might be used to store unstructured data for that particular part of the problem. Thus different problems are solved by different database systems, all within the same application.

Some of such data storage technologies, but not limited to, could be

Martin Fowler writes in one of his articles, "One of the interesting consequences of this is that we are gearing up for a shift to polyglot persistence where any decent sized enterprise will have a variety of different data storage technologies for different kinds of data. There will still be large amounts of it managed in relational stores, but increasingly we'll be first asking how we want to manipulate the data and only then figuring out what technology is the best bet for it."[1]

References

edit
  1. ^ "bliki: PolyglotPersistence". martinfowler.com. Retrieved 2020-07-09.
edit

📚 Artikel Terkait di Wikipedia

Multi-model database

kernels. A multi-model database is most directly a response to the "polyglot persistence" approach of knitting together multiple database products, each handing

NoSQL

(2012). NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley. ISBN 978-0-321-82662-6. McCreary, Dan; Kelly, Ann

Polyglot (computing)

In computing, a polyglot is a computer program or script (or other file) written in a valid form of multiple programming languages or file formats. The

Martin Fowler (software engineer)

2012. NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. With Pramod Sadalage. Addison-Wesley. ISBN 978-0-321-82662-6. 2013

IBM Db2

trails for their data warehouse. Polyglot persistence: Db2 Warehouse on Cloud is optimized for polyglot persistence of data, and supports relational (columnar

XML database

March 2015. [NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley Educational Publishers Inc, 2009] ISBN 978-0321826626

Monolingualism

Wiktionary, the free dictionary. Monolingualism and Judaism by Jose Faur, contrasting the Greek monolingualism with the polyglot culture of the Hebrews

Languages of science

20th century—the German Chemisches Zentralblatt—was discontinued. This polyglot compilation in 36 languages could no longer compete with the English-focused