{"id":16911,"date":"2023-06-21T09:08:36","date_gmt":"2023-06-21T07:08:36","guid":{"rendered":"https:\/\/www.dbconcepts.com\/mit-postgres-keine-ausfallzeiten-mastercards-erfolgsstory\/"},"modified":"2023-12-08T11:50:29","modified_gmt":"2023-12-08T10:50:29","slug":"mit-postgres-keine-ausfallzeiten-mastercards-erfolgsstory","status":"publish","type":"post","link":"https:\/\/www.dbconcepts.com\/en\/mit-postgres-keine-ausfallzeiten-mastercards-erfolgsstory\/","title":{"rendered":"Mit Postgres keine Ausfallzeiten: Mastercards Erfolgsstory"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"16911\" class=\"elementor elementor-16911 elementor-13454\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"ob-is-breaking-bad elementor-section elementor-top-section elementor-element elementor-element-cfabbf8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cfabbf8\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;_ob_bbad_use_it&quot;:&quot;yes&quot;,&quot;_ob_bbad_sssic_use&quot;:&quot;no&quot;,&quot;_ob_glider_is_slider&quot;:&quot;no&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5310365\" data-id=\"5310365\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;_ob_bbad_is_stalker&quot;:&quot;no&quot;,&quot;_ob_teleporter_use&quot;:false,&quot;_ob_column_hoveranimator&quot;:&quot;no&quot;,&quot;_ob_column_has_pseudo&quot;:&quot;no&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-be9398b ob-harakiri-inherit ob-has-background-overlay elementor-widget elementor-widget-heading\" data-id=\"be9398b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_ob_use_harakiri&quot;:&quot;yes&quot;,&quot;_ob_harakiri_writing_mode&quot;:&quot;inherit&quot;,&quot;_ob_harakiri_text_clip&quot;:&quot;none&quot;,&quot;_ob_perspektive_use&quot;:&quot;no&quot;,&quot;_ob_poopart_use&quot;:&quot;yes&quot;,&quot;_ob_shadough_use&quot;:&quot;no&quot;,&quot;_ob_allow_hoveranimator&quot;:&quot;no&quot;,&quot;_ob_widget_stalker_use&quot;:&quot;no&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Warum Postgres Mastercards Geheimnis f\u00fcr null Ausfallzeiten ist<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fd39dfa ob-harakiri-inherit ob-has-background-overlay elementor-widget elementor-widget-text-editor\" data-id=\"fd39dfa\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_ob_use_harakiri&quot;:&quot;yes&quot;,&quot;_ob_harakiri_writing_mode&quot;:&quot;inherit&quot;,&quot;_ob_postman_use&quot;:&quot;no&quot;,&quot;_ob_perspektive_use&quot;:&quot;no&quot;,&quot;_ob_poopart_use&quot;:&quot;yes&quot;,&quot;_ob_shadough_use&quot;:&quot;no&quot;,&quot;_ob_allow_hoveranimator&quot;:&quot;no&quot;,&quot;_ob_widget_stalker_use&quot;:&quot;no&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Mit freundlicher Genehmigung von EDB \u2013 \u00dcbersetzt aus dem Englischen (<\/strong><a href=\"https:\/\/www.enterprisedb.com\/resources\/customer-story\/why-mastercards-secret-zero-downtime-is-postgres\" target=\"_blank\" rel=\"noopener\">Why Mastercard&#8217;s Secret to Zero Downtime is Postgres | EDB (enterprisedb.com)<\/a><\/p>\n<p>Mastercard setzt seit Jahren eine Reihe von Datenbanktechnologien darunter Oracle, MySQL, Microsoft SQL Server, Cassandra, Hadoop, DB2 und PostgreSQL ein. In meiner Rolle als Lead BizOps Engineer unterst\u00fctze ich das Zahlungsgateway, das Mastercard 2014 \u00fcbernommen hat. Mit ihm kam Postgres, ein angenehmer Zufall f\u00fcr das Unternehmen.<\/p>\n<p>Die bereits aktive Nutzung von Postgres trug dazu bei, die Disaster-Recovery-Strategie von Mastercard schnell zu verbessern. Zu dieser Zeit war die bin\u00e4re Streaming-Replikation von Postgres das wichtigste Werkzeug daf\u00fcr. Das funktionierte zwar gut, aber es stellte sich immer die Frage: &#8220;Wie k\u00f6nnen wir das besser machen?&#8221;<\/p>\n<h3><strong>Wie man null Ausfallzeiten erreichen kann <\/strong><\/h3>\n<p>Mastercard hatte mit zwei gro\u00dfen Problemen zu k\u00e4mpfen: die Zeit, die f\u00fcr die Umstellung der Verarbeitung auf den Disaster-Recovery-Seite ben\u00f6tigt wurde, und die Methode zur Durchf\u00fchrung von Wartungsaufgaben auf den Servern, wie z. B. Vakuumf\u00fcllung, Neuindexierung usw. Eine Betriebszeit von 99,999 % war eine Mindestanforderung des Unternehmens, daher waren diese Probleme inakzeptabel.<\/p>\n<p> Mit Postgres 9.4 kam die logische Replikation, und mit der logischen Replikation kam die Multi-Master-Replikation.<\/p>\n<h3><strong>Postgres: Eine wirtschaftliche Notwendigkeit<\/strong><\/h3>\n<p>Nach der Einf\u00fchrung von xDB MMR wurden die Vorteile sehr schnell erkannt. Vor allem der Wechsel zum DR-Standort wurde nicht nur schneller, sondern auch zuverl\u00e4ssiger.<\/p>\n<p>Aber xDB MMR bot mehr als nur eine verbesserte DR-L\u00f6sung. Es lieferte auch ein Datenmigrations-Tool, das sich als unsch\u00e4tzbar erwies, als Mastercard Daten zwischen den Kontinenten transportieren musste, um die sich st\u00e4ndig \u00e4ndernden Bestimmungen und Vorschriften in Bezug auf den Ort, an dem personenbezogene Daten gespeichert werden k\u00f6nnen, zu erf\u00fcllen.<\/p>\n<p>Einer der gro\u00dfen Vorteile der logischen Replikation gegen\u00fcber der bin\u00e4ren Streaming-Replikation ist ihre F\u00e4higkeit, Daten zu filtern. Ein weiterer Vorteil ist, dass der Postgres-Zielserver mit Funktionen und Triggern konfiguriert werden kann, um die Daten beim Schreiben in die Zieldatenbanktabellen weiter zu manipulieren.<\/p>\n<p>F\u00fcr Mastercard war dies sehr n\u00fctzlich, als man mit xDB Teilmengen von Daten \u00fcber Kontinente hinweg migrieren wollte, um den sich \u00e4ndernden Anforderungen der Aufsichtsbeh\u00f6rden gerecht zu werden.<\/p>\n<p>Die xDB-Filterung verhinderte, dass Daten den Quellkontinent verlie\u00dfen, die dort beheimatet waren. Dar\u00fcber hinaus erm\u00f6glichten Postgres-Trigger die nahtlose Anwendung zus\u00e4tzlicher Gesch\u00e4ftslogik auf die Daten, w\u00e4hrend diese auf den Zielserver geschrieben wurden. xDB wurde als Echtzeit-Datenmigrationstool eingesetzt und diese Datenmigrationsstrategie war sehr erfolgreich.<\/p>\n<\/p>\n<h3><strong> &#8220;Postgres funktioniert einfach.&#8221;<\/strong><\/h3>\n<p>In Zukunft wird Mastercard die M\u00f6glichkeit nutzen, mit xDB MMR Zahlungen in mehreren Rechenzentren gleichzeitig zu verarbeiten und die Standorte synchron zu halten. Es werden einige kleinere \u00c4nderungen an der Anwendung erforderlich sein, und es werden viele Tests durchgef\u00fchrt werden m\u00fcssen, insbesondere im Bereich der Datenkonflikte.<\/p>\n<p> Diese Aktualisierungen und Korrekturen haben gezeigt, dass die Migration zu Postgres eine wirtschaftliche Notwendigkeit war. Weil so viele Kreditkartentransaktionen pro Sekunden stattfanden, musste die Failover-Zeit reduziert werden. Mit Postgres konnten wir wirklich &#8220;Null Ausfallzeit&#8221; zu bieten. Es funktioniert einfach!<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Warum Postgres Mastercards Geheimnis f\u00fcr null Ausfallzeiten ist Mit freundlicher Genehmigung von EDB \u2013 \u00dcbersetzt aus dem Englischen (Why Mastercard&#8217;s Secret to Zero Downtime is Postgres | EDB (enterprisedb.com) Mastercard setzt seit Jahren eine Reihe von Datenbanktechnologien darunter Oracle, MySQL, Microsoft SQL Server, Cassandra, Hadoop, DB2 und PostgreSQL ein. In meiner Rolle als Lead BizOps [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":16351,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[495,496,460,490,1],"tags":[501,497,499,500,498],"class_list":["post-16911","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-en","category-database-en-2","category-miscellaneous-en","category-performance","category-unkategorisiert","tag-ausfallzeiten-en","tag-disaster-recovery-en","tag-postgres-en","tag-postgresql-en","tag-zero-downtime-en"],"_links":{"self":[{"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/posts\/16911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/comments?post=16911"}],"version-history":[{"count":0,"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/posts\/16911\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/media\/16351"}],"wp:attachment":[{"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/media?parent=16911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/categories?post=16911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbconcepts.com\/en\/wp-json\/wp\/v2\/tags?post=16911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}