MongoDB und Oracle–Gesamtbetriebskosten (TCO–Total Cost of

Werbung
Ein 10gen Whitepaper
MongoDB und Oracle–Gesamtbetriebskosten
(TCO–Total Cost of Ownership) im Vergleich
Oktober 2012
Inhalt
Zusa mm e n fa ssu ng
1
Kos te n a rte n
2
G esa mtbe triebskos t e n fü r Beispie l proje kte
3
Anschaffungskosten
Anfänglicher Entwicklungsaufwand
Anfänglicher Administrationsaufwand
Software-Lizenzen
Server-Hardware
Speicher-Hardware
3
3
4
4
5
5
Laufende Kosten
Laufender Entwicklungsaufwand
Laufender Administrationsaufwand
Wartung und Support
Zusammenfassung
5
5
5
6
6
Wie MongoDB die Wirt sch a f tlich keit be ein fluss t
9
Fa zit
9
Zusammenfassung
und Verwaltungskosten, zum anderen lassen sich die
Applikationen einfacher und schneller an die sich
ständig verändernden Wirtschafts- und Marktgegebenheiten anpassen.
MongoDB ist eine agile und hochskalierbare dokumentenbasierte Open-Source-Datenbank. MongoDB
schließt die Lücke zwischen Key Value-Datenbanken,
die schnell und skalierbar sind, und relationalen
Datenbanken, die über vielfältige Funktionen verfügen.
Im Gegensatz zu relationalen Datenbanken, die Daten
in Zeilen und Spalten ablegen, speichert MongoDB die
Informationen schemafrei in JSON-Dokumenten.
Dieses Whitepaper liefert wirtschaftliche Argumente,
die für den Einsatz von MongoDB anstelle von Oracle
sprechen. Der Vergleich der Gesamtbetriebskosten
(Total Cost of Ownership, TCO) von MongoDB und
Oracle umfasst sowohl die Anschaffungskosten als
auch die laufenden Kosten, einschließlich Software,
Hardware und Personal.
Beim Vergleich von Datenbanken gilt es vor allem
drei wesentliche Faktoren zu berücksichtigen: die
technische Eignung, die Kosten und die Auswirkungen
auf die Wirtschaftlichkeit. Aufgrund des flexiblen und
skalierbaren Datenmodells, zuverlässiger Funktionen
und der leistungsstarken, hochverfügbaren Architektur eignet sich MongoDB für eine Vielzahl von
Anwendungsfällen im Datenbankbereich. Angesichts
der Tatsache, dass relationale Datenbanken technisch
oft ebenso gut geeignet sind, ist es hilfreich bei der
Entscheidung für oder gegen eine Datenbank die
relativen Kosten jeder Lösung genau unter die Lupe zu
nehmen.
Den Vergleich nehmen wir beispielhaft anhand eines
kleineren und eines größeren Unternehmensprojekts
vor und zeigen ein Modell zur Analyse der DatenbankGesamtbetriebskosten auf. Damit können Kunden die
Kosten für Projekte unterschiedlicher Dimensionen
beim Einsatz von MongoDB, Oracle oder sonstiger
Datenbanken durchspielen.
In unseren Beispielszenarien ist es über 70 Prozent
günstiger, eine Datenbank mit der MongoDB Subscriber
Edition aufzubauen und zu betreiben, als mit Oracle
(Enterprise Edition, implementiert mit Oracle Real
Application Clusters (RAC)). Abschließend betrachten
wir, welche Auswirkungen die technische Eignung und
die Kosten auf die Wirtschaftlichkeit haben können.
Es kann schneller und kostengünstiger sein, Anwendungen auf Basis von MongoDB zu entwickeln und zu
betreiben als mit einer Oracle-Datenbank. Vorteile
ergeben sich zum einen aus geringeren Entwicklungs-
1
Tabelle 1: Zusammenfassung der Kosten für Aufbau und Betrieb einer Datenbank
Kostenarten
A n s c h a f f u n g s ko s t e n
Anfänglicher Entwicklungsaufwand
Anfänglicher Administrationsaufwand
Software-Lizenzen
Personalkosten
Erstellung der erforderlichen Codes, um Anwendung und Datenspeicher zusammen verwenden zu können
Personalkosten
Installation und Konfiguration von Software, Einrichten von Computer-Clustern, Erstellen der horizontalen
Fragmentierung (Sharding) etc. durch Administratoren
Die gesamte Software im Zusammenhang mit dem Datenspeicher selbst, aber auch Software für
Verwaltungsaufgaben wie Clustering, Replikation, Caching
Zum Betrieb der Datenbank erforderliche Server (ohne persistenten Speicher)
Server-Hardware
Abhängig vor allem von Anzahl und Typ der Prozessoren und vom RAM
Nebenkosten wie Gehäuse oder Schränke, Netzwerkverbindungen, Verkabelung, Stromversorgung etc.
Zum Speichern der Daten erforderlicher Speicher
Speicher-Hardware
Laufender Entwicklungsaufwand
Laufende Administrationskosten
L a u f e n d e Ko s t e n
Beschreibung
Software-Wartung und -Support
Hardware-Wartung und -Support
Variiert in Abhängigkeit davon, ob ein interner Speicher oder ein Speichernetzwerk (SAN) verwendet wird,
wie groß die benötigte Speicherkapazität ist und ob Festplatten (HDD) oder Solid-State-Laufwerke (SSD)
eingesetzt werden
Personal
Erforderliches Coding, um den Datenspeicher an Kunden-, Markt- und Unternehmensanforderungen anzupassen
Personal
Administrationsaufwand zur Sicherung eines störungsfreien Datenspeicher-Betriebs (z. B. Reaktion auf
Ausfallzeiten, Software- und Hardware-Upgrades)
Wartung:
Software-Upgrades und Bugfixes
Support:
auf Anforderung Unterstützung beim Beheben technischer Probleme mit der Software
Wartung:
Upgrades und Bugfixes für Firmware sowie evtl. im Lieferumfang der Hardware enthaltene Software
Support:
auf Anforderung Unterstützung beim Beheben technischer Probleme mit der Hardware
Sonstige Kosten für den Betrieb der Datenbank
Umfasst Kosten für Cloud/Hosting/Co-Location, Bandbreite, Strom etc.
Diverse Implementierungskosten
Korreliert im Allgemeinen mit der Anzahl der verwendeten Server, kann aber in Abhängigkeit von einer Vielzahl
von Faktoren stark variieren
Diese Kosten werden nicht näher analysiert, da die Entscheidung für MongoDB bzw. eine relationale Datenbank
nicht der Hauptkostentreiber ist.
Kostenarten
Die folgende TCO-Analyse zeigt die zu erwartenden Kosten für Aufbau und Implementierung einer
kleineren und einer größeren Enterprise-Anwendung
unter Nutzung von MongoDB Subscriber Edition
einerseits und Oracle Database (Enterprise Edition,
implementiert mit Oracle Real Application Clusters
(RAC)) andererseits. Je nach Ausgangssituation sind für
die Implementierung eine Reihe verschiedener Topologien denkbar. Dennoch verdeutlichen die gewählten
Beispiele, inwiefern die Kosten üblicherweise differieren, wenn man die beiden Datenbanken vergleicht.
Um den Einsatz von MongoDB und Oracle aus
wirtschaftlicher Sicht zu vergleichen, wollen wir an
dieser Stelle die Gesamtbetriebskosten (TCO) für zwei
beispielhafte Anwendungen ermitteln. Die Gesamtbetriebskosten umfassen sowohl die Anschaffungs- als
auch die laufenden Kosten, die für Aufbau und Betrieb
der Datenbank anfallen. Dazu gehören Personalkosten
(z. B. Entwicklergehälter) ebenso wie Kosten für
Hardware, Software und Support. Tabelle 1 enthält
eine Beschreibung der Kostenarten, die in dieser
Analyse berücksichtigt werden.
Die TCO-Analyse zeigt, dass MongoDB kosteneffizienter sein kann als Oracle. Dies lässt sich vor
allem darauf zurückführen, dass MongoDB unkom-
2
• Datenmodell. Bei MongoDB muss der Entwickler
das Datenmodell nur an einer Stelle definieren:
der Anwendung. Bei Oracle hingegen ist es
erforderlich, das Datenmodell an drei Stellen mit
unterschiedlichen Schnittstellen zu erstellen und
zu verwalten: in der Anwendung, der Datenbank
und dem ORM-Layer.
plizierter zu implementieren und administrieren
ist und geringere Anforderungen an Hardware und
Open-Source-Lizenzierung mit sich bringt. Insgesamt
können der Aufbau und Betrieb einer Datenbank mit
MongoDB über 70 Prozent günstiger sein als mit
Oracle. Unternehmen mit komplexeren Projekten oder
Anwendungen können sogar noch höhere Kosteneinsparungen erzielen, wenn sie MongoDB anstelle von
Oracle implementieren und betreiben.
• Datenflexibilität. Im Gegensatz zu Oracle
ermöglicht es MongoDB, polymorphe Daten
sowie strukturierte, semi-strukturierte und
unstrukturierte Daten komfortabel in nur einem
Datenspeicher abzulegen.
Gesamtbetriebskosten
für Beispielprojekte
• JSON-Unterstützung. Die Speicherung der
Daten im JSON-Format erfolgt bei MongoDB
nahtlos und erfordert keine Umwandlung. Bei
Oracle muss JSON zunächst „abgeflacht“ und
transformiert werden, damit eine Speicherung
in relationalen Tabellen möglich wird, nur damit
dieser Vorgang beim Abruf aus der Datenbank
wieder rückgängig gemacht wird.
Anschaffungskosten
Anfänglicher Entwicklungsaufwand
Der anfängliche Entwicklungsaufwand umfasst die
anfallenden Kosten, um Anwendungen und Daten­
speicher aufeinander abzustimmen.
• Cloud-Architektur. MongoDB eignet sich
aufgrund seiner horizontalen Skalierbarkeit
gut für den Einsatz in flexiblen CloudUmgebungen. Die Implementierung von
Oracle in der Cloud hingegen kann aufgrund
der Infrastrukturanforderungen relationaler
Datenbanken eine Herausforderung sein.
Bei relationalen Datenbanken müssen im Rahmen
des anfänglichen Entwicklungsaufwands das
Datenmodell definiert und der ORM-Layer (objektrelationale Abbildung) sowie die Geschäftslogik für die
Anwendung erstellt werden.
MongoDB ist so konzipiert, dass es für moderne
Entwickler leicht anwendbar ist.
• Komfortable Lizenzierung. Die Lizenzierung
von MongoDB ist einfach, und die Abrechnung
erfolgt pro Server und Jahr. Bei Oracle ist die
Lizenzierung so komplex, dass die Entwickler
oftmals warten müssen, bis die Administratoren
die Entwicklungsumgebung angeschafft und
konfiguriert haben – was Wochen oder sogar
Monate dauern kann.
Daher ist die Entwicklung mit MongoDB ungleich
kosteneffizienter als bei relationalen Datenbanken.
Diese deutlichen Produktivitätsvorteile von MongoDB
lassen sich auf das dokumentenorientierte Design und
die dynamischen Schemata zurückführen.
Die Speicherung der Anwendungsdaten entspricht
sowohl dem aktuellen Stand der Entwicklungstechnologie als auch der derzeitigen Entwicklungspraxis.
Beide Aspekte haben sich seit Beginn des flächendeckenden Einsatzes relationaler Datenbanken vor rund 30
Jahren deutlich weiterentwickelt.
Aufgrund der oben ausgeführten Gründe wurde für dieses
TCO-Modell angenommen, dass der anfängliche Entwicklungsaufwand bei Oracle doppelt so groß ist wie bei
MongoDB. Der Basisentwicklungsaufwand für das kleine
Beispielprojekt beläuft sich daher auf 24 Personenmonate
für Oracle und 12 Personenmonate für MongoDB (50
Prozent weniger). Bei dem größeren Beispielprojekt wurde
mit einem Basisentwicklungsaufwand von 72 Personenmonaten für Oracle und von 36 Personenmonaten für
MongoDB kalkuliert (50 Prozent weniger). In beiden
Szenarien kommen Gehaltskosten für einen Datenbankadministrator in Höhe von 120.000 USD/Jahr zum Tragen.
Die Gründe für die Produktivitätsvorteile von
MongoDB lassen sich wie folgt zusammenfassen:
• Anwenderfreundlichkeit. MongoDB unterstützt
moderne Entwicklungsmethoden wie die
agile Softwareentwicklung und ermöglicht
Entwicklern eine schnelle, kontinuierliche
Iteration über das Datenmodell. Im Gegensatz
dazu ist die Datenmodellentwicklung bei Oracle
strikt beschränkt.
3
Anfänglicher Administrationsaufwand
Software-Lizenzen
Installation und Konfiguration sind bei MongoDB
kostengünstig und einfach.
Die Open Source-Datenbank ist als kostenlose
Community-Version sowie als kommerzielle
Subscriber-Edition verfügbar. Letztere umfasst
Support, Software-Upgrades, Bugfixes und einige
zusätzliche Funktionen. Da die kommerzielle Version
von MongoDB fortlaufend (d.h. pro Server und Jahr)
und nicht einmalig abgerechnet wird, sollen diese
Kosten nachfolgend im Abschnitt zu Software-Support
und -Wartung besprochen werden.
Um eine gut funktionierende MongoDB-Implementierung zu konfigurieren, muss der Administrator meist
nur eine Variable berücksichtigen: die Anzahl der
Knoten im Cluster. Nur eine Handvoll Konfigurations­
einstellungen sind vorzunehmen. Die Installation und
Konfiguration von Oracle ist schwieriger.
Die anfängliche Administration kann bei Oracle ein
intensiver, mehrwöchiger Prozess sein: Es gilt Hunderte
von Variablen abzustimmen, um mit dem Cluster eine
gute Leistung zu erzielen. Die meisten Organisationen
benötigen dazu einen Oracle-zertifizierten Datenbankadministrator oder beauftragen sogar kostenintensive
externe Berater.
Oracle wird pro Core lizenziert. Fast alle in den letzten
fünf Jahren produzierten Server besitzen zwischen 4
und 24 Cores, so dass bereits eine einfache Entwicklungs- oder Testkonfiguration bei Oracle kostspielig
sein kann.
Zudem fehlen bei Oracle Database Standard Edition
eine Reihe zentraler Funktionen, die für moderne
Anwendungen erforderlich sind, wie zum Beispiel
automatisiertes Failover, Memory-Caching, automatisches Sharding und Clustering. Um diese Funktionen
nutzen zu können, ist eine Lizenz für Oracle Database
Enterprise Edition erforderlich, die teurer ist als die
Standard Edition. Oracle Real Application Clusters
(RAC) benötigt zudem ein Add-on, das eine horizontale
Skalierung über mehrere Server hinweg ermöglicht.
Bei MongoDB hingegen müssen keine Caching-Layer
integriert oder eigene Sharding-Logiken entwickelt
werden, um Abfragen an den richtigen Serverknoten
zu leiten. Vielmehr zählen sowohl Caching als auch
Sharding zu den Kernfunktionalitäten von MongoDB.
MongoDB bietet native Unterstützung für ReplicaSets und macht so die Site-to-site-Replikation einfach
und unkompliziert. Im Gegensatz dazu ist bei Oracle
der Aufwand für die Realisierung und Skalierung von
Caching oftmals erheblich und für die horizontale
Fragmentierung sowie Site-to-site-Replikation nur
mit speziellem Code möglich.
Damit die Oracle-Konfigurationen möglichst vergleichbar mit den MongoDB-Konfigurationen sind, wurde
für diese TCO-Analyse die Verwendung von Oracle
Database Enterprise Edition (47.500 USD pro Core)
plus Oracle RAC (23.000 USD pro Core) angenommen.
Damit liegt der Preis pro Core bei 70.500 USD.1 Die
Rabatte für Oracle-Lizenzen variieren zwischen 0
Prozent bei kleinen Installationen und bis zu 80
Prozent bei Großprojekten. Bei dieser Analyse wurde
für beide Beispielprojekte ein Nachlass von 50 Prozent
auf den Listenpreis angenommen. Zusätzlich wurde ein
Rabatt in Höhe von 50 Prozent auf den Core-ProzessorLizenzfaktor von Oracle festgelegt.2 Dies entspricht bei
beiden Projekten 17.625 USD pro Core.
Auf Basis der Annahmen für den anfänglichen Entwicklungsaufwand geht dieses TCO-Modell davon aus,
dass der Administrationsaufwand bei MongoDB
halb so hoch ist wie bei Oracle. Zudem liegt der
Analyse die Annahme zugrunde, dass bei dem kleinen
Beispielprojekt für Oracle 2 Personenmonate Administrationsaufwand anfallen, bei dem größeren
Beispielprojekt 6 Personenmonate. Für MongoDB
wurde der Administrationsaufwand bei dem kleinen
Beispielprojekt mit 1 Personenmonat angesetzt, bei
dem größeren Beispielprojekt mit 3 Personenmonaten
(50 Prozent weniger). In beiden Szenarien wurden die
Gehaltskosten je Datenbankadministrator mit 120.000
USD/Jahr angesetzt.
Zwar lassen sich die Software-Kosten senken, wenn man nur die Oracle Database Enterprise Edition einsetzt und Oracle RAC umgeht. Dies erfordert
jedoch eine vertikal skalierbare Architektur (im Gegensatz zu einer horizontal skalierbaren Architektur), was die Anschaffung eines leistungsstärkeren und
teureren Servers notwendig macht. Um die Hardware-Architekturen in den hier zugrunde gelegten Konfigurationen möglichst vergleichbar zu halten, wurde
in dieser Analyse die Verwendung von Oracle RAC angenommen. Für weitere Informationen dazu siehe den Abschnitt „Server-Hardware“ und die entsprechende Fußnote. Die MongoDB Subscriber Edition umfasst SNMP-Support und eine kommerzielle Lizenz.
1
2
Um Unterschiede bei der CPU-Core-Architektur berücksichtigen zu können, multipliziert Oracle die Anzahl der Cores mit einem Core-Prozessor-Lizenzfaktor. Dieser reicht von 0,25 für ältere Sun SPARC- Prozessoren über 0,5 für die meisten anderen Prozessoren von AMD über Intel bis hin zu 1,0 für IBM
Power und andere.
4
Server-Hardware
Dem TCO-Modell liegen für MongoDB zwei 1-TB-SSDs
(1 TB gespiegelt) pro Server (8.000 USD) zugrunde,
was sich beim kleinen Projekt auf 24.000 USD und
beim größeren Projekt auf 240.000 USD summiert. Für
Oracle wurde beim kleinen Beispielprojekt mit einem
3-TB-SAN gerechnet (125.000 USD), beim größeren
Projekt mit einem 30-TB-SAN (500.000 USD).
Bei MongoDB sind die Serverkosten bei gleicher Last
oft signifikant geringer als bei Oracle, da MongoDB
auf den Einsatz von Standard-Hardware in horizontal
skalierbaren Architekturen ausgelegt ist. Üblicherweise kommen bei MongoDB kostengünstige
Linux-Standardserver mit einem Stückpreis von nur
etwa 3.000 USD zum Einsatz. Selbst für ein Hochleistungssystem mit geringem Energieverbrauch liegt der
Preis bei nur etwa 4.000 USD (exklusive Speicher).
Laufende Kosten
Im Gegensatz dazu setzt Oracle typischerweise auf
einen einzelnen großen Server, um die Leistung
der relationalen Architektur zu optimieren.3 Als
Alternative zur Verwendung proprietärer, vertikal
skalierbarer Hardware bietet Oracle mit Oracle
Real Application Clusters (RAC) ein Clustering-Addon an, das die Oracle-Datenbank skalierbar macht.
Wie bereits erwähnt wird in diesem Whitepaper für
Oracle eine Implementierung unter Verwendung von
RAC angenommen, um die Serverkonfigurationen
von Oracle und MongoDB möglichst vergleichbar zu
machen.
Laufender Entwicklungsaufwand
Der Aufwand für die fortlaufende Entwicklung der
Datenbanken ist mit dem anfänglich benötigten
Entwicklungsaufwand vergleichbar. Bei Oracle sind
die Kosten für Schema-Änderungen bei einer bereits
produktiven Datenbank sogar merklich höher als bei
einer Datenbank, die noch nicht produktiv geschaltet
wurde. Deshalb untersagen es viele Unternehmen
strikt, Änderungen an der Datenbank vorzunehmen,
bzw. begrenzen diese auf ein- oder zweimal im Jahr.
Bei MongoDB hingegen lassen sich Datenbankfelder leicht hinzufügen und Schemata ändern, was
deutlich geringere Kosten bedeutet. Zudem können die
Entwickler die Anwendungen fortlaufend an die sich
verändernden Anforderungen des Geschäftsbetriebs
anpassen.
Das TCO-Modell sieht für MongoDB und Oracle den
Einsatz der gleichen Server-Hardware vor. Das kleinere
Projekt umfasst 3 Server mit jeweils 8 Cores und 32 GB
RAM zu einem Stückpreis von 4.000 USD. Das größere
Projekt umfasst 30 Server mit jeweils 8 Cores und 32
GB RAM zu einem Stückpreis von 4.000 USD.
Für das kleinere Szenario wurde angenommen, dass
der laufende Entwicklungsaufwand bei MongoDB 50
Prozent geringer ist (6 Personenmonate) als bei Oracle
(12 Personenmonate). Für das größere Szenario gilt
dieselbe Logik: Der laufende Entwicklungsaufwand ist
bei MongoDB auf 18 Personenmonate und bei Oracle
auf 36 Personenmonate festgelegt. Die Gehaltskosten
pro Entwickler wurden mit 120.000 USD pro Jahr
angesetzt.
Speicher-Hardware
Die horizontal skalierbare Architektur von MongoDB
erlaubt es, die Speicherkosten erheblich zu senken.
MongoDB kann den kostengünstigen lokalen Speicher
von Standard-Datenbankservern verwenden und auch
Solid-State-Laufwerke (SSDs) effizient nutzen.
Der Speicherbedarf lässt sich bei Oracle zwar durch
Komprimierung reduzieren. Oracle-Implementierungen
brauchen dennoch oft weit mehr kostenintensiven
Speicherplatz, da die relationale Architektur in der
Regel ein Modell mit nur einem Speicher erfordert
(etwa ein Speichernetzwerk (SAN)), um einen
bestimmten Grad an Verfügbarkeit und Leistung
zu erreichen. Der Preis eines SAN beträgt je nach
Leistungsumfang zwischen 25.000 und über 500.000
USD und kann somit die Konfigurationskosten deutlich
in die Höhe treiben.
Laufender Administrationsaufwand
Zum laufenden Administrationsaufwand zählen alle
Aktivitäten, die einen störungsfreien Betrieb des
Systems sicherstellen (z.B. Software- und HardwareUpgrades, Backups und Wiederherstellung nach
ungeplanten Ausfallzeiten).
Bei MongoDB ist der Zeit- und Kostenaufwand für
die Administration deutlich geringer als bei Oracle.
Zu den Administrationsaufgaben bei einer MongoDBImplementierung zählen vor allem die Verwaltung
Bei den meisten Servern von Herstellern wie Sun/Oracle, IBM, HP oder Fujitsu erfolgt die Skalierung, indem weitere Prozessoren zu einem Rechner
hinzugefügt werden. Diese können wiederum Dutzende von CPUs oder Cores enthalten. Die Kosten liegen zwischen 25.000 und mehr als 200.000 USD.
3
5
Das Wartungs- und Support-Paket von Oracle für 1 Jahr
umfasst Kunden-Support sowie sämtliche SoftwareUpgrades. Die dafür anfallenden Kosten betragen
gewöhnlich 22 Prozent der Software-Lizenzgebühren.
Sie hängen also von der Anzahl der Cores und nicht
der Anzahl der CPUs oder Server ab. Das hat zur Folge,
dass die Kosten des Oracle-Supports die Kosten des
MongoDB-Supports deutlich übersteigen, oft sogar um
ein Vielfaches.
der Linux-Einstellungen und der Hardware selbst.
Anwender müssen sich nur einige wenige MongoDBspezifische Einstellungen aneignen und verwalten. Die
nativen Replica-Sets von MongoDB erleichtern allgemeine Verwaltungshandgriffe, beispielsweise das
Austauschen ausgefallener Hardware oder das Aktualisieren des Server-Betriebssystems. Kunden von 10gen
berichten, dass sich ihre Linux-Systemadministratoren ohne Probleme in die Verwaltung von MongoDB
einfinden konnten, da keine speziellen Kenntnisse
erforderlich sind.
Die Kosten für den Hardware-Support betragen
üblicherweise 10 bis 12 Prozent des Kaufpreises
der Hardware. Da für Oracle typischerweise teurere
Hardware erforderlich ist (etwa SANs), liegen die
Wartungs- und Supportkosten für Oracle-Implementierungen höher als bei MongoDB.
So komplex wie die Entwicklungsarbeit bei OracleDatenbanken ist teilweise auch deren Administration,
was die Kosten in die Höhe treibt. Mit der Weiterentwicklung von Datenschemata und individualisiertem
Code muss sich auch die Konfiguration der Datenbank
weiterentwickeln. Zudem gibt es bei Oracle Tausende
von Einstellungen, sprich für die Administration von
Oracle sind umfassende technische Kenntnisse und
Schulungen von Nöten. Kunden, die von Oracle auf
MongoDB umgestiegen sind, berichten über erheblich
niedrigere Administrationskosten. Ein Anwender­
unternehmen benötigte beispielsweise in Vollzeit
einen Datenbankadministrator für Oracle und zusätzlich ein externes Consulting-Unternehmen. Nach
dem Wechsel zu MongoDB konnte ein einzelner
Entwickler problemlos in Teilzeit die Administration
des MongoDB-Clusters übernehmen—das externe
Consulting war nicht mehr erforderlich.
Für das kleinere MongoDB-Projekt wurden Wartungsund Supportkosten in Höhe von 4.000 USD pro Server
und Jahr angesetzt, für das größere Projekt wurde
mit 3.600 USD pro Server und Jahr kalkuliert (mit 10
Prozent Nachlass). Für Oracle wurden 22 Prozent der
Lizenzgebühren angesetzt. In dem Modell belaufen
sich die Kosten für Hardware-Wartung und -Support
sowohl bei MongoDB als auch bei Oracle auf 10
Prozent des Hardware-Kaufpreises.
Zusammenfassung
Auf Basis der Annahmen, die dieser TCO-Analyse
zugrunde liegen, sind Aufbau und Betrieb einer
Datenbank mit MongoDB Subscriber Edition über 70
Prozent günstiger als mit Oracle (Enterprise Edition,
implementiert mit Oracle RAC).
Für das kleine Projekt wurde angenommen, dass Oracle
50 Prozent der Zeit eines in Vollzeit angestellten
Datenbankadministrators beansprucht, MongoDB
nur rund 25 Prozent (das heißt 50 Prozent weniger).
Entsprechend wurden im Rahmen des größeren
Projekts 1,5 in Vollzeit angestellte Datenbankadministratoren für Oracle angesetzt, für MongoDB die
Hälfte (0,75 DBA-Vollzeitstellen). Die Gehaltskosten
pro Datenbankadministrator belaufen sich in den
Beispielen auf 120.000 USD pro Jahr.
Wir halten diese Auswertung der Gesamtbetriebs­
kosten von MongoDB und Oracle für durchaus
repräsentativ. Anwendungen, Topologien und Kosten
können jedoch wie bereits erwähnt von Fall zu Fall
erheblich variieren. Diese TCO-Analyse beruht auf
zwei beispielhaft ausgewählten Projekten. Werden
mehr beziehungsweise komplexere Anwendungen
betrieben, können die Kosteneinsparungen noch höher
sein als in den Beispielen dargestellt, in anderen Fällen
kann die Differenz hingegen geringer ausfallen. Wer
verschiedene Datenbanklösungen vergleichen will,
kann die Struktur dieses Whitepapers als Grundlage
heranziehen, um eigene Analysen durchzuführen.
Wartung und Support
Die Lizenzierung von MongoDB erfolgt pro Server
und Jahr. Die Kosten für MongoDB Subscriber Edition
belaufen sich auf 4.000 USD pro Server pro Jahr
(unabhängig von der Servergröße). Enthalten sind
MongoDB-Support, Software-Upgrades und Bugfixes
sowie bestimmte Funktionen, die nur in der kostenpflichtigen Version verfügbar sind.4
4
Die MongoDB Subscriber Edition umfasst SNMP-Support und eine kommerzielle Lizenz.
6
Tabelle 2: Analyse der Gesamtbetriebskosten–Zusammenfassung
Konfiguration
Kleineres Enterprise-Projekt
Grösseres Enterprise-Projekt
MongoDB
Oracle
MongoDB
Oracle
Software:
MongoDB
Subscriber Edition
Software:
Oracle Database
Subscriber Edition
und Oracle Real
Application
Cluster (RAC)
Software:
MongoDB
Subscriber Edition
Software:
Oracle Database
Subscriber Edition
und Oracle Real
Application
Cluster (RAC)
Server-Hardware:
3 Server
(8 Cores/Server)
SpeicherHardware:
3 TB SSD
(gespiegelt)
Anfänglicher
Entwicklungsaufwand
Server-Hardware:
3 Server
(8 Cores/Server)
SpeicherHardware:
3 TB SAN
(nutzbar)
Server-Hardware:
30 Server
(8 Cores/Server)
SpeicherHardware:
30 TB SSD
(gespiegelt)
Anmerkungen
Server-Hardware:
30 Server
(8 Cores/Server)
SpeicherHardware:
30 TB SAN
(nutzbar)
MongoDB: Annahme: Die Entwicklungszeit verringert sich aufgrund der Anwenderfreundlichkeit
und der größeren Agilität von MongoDB um den
Faktor 2 (vgl. entsprechendes Kapitel in diesem
Whitepaper)
120.000 $
240.000 $
360.000 $
720.000 $
Oracle: Für das kleinere Projekt wurden 24
Personenmonate für die Anwendungsentwicklung angesetzt, für das größere Projekt 72
Personenmonate.
Die vollständigen Gehaltskosten pro Entwickler
wurden mit 120.000 USD pro Jahr angesetzt.
A n s c h a f f u n g s ko s t e n
MongoDB: Annahme: Bei gleichen Rahmenbedingungen vermindert MongoDB den Administrationsaufwand um den Faktor 2
Anfänglicher
Administrationsaufwand
10.000 $
20.000 $
30.000 $
60.000 $
Oracle: Beim kleineren Projekt wurde der Basis­
aufwand für die Anwendungsentwicklung mit
2 Personenmonaten angesetzt, beim größeren
Projekt mit 6 Personenmonaten.
Das Gehalt je Datenbankadministrator wurden
mit 120.000 USD/Jahr angesetzt.
Software-Lizenzen
SoftwareLizenzen
ServerHardware
0$
12.000 $
423.000 $
12.000 $
0$
120.000 $
4.230.000 $
120.000 $
MongoDB: Die Kosten für MongoDB Subscriber
Edition wurden im Abschnitt „Software-Wartung
und -Support“ erfasst (siehe unten).
Oracle: 70.500 USD pro RAC-Core (47.500 USD
für Oracle DB Enterprise Edition + 23.000 USD
für Oracle RAC), 0,5 Xeon Core Lizenzfaktor, 50%
Nachlass gegenüber Listenpreis
MongoDB und Oracle:
Server mit 8 Cores, 32 GB RAM
(4.000 USD/Server).
3 Server bei kleinerem
Projekt; 30 Server bei größerem Projekt.
MongoDB: 2 x 1-TB-SSD (gespiegelt) pro Server
(4.000 USD/SSD).
SpeicherHardware
Anschaffungskosten
gesamt
24.000 $
125.000 $
240.000 $
500.000 $
6 SSDs beim kleineren Projekt; 60 SSDs beim
größeren Projekt.
Oracle: 3 TB SAN (nutzbar) für kleineres Projekt
(125.000 USD); 30 TB SAN (nutzbar) für größeres
Projekt (500.000 USD).
166.000 $
820.000 $
750.000 $
7
5.630.000 $
Tabelle 2: Analyse der Gesamtbetriebskosten–Zusammenfassung
Konfiguration
Kleineres Enterprise-Projekt
Grösseres Enterprise-Projekt
MongoDB
Oracle
MongoDB
Oracle
Software:
MongoDB
Subscriber Edition
Software:
Oracle Database
Subscriber Edition
und Oracle Real
Application
Cluster (RAC)
Software:
MongoDB
Subscriber Edition
Software:
Oracle Database
Subscriber Edition
und Oracle Real
Application
Cluster (RAC)
Server-Hardware:
3 Server
(8 Cores/Server)
SpeicherHardware:
3 TB SSD
(gespiegelt)
Entwicklungsaufwand
Server-Hardware:
3 Server
(8 Cores/Server)
SpeicherHardware:
3 TB SAN
(nutzbar)
Server-Hardware:
30 Server
(8 Cores/Server)
SpeicherHardware:
30 TB SSD
(gespiegelt)
Anmerkungen
Server-Hardware:
30 Server
(8 Cores/Server)
SpeicherHardware:
30 TB SAN
(nutzbar)
MongoDB: Annahme: Die Entwicklungszeit verringert sich aufgrund der Anwenderfreundlichkeit und der größeren Agilität von MongoDB um
den Faktor 2
60.000 $
120.000 $
180.000 $
360.000 $
Oracle: Für das kleinere Projekt wurden 12
Personenmonate für die Anwendungsentwicklung angesetzt, für das größere Projekt 36
Personenmonate.
L a u f e n d e J ä h r l i c h e Ko s t e n
Gehaltskosten pro Entwickler mit 120.000 USD
pro Jahr angesetzt.
Administrationsaufwand
MongoDB: Annahme: Bei gleichen Rahmenbedingungen vermindert MongoDB den Administrationsaufwand um den Faktor 2
30.000 $
60.000 $
90.000 $
180.000 $
Oracle: Annahme: Kleinere Projekte
beanspruchen 50 % der Vollzeitstelle eines
Datenbankadministrators, größere Projekte 150%.
Gehaltskosten des Datenbankadministrators mit
120.000 USD pro Jahr angesetzt.
SoftwareWartung
und -Support
12.000 $
ServerWartung
und -Support
1.200 $
1.200 $
12.000 $
12.000 $
SpeicherWartung
und -Support
2.400 $
12.500 $
24.000 $
50.000 $
Diverse
Implementierungskosten
Erhebliche
Unterschiede
Erhebliche
Unterschiede
Erhebliche
Unterschiede
Erhebliche
Unterschiede
Laufende
Gesamtkosten
105.600 $
286.760 $
414.000 $
1.532.600 $
Laufende
Gesamtkosten
über 3 Jahre
316.800 $
860.280 $
1.242.000 $
4.597.800 $
Gesamt­
betrieskosten
nominell über
3 Jahre
482.800 $
1.680.280 $
1.992.000 $
10.227.800 $
Einsparungen
gegenüber
Oracle
71 %
93.060 $
108.000 $
930.600 $
MongoDB: 4.000 USD/Server/Jahr bei kleinerem
Projekt; 3.600 USD/Server/Jahr bei größerem
Projekt (Nachlass 10 %)
Oracle: 22 % der Lizenzgebühren
81 %
MongoDB und Oracle:
10 % des Hardware-Kaufpreises
MongoDB und Oracle:
10 % des Hardware-Kaufpreises
Nicht berücksichtigt–variiert erheblich, wird
aber als vergleichbar hoch bei MongoDB
und Oracle angenommen.
MongoDB ermöglicht Einsparungen von über
70 Prozent im Vergleich zu Oracle.
Wie MongoDB die
Wirtschaftlichkeit
beeinflusst
Fazit
Die in diesem Whitepaper durchgeführte TCO-Analyse
illustriert die finanziellen Vorteile beim Einsatz
von MongoDB. Selbstverständlich haben unterschiedliche Faktoren wie die Anzahl und Komplexität
der bereitgestellten Anwendungen Einfluss darauf,
ob die Kostenabweichungen kleiner oder größer
ausfallen. Bei den hier gewählten Beispielprojekten sind Aufbau und Betrieb von MongoDB im
Vergleich zu Oracle jedoch über 70 Prozent günstiger.
Der Kostenunterschied ist vor allem auf die höhere
Anwenderfreundlichkeit und größere Flexibilität
von MongoDB in der Entwicklung zurückzuführen.
Dadurch lassen sich die Personalkosten deutlich
senken. Weitere Kostenvorteile entstehen durch den
Einsatz von Standard-Hardware (oben am Beispiel
Speicher) sowie durch deutlich geringere Lizenz- und
Supportgebühren im Vergleich zu Oracle. Obendrein
wirken sich die technischen und finanziellen Vorteile
von MongoDB positiv auf die Wirtschaftlichkeit aus,
beispielsweise durch kürzere Markteinführungszeiten.
Dank des dokumentenorientierten Modells und
flexiblen Schemas können Anwender von MongoDB
nicht nur Kosten einsparen, sondern auch von gesteigerter Agilität und Flexibilität profitieren – was sich
wiederum positiv auf die Wirtschaftlichkeit auswirkt.
Ein Unternehmen, das großen Aufwand betreiben
muss, um ein starres relationales Schema an seine
Anwendungen anzupassen, vergeudet nicht nur Geld
für den zusätzlichen Entwicklungsaufwand. Es muss
aufgrund der verlängerten Markeinführungszeit auch
noch Opportunitätskosten tragen.
Viele der zuvor besprochenen technischen und finanziellen Vorteile sorgen für kürzere Amortisations- und
Markteinführungszeiten.
Da MongoDB über ein flexibles Schema verfügt und
sich für agile Softwareentwicklung eignet, können
Unternehmen ihre Produkte schneller an eine veränderte Nachfrage anpassen. Die Datenbank kann auch
in flexiblen Cloud-Umgebungen betrieben werden, so
dass die Technologie für Unternehmen je nach Umsatz
und Kundenzahl skalierbar bleibt.
Wir hoffen, Sie haben in diesem Whitepaper gute
Anhaltspunkte und Hilfestellungen gefunden, um
die Gesamtbetriebskosen Ihrer eigenen Projekte und
Datenbanken ermitteln zu können.
Wenn Sie mehr über MongoDB und die damit verbundenen TCO-Vorteile erfahren möchten oder Kontakt
zu einem Vertriebsmitarbeiter von 10gen wünschen,
schicken Sie bitte eine E-Mail an [email protected].
All diese Aspekte können erheblich und folgenreich
für ein Unternehmen sein – sie sind jedoch weitaus
subjektiver und situationsabhängiger und lassen sich
deutlich schwerer erfassen, als die in diesem Whitepaper besprochenen Kostenarten. Wir verzichten
deshalb an dieser Stelle darauf, diese ausführlicher
darzustellen. Vielmehr möchten wir einen Anstoß
geben darüber nachzudenken, welches Potenzial sich
Ihrem Unternehmen bietet, wenn sich Datenbanken
einfacher und flexibler entwickeln und bereitstellen
lassen.
9
New York • Palo Alto • Washington, D.C. • London • Dublin • Barcelona • Sydney
UK + (44) 870-495-8023 • INTL (650) 440-4474 • [email protected]
Herausgeber: 10gen, Inc. Oktober 2012
Herunterladen