â Das ist ja etwas, â sagte sie laut, ohne sich an jemanden zu wenden. â Das ist ja etwas! Es steht doch ganz klar geschrieben â die Hauptaufgabe der Gesellschaft ist die Gewinnmaximierung im Interesse der AktionĂ€re. Denken Sie nur mal nach! Sie haben ĂŒberhaupt keine Angst!
Julij Dubov, âDas geringere Ăbelâ
Wenn Sie so eine Ăberschrift sehen, haben Sie sicher schon entschieden, dass der Artikel entweder dumm oder provokativ ist. Aber warten Sie mit Ihren Schlussfolgerungen: Die Mitarbeiter groĂer Unternehmen, insbesondere der Unternehmen mit staatlicher Beteiligung, mĂŒssen ziemlich hĂ€ufig verschiedene Plattformen vergleichen, darunter auch völlig unterschiedliche â zum Beispiel die, die in der Ăberschrift genannt werden.

NatĂŒrlich werden Datenbankmanagementsysteme so nicht verglichen, denn ihre StĂ€rken und SchwĂ€chen sind gut bekannt. In der Regel werden Plattformen verglichen, die eine bestimmte Anwendungsaufgabe lösen. In diesem Artikel zeige ich Ihnen die Methodik, die dabei verwendet wird, am Beispiel von Datenbanken, die den Lesern von Habr nicht unbekannt sein dĂŒrften. Also,
Motivation
Wenn Sie ein Lernprojekt oder ein Hobbyprojekt starten, können die Motivationen fĂŒr die Wahl der Plattform sehr unterschiedlich sein: âDiese Plattform kenne ich am bestenâ, âMit der hier möchte ich mich nĂ€her beschĂ€ftigenâ, âHier gibt es die beste Dokumentationâ⊠Im Falle eines kommerziellen Unternehmens gibt es nur ein Kriterium: Wie viel muss ich bezahlen und was erhalte ich dafĂŒr?
NatĂŒrlich möchte man weniger bezahlen und mehr erhalten. Allerdings muss entschieden werden, was wichtiger ist â weniger zu bezahlen oder mehr zu bekommen, und jedem Kriterium ein Gewicht zugeordnet werden. Angenommen, uns ist eine qualitativ hochwertige Lösung wichtiger als eine gĂŒnstige, dann vergeben wir dem Kriterium âKostenâ ein Gewicht von 40% und dem Kriterium âFunktionenâ 60%.

