Im Härtetest
24.10.2012, 23:33 Uhr
Teradata gegen Oracle
Teradata vereinfacht die Migration von Oracle auf die eigene Datenbank. Die neue Teradata 14 reduziert IT-Kosten und optimiert die Performance. Welches System ist besser?
Oracle beherrscht den Datenbank-Markt und hat mit seinem neuen Release 12c erneut eine Schippe punkto besserer Ressourcen-Ausnutzung und Skalierbarkeit drauf gelegt. Aber Achtung, Oracle, ruhe dich nicht auf deinen Lorbeeren aus. Der Datawarehouse-Spezialist Teradata erleichtert mit seiner hochoptimierten Performance-Maschine TD 14 die Migration weg von Oracle hin auf die eigenen Lösungen. Muss Oracle sich also in Zukunft wam anziehen? Teradatas Rich Charucki gab auf einem sogenannten "Deep Dive" in Washington (Teradata Partners Conference) Einblicke in die entscheidenden Technologien, die Oracle-Kunden zum Wechsel verführen könnten. Die grosse Herausforderung Die entscheidenden Benchmarks für hocheffiziente Datenbanksysteme sind Performance, CPU-Zyklen und Input/Output-Operationen (I/O). Hohe Latenzzeiten sind ein Killerkriterium für Anwender, die in Echtzeit Entscheidungen fällen müssen. CPU-Power und vor allem I/O-Operationen kosten jede Menge Geld. Die schnellen, aber teuren Solid-State-Disks (SSD) etwa halten nur eine begrenzte Anzahl von Schreib- und Lesezugriffen durch. Performance zu maximieren, I/O (!!), GByte und CPU - also die teuren Ressourcen - zu minimieren, darin besteht die grosse Herausforderung. Die neuen Features: 1) Teradata 14 partitioniert Daten nicht nur reihenweise (klassisch), sondern auch kolumnenorientiert über sogenannte "Column Store Containers" und "Row Stores". Der Clou: Hybride Modelle enthalten Zeilen- und Kolumnen-Container - in ein und derselben Tabelle. Bei komplexeren, analytischen Anfragen reduziert diese Technik die teuren I/O-Zugriffe dramatisch. Einer der Gründe: Redundanter Overhead beim Laden von klassischen Datensatzeinheiten in den Arbeitsspeicher entfällt (durch Kolumnen), und wird auch nicht vermisst. Wer Kunden und Auftragsvolumina im vergangenen Geschäftsjahr aufsummieren will, ist an Supplementär-Informationen wie Kontaktdaten nicht sonderlich interessiert. 2) Der Anwender steuert per SQL selbst, wie seine Daten gespeichert werden, etwa mit dem SQL-Befehl: Create Table Meine-Kunden ....... No Primary Index Partition by Column 3) Ein weiterer Vorteil: Partitionen/Container - also nicht grosse, vollständige Datenbank-Tabellen - können je nach Zugriffshäufigkeit und Statistik auf unterschiedlichen Speichermedien abgelegt werden. Speicherspezialisten unterscheiden zwischen stark nachgefragten "hot data" und weniger interessanten "cold data". Heisse Daten performant zu bedienen ist teuer. Denn Solid State Drives (und Memory) glänzen mit schnellen Zugriffszeiten, belasten aber durch hohe Kosten das Budget. Bei klassischen Hard Drives ist es dagegen umgekehrt. Hier gilt es, punkto Performance und Kosten für jedes Unternehmen ein Optimum zu finden. Und mit der kleineren logischen Speichereinheit Partition/Container gelingt das besser. Laut Statistik greifen: - 30 bis 50 Prozent aller I/Os auf 1 Prozent der Daten zu - 70 bis 90 Prozent aller I/Os auf 10 bis 25 Prozent der Daten zu - lediglich 10 bis 20 Prozent aller Anfragen benötigen die restlichen 75 Datenprozente. Nur für Aplikationen mit extrem hohen Performance-Ansprüchen lohnt es sich also, mehr als 10 bis 25 Prozent aller Daten in den teuren Arbeitsspeicher zu laden oder auf SSDs vorzuhalten. Nächste Seite: Speicherreduktion um 90 Prozent Kompression - ein zweischneidiges Schwert 4) Teradata stellt mehrere Kompressionstypen zur Auswahl. Teilweise reduziert sich der Speicherplatzbedarf um bis zu 90 Prozent, wenn man mehrere Algorithmen hintereinander auf die Daten los lässt. Aber Vorsicht: Kompressionsalgorithmen sind ein zweischneidiges Schwert. Kompression spart zwar Speicherplatz und reduziert die I/O-Zugriffe, weil auf einen Schlag grössere Einheiten ins Memory geladen werden. Sie kostet aber zusätzlich Rechenzeit/CPU. Schliesslich wollen die komprimierten Daten ja irgendwann auch wieder dekomprimiert werden. "There is no free lunch", hört man von den versierten Techies auf der Teradata Partners Conference häufig. Ins Auge stechen die sogenannte "Delta on Mean Compression" und die "Dictionary-based Compression", die beide auch auf Kolumnen-Container (vgl. oben: Query Performance optimiert) angewendet werden können. "Delta on Mean" berechnet den Durchschnitt aller Werte im Container und speichert dann lediglich die Differenz ab: bei einem Durchschnitt von 100 und einem Wert von 98 also -2. -2 benötigt weniger Speicherplatz als 98, was den Ressourcenberbrauch und damit die Kosten pro GigaByte weiter reduziert. Bei der "Dictionary Compression" (auch: Multi-Value Compression) wählen Endanwender selbst die Werte aus, die komprimiert werden sollen. Königskunde eBay - Analytics am Limit Im Einzelfall mögen die Einsparungen gering sein. Aber sie summieren sich, wenn man bedenkt, dass bei eBay, dem grössten Teradata-Kunden, täglich 50 TByte neue Daten auflaufen, stündlich etwa 10 TByte gesichert (Backup) werden müssen und pro Tag physikalisch etwa 100 PetaByte an I/O-Operationen zu bewältigen sind. Die Zahlen nannte eBays Gayatri Patel auf ihrem Vortrag "ebay's Culture of Analytic-driven Executive Decision Making" in Washington. eBay habe neben Teradata auch Lösungen von Tableau (Rapid-fire Business Intelligence), MicroStrategy, SAS (statistische Modelle) sowie Hadoop/MapReduce im Einsatz, sagte Patel Nächste Seite: Migration von Oracle auf Teradata Migrationshilfen: von Oracle zu Teradata Soweit die Highlights aus dem detaillierten, zweieinhalbstündigen "Deep Dive" von Teradatas Engineering Fellow Richard Charucki. Können die neuen Features von Teradata 14 Oracle-Kunden zum Umstieg bewegen? Laut der Anwenderbefragung "The BI Survey 11" des Business Application Research Center (BARC), die in wenigen Tagen auf den Markt kommt, tragen sich punkto Business Intelligence (BI) etwa 10 Prozent aller Oracle-Kunden mit Wechselabsichten. Damit liegt Oracle über dem Durchschnitt aller Anbieter. Und möglicherweise wechseln Kunden nicht nur Business Analytics, sondern in einem Aufwasch auch gleich das zugrunde liegende Basissystem - die Datenbank/das Data Warehouse. "Es gibt jede Menge Unterschiede zwischen Teradata und Oracle", sagt der ehemalige Teradata-CTO Charucki. Aber mit dem neuen Release 14 hat Teradata die Migration von Oracle-Kunden zumindest erleichtert: 1) Array Data Type: Teradata unterstützt sogenannte multidimensionale Arrays - also durchnummerierte, indizierte Serien von Daten gleichen Datentyps wie integer, dezimal, oder alphanumerische Zeichen - mit bis zu fünf Dimensionen. Ein fünfdimensionales Array ist praktisch ein Data Warehouse en miniature, für schnelle Business Analytics sehr gut geeignet. Damit gehe Teradata über das hinaus, was die meisten Datenbank-Hersteller - wie auch Oracle - heute auf der Pfanne haben, betont Charucki. Oracles eindimensionales Array (1-D) ist funktional kompatibel mit Teradatas 1-D. Auch auch SQL-Abfragen über beide Typen werden unterstützt. Die Syntax ähnelt sich: Teradata 1-D Array: Create Type Car_ID Array AS VARCHAR(20) ARRAY(8) Default Null; Oracle 1-D Array Create Type Car_ID_Array AS VARRAY(8) of VARCHAR(20) Default Null; Ausserdem unterstützt Teradata die Oracle-kompatiblen Array-Funktionen: OEXIST, OCOUNT, OLIMIT, OFIRST, OLAST, OPRIOR, ONEXT, OEXTEND, OTRIM und ODELETE. 2) Number Data Type: Teradata hat seinen neuen Zahlentyp NUMBER auf Oracle-Datenbanken zugeschnitten. Das werde die Migration weiter forcieren, meinte Charucki in Washington. Das neue Feature Variable Decimal reserviert für Dezimalzahlen keinen festen Speicherbereich - von dem einige Bytes oft gar nicht benötigt werden - sondern skaliert den Speicher je nach Bedarf. Auch dieser kleine Vorteil summiert sich auf und bringt Ersparnisse punkto Speicher und I/O-Operationen. Ausserdem legt Teradata Zahlenwerte nach dem Mantisse-Verfahren ab, was spätere Änderungen erleichtert: 123 wird zu E=0 und M=123, 12,3 wird zu E=1 und M=123, 1,23 wird zu E=2 und M=123. Und der Sieger ist... Was gibt es sonst noch Neues in TD Release 14? Viele kleine und grössere Details: Der Datawarehouse-Spezialist hat eine kostenbasierte Abfrage-Optimierung eingebaut, verkürzt die Downtime für Upgrades (Online Reconfiguration Utility), hat sein Workload-Management optimiert und setzt mit seiner Virtual Maschine Edition 14 auf dem Hypervisor ESX(i) des Marktführers VMwares auf. Ist Teradata damit besser als Oracle? Laut Teradata-Offiziellen haben in jüngster Zeit etwa 250 Oracle Kunden auf Teradata-Systeme migriert...