â Das ist doch unglaublich, â sagte sie laut, ohne sich an jemanden zu wenden. â Das ist doch unglaublich! So steht es geschrieben â die Hauptaufgabe der Gesellschaft besteht darin, Gewinn im Interesse der AktionĂ€re zu erwirtschaften. Denken Sie mal nach! Sie haben ja gar keine Angst!
Julij Dubov, "Das kleinere Ăbel"
Wenn Sie solchen Titel sehen, haben Sie sicherlich schon beschlossen, dass der Artikel entweder Unsinn oder Provokation ist. Aber urteilen Sie nicht zu schnell: Mitarbeiter groĂer Unternehmen, besonders solchen mit staatlicher Beteiligung, mĂŒssen oft verschiedene Plattformen vergleichen, sogar sehr unterschiedliche â wie die, die im Titel erwĂ€hnt werden.

NatĂŒrlich werden DBMS nicht verglichen, da ihre StĂ€rken und SchwĂ€chen gut bekannt sind. In der Regel werden Plattformen miteinander verglichen, die eine bestimmte Anwendungsaufgabe lösen. In diesem Artikel werde ich die Methodik zeigen, die dabei verwendet wird, am Beispiel von Datenbanken, die den Lesern von Habr nicht unbekannt sein sollten. Also,
Motivation
Wenn Sie ein Lernprojekt oder ein Hobbyprojekt starten, können die Motivationen fĂŒr die Wahl einer Plattform vielfĂ€ltig sein: âDiese Plattform kenne ich am bestenâ, âHier möchte ich mehr erfahrenâ, âDie Dokumentation ist hier am bestenâ⊠In einem kommerziellen Unternehmen gibt es nur ein Auswahlkriterium: Wie viel muss ich bezahlen und was bekomme ich dafĂŒr?
NatĂŒrlich möchte man möglichst wenig bezahlen und dafĂŒr viel bekommen. Allerdings mĂŒssen Sie entscheiden, was wichtiger ist â weniger zu bezahlen oder mehr zu erhalten. Jeder Kriterium sollte ein Gewicht zugewiesen werden. Angenommen, uns ist eine qualitativ hochwertige Lösung wichtiger als eine kostengĂŒnstige, dann geben wir dem Kriterium âKostenâ ein Gewicht von 40 % und dem Kriterium âMöglichkeitenâ 60 %.

