Wie wir die Kartenverarbeitung mit Exadata gespeichert haben

In den letzten 10 Jahren hat VTB einen massiven Anstieg der Rechenlast verzeichnet. Jedes Jahr stieg es um das Eineinhalbfache und das Volumen der Anmeldeinformationen um zwei. Die Support-Services waren sehr bemüht, aber mit diesem Tempo Schritt zu halten war nicht einfach: Abfragepläne wurden verschoben, der Speicherplatz ging zur Neige, Aktualisierungen des Anwendungscodes verbrauchten alle Ressourcen. In diesem Beitrag zeigen wir Ihnen, wie Sie das Problem lösen können, ohne viel Geld für ein anderes IBM System auszugeben.



Im Jahr 2013 befand sich die Kartenverarbeitung, damals noch VTB24-Bank, auf einem der leistungsstärksten Server dieser Zeit - IBM System p. Dies wurde durch Repliken für verschiedene Berichte ergänzt. Die Replikate für die Berichterstellung lebten von zusätzlichen Geräten: einer nächtlich aktualisierten Datenbank für die tägliche Berichterstellung, Tools für das aktive Oracle Active Data Guard-Replikat für die operative Berichterstellung und einer Datenbank für die Zentralbankberichterstattung, die wir monatlich aktualisierten.



Wir haben die Funktionalität der Systeme aktiv angepasst - der größte Teil des Anwendungscodes war mit internen Verbesserungen belegt. Gleichzeitig wuchsen die Daten sehr schnell. Infolgedessen verschlechterte sich der Abfrageplan für vier Basen regelmäßig. Frontsysteme waren langsam. Aus technischer Sicht gab es noch eine weitere Schwierigkeit: Die OLTP-Last von Kartentransaktionen wurde mit der DWH / DSS-Last von angepassten Funktionen und Berichten gemischt.

Der Standardausweg aus dieser Situation besteht darin, Ressourcen zu entleeren und zu einem steileren Subsystem der Datenspeicherung zu wechseln. Wir haben uns eine interessantere Option ausgedacht - wir haben für die Berichterstellung zwei für den Datenbankbetrieb optimierte Oracle Exadata-Hardware- und -Softwarekomplexe verwendet.

Der Verarbeitungskomplex wurde in „warme“ und „heiße“ Zonen unterteilt. Die Hot Zone wurde mit IBM System p nirgendwo verschoben, und nur die Datenbank wurde darin beibehalten. Die "warme" Zone war eine Kopie der Hauptdatenbank von Exadata. Hier finden Sie alle Berichts- und benutzerdefinierten Funktionen. Replizierte Daten mit Oracle GoldenGate.



Wir haben Replikattests für Exadata durchgeführt: Dank der Architektur und der Funktionen der Oracle Exadata Storage-Software - Smartscans, Speicherindizes, Bloom-Filter usw. - wurde die Berichterstellung im Durchschnitt fünfmal schneller. Der Zeitaufwand für die Erstellung von Berichten für die Zentralbank wurde um den Faktor zehn reduziert, und jetzt werden einige Berichte in weniger als einer Stunde erstellt. Das Wichtigste, was getan werden musste, um Abfragen während der Portierung nach Exadata zu optimieren, war, die Hinweise zu entfernen, die zuvor bei der Arbeit auf der alten Plattform hilfreich waren.



Wir haben eine Machbarkeitsstudie durchgeführt, in der Optionen für verschiedene Parameter mit der üblichen Erweiterung aktueller Systeme und der Beteiligung von zwei Exadata-Komplexen verglichen wurden.

  • Leistung. 40.000 IOPS gegenüber 400.000 IOPS bei Exadata. Die Oracle-Lösung ist auf große Datenmengen ausgerichtet, der vollständige Tabellenscan ist viel schneller.
  • Anpassungsoptionen. In der Standardlösung können wir die Struktur von Objekten nicht ändern, ohne die produktive Datenbank zu ändern. Dies ist vom Anbieter verboten. In Exadata können wir unnötige Indizes entfernen, die erforderlichen hinzufügen und die Reaktion des Systems verbessern.
  • Skalieren. Exadata bietet eine lineare Produktivitätssteigerung zu relativ geringeren Kosten.
  • Berichterstattung. Die Berichtsgeschwindigkeit mit dem Exadata-Komplex erhöht sich um das Fünffache und mit der Skalierung vorhandener Systeme um das 1,5-fache.
  • Service. Die Oracle-Infrastruktur verfügt über einen einheitlichen technischen Support, ein einziges Update-System für Server, Festplattensubsysteme und Netzwerkinfrastruktur. Bei normaler Skalierung müssen Sie mit verschiedenen Anbietern zusammenarbeiten - es gibt mehr Ausfallzeiten und andere Unannehmlichkeiten.
  • Kosten. Exadata gewinnt hier.

Die GoldenGate-Replikation stellte sich zunächst als Schwachstelle heraus: Bei langen Transaktionen an der Quelle blieb sie zurück. Wir haben dies gelöst, indem wir einige Bewerbungsprozesse aktualisiert und verfeinert haben. Danach hat uns die Arbeit mit Exadata nur noch Vorteile gebracht.

Wir haben benutzerdefinierte Indizes und Partitionierungen eingeführt, mit denen wir die Leistung benutzerdefinierter Funktionen steigern konnten. IBM erlaubt diese Optimierung nicht.

Durch die Übertragung der analytischen Berichterstattung in die „warme“ Zone konnte die Speichertiefe der historischen Daten der „heißen“ Zone verringert werden. Dies hat die Kosten für teure Lagerung reduziert. Es gelang, das Einfügen in Indizes zu beschleunigen. Das Löschen von Daten durch das Housekeeping-Modul wurde auf GoldenGate-Ebene gefiltert. Infolgedessen enthielt das Replikat frische Daten und die gesamte Story.
Exadata verwendet die Hybrid Column Compression (HCC). Dies spart erheblich Speicherplatz. Daten, die älter als ein Jahr sind, werden mit der Methode "Niedrig archivieren" komprimiert. Daten, die älter als ein Monat sind, werden mit der erweiterten Komprimierungsmethode komprimiert. Neuere Daten werden nicht komprimiert, um die Geschwindigkeit zu erhöhen.

Für das Upgrade ist es am effizientesten, ganze Speicherzellen in Exadata durch Zellen mit größeren Festplatten und leistungsstarken Prozessoren zu ersetzen. Sie können jedoch Speicherzellen verschiedener Versionen innerhalb desselben Systems verwenden - Oracle ermöglicht dies.
Die auf Oracle Exadata- und Datenbanktechnologien implementierte Berichterstellung für die Kartenverarbeitung hat bisher einwandfrei funktioniert, und neue Bankensysteme werden nach demselben Prinzip erstellt.

Source: https://habr.com/ru/post/de415605/


All Articles