Polyglot Persistence
Polyglot Persistence
复制标题
多语言持久性
DOI:
10.1007/s13222-015-0194-1
复制
发表时间:
2015
期刊:
影响因子:
--
通讯作者:
N. Ritter
中科院分区:
文献类型:
--
作者:
Felix Gessert;N. Ritter
Moderne Anwendungen werden zunehmend datengetriebener und verteilter, um immer mehr Nutzer bei stets wachsenden Datenmengen mit geringstmöglichen Antwortzeiten zu bedienen. Dabei werden nicht nur die verarbeiteten Daten heterogener, sondern auch die Anforderungen: Horizontale Skalierbarkeit, Schemaflexibilität und Ausfallsicherheit sind für viele Anwendungen unabdingbar geworden. Während klassische relationale Datenbanksysteme viele funktionale Anforderungen (z. B. ACID-Transaktionen, ausdrucksstarke Queries) erfolgreich abdecken, fehlt ihnen die Skalierbarkeit, Performance und Fehlertoleranz, die spezialisierte Systeme durch bewusst getroffene Kompromisse erzielen können. Die explosionsartig ansteigende Systemvielfalt der NoSQLund Big-Data-Bewegung hat dazu geführt, dass für bestimmte Teilprobleme einer Anwendung oft besonders geeignete Datenbanksysteme zur Verfügung stehen. Das Architekturmuster Polyglot Persistence bezeichnet den Einsatz verschiedener Datenbanken für verschiedene Anforderungen. Der Begriff wurde 2011 von Martin Fowler popularisiert und lehnt sich an Polyglot Programming an [6]. Der Kerngedanke von Polyglot Persistence ist, dass eine Abkehr von monolithisch konzipiertenAnwendungen mit einer „one-size-fits-all“-Datenbank Entwicklungsproduktivität und Performance erhöhen kann. Polyglotte (mehrsprachige) Persistenz kann sich dabei sowohl auf einzelne Anwendungen als auch ganze Unternehmen beziehen. Abb. 1 zeigt eine beispielhafte Polyglot-PersistenceArchitektur für eine E-Commerce-Applikation, wie sie in