In groĂen Unternehmen ist es normalerweise genau umgekehrt â das Gewicht der Kosten sinkt nicht unter 50 %, in vielen FĂ€llen sogar ĂŒber 60 %. Im Modellbeispiel ist wichtig, dass das Gesamtgewicht der untergeordneten Kriterien eines jeden ĂŒbergeordneten Kriteriums 100 % betragen muss.
Ausschlusskriterien
Der Website Es sind ungefĂ€hr 500 Datenbankverwaltungssysteme bekannt. NatĂŒrlich kann, wenn man aus so vielen Optionen eine Zielplattform auswĂ€hlt, eine Ăbersicht entstehen, aber kein kommerzielles Projekt. Um den Auswahlraum zu reduzieren, werden Ausschlusskriterien formuliert, und wenn die Plattform diese Kriterien nicht erfĂŒllt, wird sie nicht in Betracht gezogen.
Die Ausschlusskriterien können sich auf technologische Eigenschaften beziehen, zum Beispiel:
- ACID-Garantien;
- relationale Datenmodelle;
- UnterstĂŒtzung der SQL-Sprache (beachten Sie, dass dies nicht dasselbe ist wie das ârelationale Modellâ);
- Möglichkeit der horizontalen Skalierung.
Es können auch allgemeinere Kriterien vorliegen:
- vorhandene kommerzielle UnterstĂŒtzung in Deutschland;
- Open Source;
- vorhandene Plattform im Register des Ministeriums fĂŒr digitale Entwicklung;
- vorhandene Plattform in irgendeinem Ranking (zum Beispiel in den ersten hundert des Rankings von db-engines.com);
- vorhandene Experten auf dem Markt (zum Beispiel basierend auf der Suche nach dem Namen der Plattform in LebenslÀufen auf der Website hh.ru).
SchlieĂlich können auch unternehmensspezifische Kriterien relevant sein:
- Vorhandensein von FachkrÀften im Unternehmen;
- KompatibilitĂ€t mit dem X-Ăberwachungssystem oder dem Y-Backup-System, auf das die gesamte Betreuung basiert...
Das Wichtigste ist, dass eine Liste der Ausschlusskriterien vorhanden ist. Andernfalls wird es mit Sicherheit einen Experten (oder âExpertenâ) geben, der besonderes Vertrauen beim Management genieĂt und sagt: âWarum habt ihr nicht die Plattform Z gewĂ€hlt? Ich weiĂ, dass sie die beste ist.â
KostenschÀtzung
Die Kosten der Lösung setzen sich offensichtlich aus den Lizenzkosten, den Betreuungskosten und den Kosten der Hardware zusammen.
Wenn die Systeme etwa der gleichen Klasse sind (zum Beispiel Microsoft SQL Server und PostgreSQL), kann man der Einfachheit halber davon ausgehen, dass die Menge an Hardware fĂŒr beide Lösungen ungefĂ€hr gleich sein wird. Dies spart Zeit und MĂŒhe, da eine Bewertung der Hardware nicht erforderlich ist. Wenn jedoch ganz unterschiedliche Systeme miteinander verglichen werden mĂŒssen (zum Beispiel Oracle vs. Redis), ist es offensichtlich, dass fĂŒr eine korrekte Bewertung ein Sizing (Berechnung der Hardware-Anforderungen) nötig ist. Das Sizing eines nicht existierenden Systems ist eine wenig dankbare Aufgabe, weshalb solche Vergleiche oft vermieden werden. Es ist einfach: In den ausschlieĂenden Bedingungen werden nulldatenverluste und das relationale Modell oder umgekehrt â eine Last von 50.000 Transaktionen pro Sekunde â festgelegt.
Um Lizenzen zu bewerten, genĂŒgt es, beim Anbieter oder dessen Partnern den Preis fĂŒr eine feste Anzahl von Kernen und Support ĂŒber einen bestimmten Zeitraum anzufragen. In der Regel haben Unternehmen bereits stabile Beziehungen zu Softwareanbietern aufgebaut. Wenn die Datenbankabteilung die Kosten nicht selbststĂ€ndig ermitteln kann, reicht eine E-Mail aus, um diese Informationen zu erhalten.
Verschiedene Anbieter können unterschiedliche Lizenzierungsmetriken verwenden: nach Anzahl der Kerne, Datenvolumen oder Anzahl der Knoten. Eine Standby-Datenbank kann kostenlos sein oder genauso lizenziert werden wie die Hauptdatenbank. Wenn Unterschiede in den Metriken festgestellt werden, ist es notwendig, das Modellsetup detailliert zu beschreiben und die Lizenzkosten fĂŒr das Setup zu berechnen.
Ein wichtiger Aspekt fĂŒr einen fairen Vergleich sind identische Supportbedingungen. Zum Beispiel kostet der Support fĂŒr Oracle 22 % der Lizenzkosten pro Jahr, wĂ€hrend fĂŒr PostgreSQL keine GebĂŒhren anfallen. Ist es korrekt, so zu vergleichen? Nein, denn die Auswirkungen eines Fehlers, der nicht selbst behoben werden kann, sind völlig unterschiedlich: Im ersten Fall helfen die Support-Spezialisten schnell, das Problem zu lösen, wĂ€hrend im zweiten Fall das Risiko besteht, dass das Projekt verzögert wird oder das fertige System unbestimmte Zeit stillsteht.
Die Bedingungen fĂŒr die Berechnung kann man auf drei Arten angleichen:
- Oracle ohne Support nutzen (in der RealitÀt kommt das nicht vor).
- Support fĂŒr PostgreSQL erwerben â beispielsweise bei der Firma Postgres Professional.
- Die Risiken einberechnen, die mit fehlendem Support verbunden sind.
Beispielsweise könnte die Berechnung der Risiken so aussehen: Im Falle eines irreparablen Datenbankausfalls betrĂ€gt die Ausfallzeit des Systems einen Arbeitstag. Der geplante Gewinn aus der Nutzung des Systems liegt bei 40 Milliarden mongolischen Tugrik pro Jahr, die AusfallhĂ€ufigkeit wird auf 1 zu 400 geschĂ€tzt. Somit wird das Risiko eines fehlenden Supports auf etwa 100 Millionen mongolische Tugrik pro Jahr geschĂ€tzt. Offensichtlich sind sowohl der âgeplante Gewinnâ als auch die âgeschĂ€tzte AusfallhĂ€ufigkeitâ virtuelle GröĂen. Es ist jedoch weitaus besser, ein solches Modell zu haben, als keines.
In der RealitĂ€t könnte das System von zu groĂer Bedeutung sein, und die reputationsschĂ€digenden Verluste durch lĂ€ngere Ausfallzeiten könnten unakzeptabel sein, weshalb UnterstĂŒtzung erforderlich wird. Wenn jedoch Ausfallzeiten toleriert werden können, kann der Verzicht auf Support manchmal eine sinnvolle Möglichkeit zur Kostensenkung sein.
Angenommen, die Betriebskosten der Plattform A betragen ĂŒber einen Zeitraum von 5 Jahren 800 Millionen mongolische Tögrigs, die von Plattform B 650 Millionen Tögrigs und die von Plattform C 600 Millionen Tögrigs. Plattform C erhĂ€lt als Sieger den vollen Punkt fĂŒr die Kosten, wĂ€hrend die Plattformen A und B entsprechend ihrer höheren Kosten etwas weniger Punkte erhalten: 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 Option scheint die Aufteilung nach den Teams zu sein, die diese Möglichkeiten nutzen werden; in unserem Beispiel handelt es sich um Entwickler, Administratoren und Mitarbeiter der Informationssicherheit. Angenommen, das Gewicht dieser Funktionen verteilt sich wie folgt: 40:40:20.
Zu den Funktionen der Entwicklung gehören:
- Benutzerfreundlichkeit bei der Datenmanipulation;
- Skalierbarkeit;
- Vorhandensein sekundÀrer Indizes.
Die Liste der Kriterien sowie deren Gewichtungen ist sehr subjektiv. Selbst bei der Lösung derselben Aufgabe können diese Listen, die Gewichtungen der Punkte und die Antworten stark variieren, abhĂ€ngig von der Zusammensetzung Ihres Teams. So verwendet Facebook fĂŒr die Datenspeicherung MySQL, 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 sich fĂŒr ein vollwertiges relationales Modell entschieden hat, was die Notwendigkeit der angewandten Shardierung mit sich brachte, wĂ€hrend Kevin Systrom das Skalierungspotenzial der Plattform nutzte und dabei den Zugang zu den Daten opferte.
Zu den Verwaltungsfunktionen gehören:
- Backup-Systemmöglichkeiten;
- Benutzerfreundliches Monitoring;
- Einfaches Management der KapazitĂ€ten â Disk und Nodes;
- Datenreplikationsmöglichkeiten.
Bitte beachten Sie, dass die Formulierungen der Fragen eine quantitative Bewertung ermöglichen sollten. Man kann sogar vereinbaren, wie eine bestimmte Funktion bewertet wird. Lassen Sie uns beispielsweise versuchen, die Backup-Tools am Beispiel der mit der Oracle-Datenbank gelieferten Tools zu bewerten:
Ein Tool
Kommentar
Bewertung
imp/exp
Datenexport und -import
0.1
Backup starten/abschlieĂen
Dateien kopieren
0.3
RMAN
Möglichkeit zur inkrementellen Sicherung
0.7
ZDLRA
Nur inkrementelle Sicherung, schnellere Wiederherstellung zu einem bestimmten Zeitpunkt
1.0
Wenn klare Bewertungskriterien fehlen, kann es sinnvoll sein, mehrere Experten um ihre Bewertungen zu bitten und diese dann zu mitteln.
Lassen Sie uns schlieĂlich 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 wĂ€hrend der Ăbertragung ĂŒber das Netzwerk (TLS);
- Schutz der Daten vor dem Administrator.
Leistungstest
Ich möchte ausdrĂŒcklich davon abraten, Ergebnisse von Lasttests, die nicht von Ihnen durchgefĂŒhrt wurden, als Argumente zu nutzen.
ZunÀchst einmal können die Datenstruktur und das Lastprofil der getesteten Anwendungen erheblich von der Aufgabe abweichen, die Sie lösen möchten. Vor etwa 10-15 Jahren prahlten Datenbankhersteller gerne mit Ergebnissen aus TPC-Tests, aber heute scheint niemand diese Ergebnisse ernst zu nehmen.
Zweitens hĂ€ngt die Systemleistung erheblich 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 der uneingeschrĂ€nkten Ăberlegenheit eines Systems bis hin zur ebenso uneingeschrĂ€nkten Ăberlegenheit des anderen.
Und schlieĂlich wissen Sie drittens 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 entscheidend.
Wenn die Leistung ein kritischer Faktor ist, fĂŒhren Sie den Test selbst durch, idealerweise unter Beteiligung von Fachleuten, die das industrielle System konfigurieren und warten werden.
Ergebnis
Letztendlich sollte das Ergebnis all dieser Arbeit eine Tabelle sein, in der alle Bewertungen zusammengefasst, multipliziert und addiert sind.

Wie Sie verstehen, können Sie durch die Anpassung der Gewichte und die Korrektur der Bewertungen jedes gewĂŒnschte Ergebnis erzielen, aber das ist eine ganz andere GeschichteâŠ
Quelle: habr.com