In groĂen Unternehmen ist es normalerweise umgekehrt â das Gewicht der Kosten fĂ€llt selten unter 50% und kann sogar ĂŒber 60% betragen. Im modellhaften Beispiel ist nur wichtig, dass das gesamte Gewicht der Unterkriterien eines ĂŒbergeordneten Kriteriums 100% betragen muss.
Ausschlusskriterien
Website Es sind etwa 500 Datenbankmanagementsysteme bekannt. NatĂŒrlich, wenn man die Zielplattform aus so vielen Optionen auswĂ€hlt, kann es sich um einen Ăberblicksartikel handeln, aber nicht um ein kommerzielles Projekt. Um den Auswahlraum zu verkleinern, werden Ausschlusskriterien formuliert, und wenn eine Plattform diese Kriterien nicht erfĂŒllt, wird sie nicht in Betracht gezogen.
Die Ausschlusskriterien können sich auf technologische Merkmale beziehen, zum Beispiel:
- ACID-Garantien;
- relationale Datenmodell;
- UnterstĂŒtzung der SQL-Sprache (bitte beachten Sie, dass dies nicht dasselbe ist wie das 'relationale Modell');
- die Möglichkeit der horizontalen Skalierung.
Es können allgemeine Kriterien sein:
- das Vorhandensein kommerzieller UnterstĂŒtzung in Russland;
- offener Quellcode;
- das Vorhandensein der Plattform im Register des Ministeriums fĂŒr digitale Entwicklung;
- das Vorhandensein der Plattform in einem Ranking (zum Beispiel in den ersten Hundert des Rankings db-engines.com);
- das Vorhandensein von Experten auf dem Markt (z. B. basierend auf den Ergebnissen der Suche nach dem Plattformnamen in LebenslÀufen auf der Website hh.ru).
SchlieĂlich können es unternehmensspezifische Kriterien geben:
- das Vorhandensein von FachkrÀften im Unternehmen;
- die KompatibilitĂ€t mit dem Ăberwachungssystem X oder dem Backup-System Y, auf das die gesamte UnterstĂŒtzung angewiesen ist...
Das Wichtigste ist, dass es eine Liste von ausschlieĂenden Kriterien gibt. Andernfalls wird es immer einen 'Experten' geben, der ein besonderes Vertrauen des Managements genieĂt und sagt: 'Warum haben Sie nicht die Plattform Z gewĂ€hlt, ich weiĂ, dass sie die beste ist.'
Kostenbewertung
Die Kosten fĂŒr die Lösung ergeben sich offensichtlich aus den Lizenzkosten, den UnterstĂŒtzungsgebĂŒhren und den Hardwarekosten.
Wenn die Systeme ungefĂ€hr derselben Klasse angehören (zum Beispiel Microsoft SQL Server und PostgreSQL), kann man zur Vereinfachung annehmen, dass die Anzahl der benötigten Hardware fĂŒr beide Lösungen ungefĂ€hr gleich sein wird. Dies spart Zeit und MĂŒhe, da die Hardware nicht bewertet werden muss. Wenn jedoch völlig unterschiedliche Systeme (zum Beispiel Oracle vs. Redis) verglichen werden mĂŒssen, ist es offensichtlich, dass fĂŒr eine korrekte Bewertung ein Sizing (Berechnung der Hardwareanforderungen) durchgefĂŒhrt werden muss. Das Sizing einer nicht existierenden System ist eine sehr undankbare Aufgabe, daher versucht man, solche Vergleiche zu vermeiden. Es ist einfach: In den ausschlieĂlichen Bedingungen werden null Datenverluste und ein relationales Modell oder umgekehrt â eine Last von 50.000 Transaktionen pro Sekunde â festgelegt.
FĂŒr die Bewertung von Lizenzen reicht es aus, beim Anbieter oder dessen Partnern den Preis fĂŒr eine feste Anzahl von Kernen und eine feste Supportdauer anzufragen. In der Regel haben Unternehmen bereits stabile Beziehungen zu Softwareanbietern, und wenn die Datenbankbetriebsabteilung die Kostenfrage nicht selbst beantworten kann, genĂŒgt ein einziges Schreiben, um diese Informationen zu erhalten.
Bei verschiedenen Anbietern können unterschiedliche Lizenzierungsmetriken gelten: nach Anzahl der Kerne, Datenvolumen oder Anzahl der Knoten. Eine Standby-Datenbank kann kostenlos sein oder auch lizenziert werden wie die Hauptdatenbank. Wenn nur Unterschiede in den Metriken festgestellt werden, muss das Modelltestumfeld detailliert beschrieben und die Lizenzkosten fĂŒr das Testumfeld berechnet werden.
Ein wichtiger Punkt fĂŒr einen korrekten Vergleich sind die gleichen Supportbedingungen. Angenommen, der Support von Oracle kostet 22 % des Lizenzpreises pro Jahr, wĂ€hrend fĂŒr den Support von PostgreSQL keine GebĂŒhren anfallen. Ist es so korrekt zu vergleichen? Nein, denn die Konsequenzen eines Fehlers, der nicht eigenstĂ€ndig behoben werden kann, sind völlig unterschiedlich: Im ersten Fall helfen die Support-Spezialisten schnell bei der Behebung, wĂ€hrend im zweiten Fall das Risiko eines Projektverzugs oder eines unbestimmten Stillstands des fertigen Systems besteht.
Die Bedingungen fĂŒr die Berechnung können auf drei Arten angeglichen werden:
- Oracle ohne Support nutzen (was in der RealitÀt nicht vorkommt).
- Support fĂŒr PostgreSQL kaufen â zum Beispiel bei der Firma Postgres Professional.
- Risiken einberechnen, die mit dem Fehlen von Support verbunden sind.
Ein Risikoabrechnungsbeispiel könnte so aussehen: Im Falle eines nicht lösbaren Datenbankausfalls betrĂ€gt der Stillstand des Systems 1 Arbeitstag. Der geplante Gewinn aus der Nutzung des Systems betrĂ€gt 40 Milliarden mongolische Tugrik pro Jahr, die Ausfallrate wird als 1/400 eingeschĂ€tzt, was das Risiko des Fehlens von UnterstĂŒtzung auf etwa 100 Millionen mongolische Tugrik pro Jahr schĂ€tzt. Offensichtlich sind 'geplanter Gewinn' und 'geschĂ€tzte Ausfallrate' virtuelle GröĂen, aber es ist viel besser, ein solches Modell zu haben, als gar keines.
In der Tat kann ein System zu wichtig sein, und die reputativen Verluste durch lĂ€ngere Ausfallzeiten könnten inakzeptabel sein, weshalb UnterstĂŒtzung erforderlich ist. Wenn jedoch Ausfallzeiten toleriert werden, kann der Verzicht auf UnterstĂŒtzung manchmal eine gute Möglichkeit sein, um Kosten zu sparen.
Nehmen wir an, dass die Betriebskosten der Plattform A ĂŒber 5 Jahre hinweg 800 Millionen mongolische Tögriks betrugen, die Betriebskosten der Plattform B â 650 Millionen Tögriks, und die Betriebskosten der Plattform C â 600 Millionen Tögriks. Plattform C erhĂ€lt als Sieger den vollen Punkt fĂŒr die Kosten, wĂ€hrend die Plattformen A und B entsprechend weniger Punkte erhalten, proportional zu dem, um wieviel teurer sie sind. In diesem Fall â 0,75 und 0,92 Punkte respektive.
Bewertung der Möglichkeiten
Die Bewertung der Möglichkeiten lÀsst sich in zahlreiche Gruppen unterteilen, deren Anzahl nur durch die Fantasie des Bewertenden begrenzt ist. Eine optimale Lösung scheint die Unterteilung der Möglichkeiten nach den Teams zu sein, die diese nutzen werden; in unserem Beispiel sind das Entwickler, Administratoren und Informationssicherheitsbeauftragte. Nehmen wir an, die Gewichte dieser Funktionen verteilen sich wie 40:40:20.
Zu den Entwicklungsfunktionen gehören:
- vorhandene Datenmanipulation;
- Skalierbarkeit;
- Vorhandensein von SekundÀrindizes.
Die Liste der Kriterien sowie deren Gewichte ist sehr subjektiv. Selbst bei der Lösung derselben Aufgabe werden diese Listen, das Gewicht der Punkte und die Antworten erheblich variieren, abhĂ€ngig von der Zusammensetzung Ihres Teams. So verwendet Facebook beispielsweise MySQL zur Datenspeicherung, wĂ€hrend Instagram auf Cassandra basiert. Es ist unwahrscheinlich, dass die Entwickler dieser Anwendungen solche Tabellen ausgefĂŒllt haben. Man kann nur vermuten, dass Mark Zuckerberg ein vollstĂ€ndiges relationales Modell gewĂ€hlt hat, was ihm die Notwendigkeit des Anwendungs-Shardings einbrachte, wĂ€hrend Kevin Systrom die Skalierbarkeit zugunsten des Datenzugangs opferte.
Zu den Verwaltungsfunktionen gehören:
- Möglichkeiten des Backupsystems;
- Benutzerfreundlichkeit des Monitorings;
- Benutzerfreundlichkeit der Leistungsverwaltung â Festplatten und Knoten;
- Möglichkeiten der Datenreplikation.
Bitte beachten Sie, dass die Formulierungen der Fragen eine quantitative Bewertung zulassen sollten. Man kann sogar vereinbaren, wie eine bestimmte Funktion bewertet werden soll. Lassen Sie uns beispielsweise versuchen, die Backup-Tools am Beispiel der mit Oracle-Datenbanken gelieferten Tools zu bewerten:
Tool
Kommentar
Bewertung
imp/exp
Datenexport und -import
0.1
Backup beginnen/beenden
Dateikopie
0.3
RMAN
Möglichkeit des inkrementellen Kopierens
0.7
ZDLRA
Nur inkrementelles Kopieren, schnellste Wiederherstellung zu einem bestimmten Zeitpunkt
1.0
Wenn klare Bewertungskriterien fehlen, macht es Sinn, mehrere Experten um eine Bewertung zu bitten und diese dann zu mitteln.
Lassen Sie uns schlieĂlich einfach die Funktionen der Informationssicherheit auflisten:
- Vorhandensein von Passwortverwaltungspolitiken;
- Möglichkeit der Anbindung externer Authentifizierungsmittel (LDAP, Kerberos);
- Rollenbasiertes Zugriffsmodell;
- Auditmöglichkeiten;
- VerschlĂŒsselung der Daten auf der Festplatte;
- VerschlĂŒsselung beim Ăbertragen ĂŒber das Netzwerk (TLS);
- Datenschutz vor Administratoren.
Leistungstest
Ich möchte ausdrĂŒcklich davor warnen, Ergebnisse von Lasttests, die nicht von Ihnen durchgefĂŒhrt wurden, als Argumente zu verwenden.
Erstens können die Struktur der Daten und das Lastprofil der getesteten Anwendungen erheblich von dem abweichen, was Sie zu lösen beabsichtigen. Vor 10-15 Jahren haben Datenbankhersteller gerne mit Ergebnissen aus TPC-Tests geprahlt, aber heute scheint niemand diese Ergebnisse ernst zu nehmen.
Zweitens hĂ€ngt die Leistung des Systems stark davon ab, fĂŒr welche Plattform der Code ursprĂŒnglich geschrieben wurde und auf welcher Hardware der Test durchgefĂŒhrt wurde. Ich habe viele Tests gesehen, in denen Oracle mit PostgreSQL verglichen wurde. Die Ergebnisse reichen von unbestrittenem Ăberlegen sein einer Plattform bis hin zu ebenso unbestrittenem Ăberlegen sein der anderen.
Und schlieĂlich, drittens, wissen Sie nichts darĂŒber, wer den Test durchgefĂŒhrt hat. Sowohl die Qualifikation, die die QualitĂ€t der Betriebssystem- und Plattformkonfiguration beeinflusst, als auch die Motivation, die die Testergebnisse stĂ€rker beeinflusst als alle anderen Faktoren zusammen, sind wichtig.
Wenn Leistung ein entscheidender Faktor ist, fĂŒhren Sie den Test selbst durch, idealerweise mit der Beteiligung von Fachleuten, die das industrielle System konfigurieren und unterstĂŒtzen werden.
Ergebnis
SchlieĂlich sollte das Ergebnis all der geleisteten Arbeit eine Tabelle sein, in der alle Bewertungen zusammengefasst, multipliziert und addiert sind:

Wie Sie verstehen, kann man durch die Ănderung der Gewichtungen und Anpassung der Bewertungen jedes gewĂŒnschte Ergebnis erzielen, aber das ist eine ganz andere Geschichte...
Quelle: habr.com
