The Song of Fire and Ice - Oracle ADW vs. Snowflake - DOAG
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Datenbank The Song of Fire and Ice – Oracle ADW vs. Snowflake Dr.-Ing. Holger Friedrich, sumIT Nicht nur dank viralen Marketings, sondern auch durch beeindruckende Leistungsdaten und innovative Archi- tektur ist Snowflake eine ernstzunehmende Konkurrenz für Oracles Autonomous Data Warehouse im Bereich des Cloud Data Warehousing. Beide Produkte haben spezifische Stärken und Schwächen bezüglich ihrer Funk- tionalität, des Handlings und der Einsatzszenarien. Diese zu kennen ist Voraussetzung für die richtige Wahl. 48 www.aoug.at • www.doag.org • www.soug.ch
Abbildung 1: Architektur von ADW in der Oracle Cloud (© Oracle) Oftmals pflegen Oracle-Kunden zu den Platform Cloud kürzlich durch zwei Diens- Beispiel mittels Terraform-Scripting für genutzten Produkten eher eine Vernunft- te, Oracle Data Integrator und OCI Data die Verwaltung der Instanzen. Dies ist ei- denn eine Liebesbeziehung. Datenbank Integration ersetzt. nerseits etwas schwieriger, da mehrere und Optionen werden als teuer wahrge- Abbildung 2 dagegen zeigt die Snow- Technologien gemeistert werden müs- nommen, aber als technisch überlegen flake-Architektur. Im Gegensatz zu ADW sen, andererseits aber im Sinne einer geschätzt. Deshalb werden ihnen kriti- sind hier Storage und Compute getrennt Enterprise-weiten Bewirtschaftung prak- sche Arbeiten und Daten anvertraut. Seit und vollständig unabhängig voneinander tisch, da die gleichen Sprachen und Tools Beginn der Cloud-Ära treten jedoch neue skalierbar. Alle Metadaten, Nutzerverwal- für die gesamte Infrastruktur verwendet Wettbewerber und Produkte in großer tung und Management des Dienstes sind werden, also User Management, Netz- Zahl in den Markt ein. Sie versprechen im übergreifenden Service-Layer pro Re- werke etc. Das DWH ist somit kein Son- nicht nur unbegrenzte Skalierbarkeit, gion zentralisiert. derfall im Unternehmen. Performanz und hohe Sicherheit, son- Bei Snowflake dagegen ist SQL der dern sind auch preislich attraktiv. Heraus- Schlüssel für alle administrativen Ope- ragend unter diesen neuen Konkurrenten Ease of Use, Verwaltung, rationen (siehe Listing 2). Erzeugung von im Cloud-Warehousing ist Snowflake. Wartung und Pflege Datenbanken, Compute-Nodes, Benut- Die Kontrahenten teilen einige Ge- zermanagement und alle anderen ad- meinsamkeiten, unterscheiden sich aller- Einfache Bedienung, sehr hohe Agilität, ho- ministrativen Aufgaben werden per SQL dings signifikant in ihrer Architektur, dem her Automatisierungsgrad und Self-Service- ausgelöst. Dies erlaubt es einem DWH- Tooling darum herum, Feature-Sets und Funktionalität sind die großen Versprechen Team, seine ganze Umgebung inklusive Handhabung. Diese Unterschiede deter- des Cloud-Data-Warehousing. Snowflake des Datenbank-Layers ohne Hilfe ande- minieren ihre Eignung für bestimmte An- hat hier durch seine Cloud-native Architek- rer Gruppen zu verwalten. Schnelleres wendungsfälle. tur leichte Vorteile in Sachen Einfachheit und autonomeres Arbeiten wird so er- Abbildung 1 zeigt die Architektur von und Komfort, während ADW durch die voll- leichtert. Auf der anderen Seite sind für Oracle ADW und die Einbindung in die ständige Integration in das Oracle-Cloud- die Absicherung, Datenintegration, Netz- Oracle Cloud. Im Zentrum steht eine Management punktet, obwohl die Basis-En- werk etc. Kenntnisse über und Werkzeu- Oracle-Datenbank auf Exadata-Infra- gine bereits einige Jahrzehnte im Einsatz ist. ge der jeweiligen Cloud zu nutzen, was im struktur. Darum herum sind diverse zu- In der Oracle Cloud müssen mehrere Gegensatz zu ADW eine vollständig ande- sätzliche Tools und Services wie Machi- verschiedene Technologien zur Verwal- re Umgebung darstellt. ne-Learning- Notebooks, Data Safe, ein tung und für den Betrieb von ADW-Ins- Neben dem administrativen Tooling Middle-Tier für APEX und REST-APIs und tanzen eingesetzt werden. Namentlich gestaltet sich die Wartung und Pflege der weitere dem Service zugeordnet. Im Be- sind dies SQL, PL/SQL innerhalb der beiden Services ähnlich. Bei beiden wird reich Datenintegration wurde Oracle DI ADWs und REST-Calls (siehe Listing 1), zum regelmäßig gepatcht und werden neue Red Stack Magazin 01/2021 49
Datenbank Funktionen frei geschaltet. Während dies Änderungen in einer der Datenbanken, nen Shape von bis zu 128 Nodes oder aus bei Snowflake ein stetiger Fluss ist, bei da dann neue Files geschrieben werden. einem Cluster von Shapes gleicher Größe dem neue Features während recht kurzer bestehen. Verschiedene Virtual Warehou- Testphasen zur Verfügung stehen, geht ses sind für verschiedene Workloads ge- Oracle eher einen traditionellen, aber Skalierbarkeit dacht. Scale-up eines Shape zu mehr No- Enterprise-tauglichen Weg. Patching und des ist online möglich, um Querys mit mehr diverse Funktionen werden kontinuierlich Skalierbarkeit wird bei beiden Plattfor- Rechenleistung zu versorgen, führt aber eingeführt, große Veränderungen stehen men auf unterschiedliche Art und Weise zuweilen zu spürbaren Verlängerungen ge- den Kunden jedoch als Versionsupgrade erreicht. Oracle ADW läuft als PDBs auf rade laufender Abfragen. Scale-out durch einige Monate für Tests und selbstbe- Standard-Exadatas. Skalierbarkeit kann mehrere Shapes in einem Cluster dient der stimmte Upgrades zur Verfügung, bevor dort auf zwei Arten erfolgen, mittels einer nebenläufigen Verarbeitung einer höheren sie verpflichtend ausgeführt werden. Zuweisung von mehr Rechenleistung auf Anzahl von Abfragen. Snowflake stellt Auto- Snowflake bietet größere Flexibilität, einem Exa-Server oder durch Hinzufügen Scale-out zur Verfügung, um Spitzen großer was Cloning und Sharing von Daten an- neuer Datenbankinstanzen auf anderen Abfragemengen zu bewältigen. geht, da beides auch auf Schema und Ob- Exa-Servern. Diese Architektur beschränkt jektebene funktioniert und nicht wie bei die erreichbare Maximalgröße, die jedoch ADW ausschließlich ganze Datenbanken ohnehin kaum von einem Kunden mit ei- Leistung geklont werden können. Auch ist das Clo- ner einzelnen PDB erreicht werden dürfte. ning bei Snowflake in wenigen Augenbli- Andererseits ist die Skalierung elastisch, Die Leistung beider Plattformen für ana- cken durchgeführt. Grund dafür ist die ohne spürbare Serviceunterbrüche. Das lytische Workloads ist sehr gut. Snowflake Cloud-native Implementierung auf einem Auto-Scale-Feature des ADW stellt zudem profitiert dabei von drei Eigenschaften. Object-Store, bei dem keine Veränderun- eine Auto-Skalierung bis zur maximal drei- gen an Datenbankdateien gemacht wer- fachen Rechenleistung bei sekundenge- 1. Spaltenorientierte Speicherung den können. Ein Klon bedeutet damit zu- nauer Abrechnung bereit. 2. Lokales Caching bei den Compute No- nächst nur das Anlegen administrativer Snowflake dagegen kann asymmetrisch des auf Flash-Storage Pointer für eine Gruppe von Dateiversi- mit einer beliebigen Menge von Compute- 3. Keinerlei Aufwand für Indexmanage- onen im Snowflakes Service-Layer. Klon Shapes skalieren. Ein sogenanntes Virtual ment, Constraint-Prüfung, Undo-Ma- und Quelle divergieren erst ab den ersten Warehouse kann dabei aus einem einzel- nagement oder Ähnliches Abbildung 2: Architektur des Snowflake-Dienstes (© Snowflake) 50 www.aoug.at • www.doag.org • www.soug.ch
Hier zahlt sich aus, dass Snowflake kon- #Erstellen einer neuen autonomen Datenbank: sequent auf die Erstellung, Wartung und POST /20160918/autonomousDatabases Prüfung von Primary-, Unique- und For- Host: database.us-phoenix-1.oraclecloud.com eign-Key-Constraints verzichtet. Werden { Constraints jedoch gewünscht oder gar "compartmentId" : "ocid.compartment.oc1..", gebraucht, um Datenqualität, zum Bei- "displayName" : "meine_autonome_db", spiel für regulatorische Berichte, sicher- "dbName" : "MYADW01", zustellen oder für andere Zwecke, dann "adminPassword" : "", "cpuCoreCount" : 8, ist Snowflake ungeeignet. Fast alle "mo- "dataStorageSizeInTBs" : 2, dernen" Cloud-DWH-Dienste, wie etwa MS "dbWorkload" : "DW" Synapse und Google BigQuery, haben die- } selbe Einschränkung bezüglich fehlender Constraints. Im Juni 2020 hat Snowflake Listing 1: Erstellen einer ADB mittels REST-Call ein "Search-Optimisation"-Feature ange- kündigt, um den Zugriff auf kleine Daten- mengen zu beschleunigen. Die Implemen- ten. Sie resultieren einerseits aus der ren Oracle-Cloud-Diensten hinzu. Ein Bei- tierung ist verborgen, aber es sieht danach Reife und dem Alter des Produkts und spiel ist die übergreifende Verwaltung aus, als würden auf Knopfdruck Single-Co- andererseits aus der grundlegenden Ar- der Sicherheit einer Flotte von ADW-Ins- lumn-Non-Unique-Indizes erzeugt. Welche chitektur. tanzen mit dem Dienst Data-Safe. Die An- Auswirkungen dieses Feature auf die Per- Oracle Autonomous Data Warehouse bindung solcher übergreifender und inte- formance haben wird, bleibt abzuwarten. bietet eine Reihe von Features, die Snow- grierender Clouddienste ist für Oracle mit Oracle ADWs Performance ist – wie zu flake vermissen lässt oder bislang nur in ADW möglich, da der Dienst ausschließ- erwarten – ebenfalls sehr gut. Es ist eine recht eingeschränkter Form implemen- lich in der Oracle Cloud angeboten wird Oracle-Datenbank, die auf einer moder- tiert. Beispiele hierfür sind: und Oracle selbst diese und die Dienste nen Exadata-Generation läuft. Sie nutzt darin programmiert. • Vollständige Enterprise-Level-Program- Snowflake implementiert im klassischen • Hybrid-Columnar-Compression, somit mierumgebung mit PL/SQL, Edition- Feature-Bereich eifrig hinzu. Es gibt mittler- auch spaltenorientierte Speicherung, Based Redefinition und weiteren Funk- weile mit der „Search Optimization“ Indizes, • große Mengen Flash-Storage im Sto- tionen mit Data Masking spaltenbasierte Sichtbar- rage-Layer und • Eine Vielzahl spezialisierter, integrier- keitsbeschränkung und mit JavaScript eine • Query-Offloading zu Compute-Res- ter Engines mit XML-DB, Machine Lear- erste, noch recht primitive Programmier- sourcen im Storage-Layer. ning, Spatial, Graph etc. umgebung. Verbesserte Programmierbar- • Feingranulare Access-Steuerung auf keit von DWH-Applikationen durch Unter- Der Grad der Performance kann zudem Datenebene mit Virtual Private Data- stützung anderer Programmiersprachen vom Kunden beeinflusst werden. Wer- base und Data Masking ist mittlerweile angekündigt. den aktive Constraints genutzt, muss der • Weitreichende Kontrolle über die Aus- Hängt Snowflake im klassischen Daten- Rechenoverhead dafür geleistet werden, führung von Abfragen durch Hints bank-/Data-Warehous-Bereich mit Fea- sonst nicht. Allerdings hat der Kunde bei • Performancefeature und -strukturen tures hinterher, so gibt es andererseits ADW die Wahl, die ihm bei Snowflake wie Partitioning, Materialized und Ana- eine Reihe neuer Eigenschaften, die der nicht gegeben ist. Zudem ist es möglich, lytic Views, Query Pattern Matching, In- Dienst ADW voraushat. Dazu gehören: mit Indizes Zugriffe auf kleine Datenmen- dizes und andere gen gezielt zu beschleunigen. • Application Express (APEX) Low-code- • Read-only Sharing von Strukturen, Da- Applikationsentwicklungsumgebung tenbanken oder ganzen Schemata • REST-APIs für den Daten-Access und zu • Daten(-bank)replikation über mehrere Features APEX-Applikationen mit enthaltenen Cloud-Regionen und Clouds hinweg Oracle Rest Data Services (ORDS) • Time-Travel-Funktionalität für tempo- Im Bereich der Features, also der funktio- räre Querys über viele Tage hinweg nalen Produkteigenschaften, gibt es gro- Darüber hinaus kam im vergangenen Jahr • Undrop von einzelnen Strukturen, ße Unterschiede zwischen beiden Diens- auch eine vertiefte Integration mit ande- Schemata und ganzen Datenbanken • Kontinuierliche Datenpipelines mit Snow-Pipe zum automatischen Laden use role sysadmin; neu eintreffender Daten aus Data-Lakes create or replace database MYSF01_DB comment='meine SF db'; create or replace WAREHOUSE MYSF01_WH • Zentrale Nutzer- und Rechteverwal- tung für alle Snowflake-Instanzen ei- with WAREHOUSE_SIZE = 'XSMALL' WAREHOUSE_TYPE = 'STANDARD' AUTO_SUSPEND = 600 AUTO_RESUME = TRUE nes Kontos COMMENT = 'mein SF Virtual Warehouse'; Diese Alleinstellungsmerkmale von Snow- Listing 2: Erstellen einer Snowflake-Datenbank und von Compute-Knoten mittels SQL flake gegenüber ADW sind der Nutzung Red Stack Magazin 01/2021 51
Datenbank der Cloud-nativen Architektur mit zent- Region bei Snowflake bekommt. Ebenso en Einfluss zu nehmen. In der Cloud-Welt ralem administrativen Layer und Daten- unklar ist, ob diese Ressourcen dann fest wird dem Benutzer zwar suggeriert, dass Dictionary (siehe Abbildung 2) sowie der zugesichert sind oder Noisy-Neighbour- er sich darüber keine Gedanken machen Speicherform in Object Storage zu ver- Effekte auftreten könnten. Preise und müsse, aber in der Realität muss in der danken. Grundsätzlich lohnt es sich, re- Shapes variieren zwischen Clouds und Regel das Maximale mit begrenztem Bud- gelmäßig die Webseiten der Hersteller Regionen. get erreicht werden. Im Zweifelsfall ist aufzusuchen, um den aktuellen Stand der Oracle ist beim Thema Kosten trans- es daher keine Option, mehr Leistung zu vorhandenen Funktionen zu prüfen. [1, 2] parent und klar. Eine OCPU in der Cloud kaufen, wenn ein Verarbeitungsschritt entspricht einem Intel Core und damit 2 nicht wie gewünscht performt. Stattdes- vCPUs in einer Exadata-Infrastruktur. Die sen ist es ein entscheidender Vorteil, Kosten Ressourcen werden per Resource Ma- wenn man auch in einem voll gemanag- nager auf der genutzten Exadata-Infra- ten Service in der Lage ist, Detailanalysen Der Vergleich, die A-priori-Abschätzung struktur zugesichert. Der Preis pro OCPU von Ausführungsplänen durchzuführen der Kosten verschiedener Cloud-Diens- ist in allen Regionen der Welt gleich. Zum und Ausführungen zu tunen. te ist schwierig. Neben den Kosten des Einstieg bietet Oracle im Netz zudem DWH-Service selbst spielen auch weite- das Cloud-Äquivalent der XE-Datenbank- re Faktoren, wie zum Beispiel Netzwerk- version im Rahmen der kostenfreien Al- Über den Autor kosten zur Anbindung von Quellen, eine ways-Free-Services an. Dieser Dienst ist wichtige Rolle. Hierunter fallen beispiels- bezüglich Leistung und Speicherplatz Holger Friedrich ist Geschäftsführer weise die Anbindung des heimischen begrenzt, enthält aber darüber hinaus von sumIT AG [6] und Oracle ACE. Seit On-Premises-Netzes an die Cloud, aber alle Komponenten des kostenpflichtigen 20 Jahren ist er auf den Gebieten Data auch Egress-Kosten, sollte eine Quel- Dienstes. [4] Warehousing, Datenintegration und Busi- le in einer anderen Cloud liegen als der ness Intelligence tätig. Data-Warehouse-Service selbst. Einen Vorteil kann hier in manchen Szenarien Fazit Snowflake für sich verbuchen, da man Quellen drei Clouds zur Auswahl hat. Geschick- Beide Cloud-DWH-Dienste, Snowflake wie [1] https://www.oracle.com/database/ te Platzierung des Dienstes hilft, Egress- ADW, sind leistungsfähig, effizient, von technologies/datawarehouse-bigdata/ Kosten einzusparen. Für Oracle gilt dies der Kostenseite her attraktiv und hervor- adw-features.html [2] https://docs.snowflake.com/en/release- in der eigenen Cloud und für Quellen in ragend im agilen Umfeld einsetzbar. Wel- notes/new-features.html Azure-Rechenzentren, die per direktem cher Dienst der passende für einen Kun- [3] https://cloudmarketplace.oracle.com/ Interconnect an die Oracle Cloud ange- den oder ein Projekt ist, hängt von den marketplace/de_DE/listing/62627436 [4] https://www.oracle.com/cloud/free/ schlossen sind. konkreten Anforderungen, Umsystemen [5] https://cloud.google.com/blog/products/ Ein weiterer Kostenpunkt stellt die Da- und der gewählten Cloud-Strategie ab. data-analytics/introducing-bigquery-omni tenintegration dar, sollte hierfür ein me- Ist Datenkonsistenzprüfung durch die [6] https://www.sumit.ch/ tadatenbasiertes Werkzeug anstatt ma- Datenbank nicht wichtig, Programmie- nueller Programmierung genutzt werden. rung in der Datenbank nicht erwünscht Während Snowflake kein eigenes oder und sind stattdessen andere Dinge wie fremdes DI-Tooling gratis zur Verfügung Long-Distance-Replikation, zentrale Rech- stellt, kann man für Oracle ADW zum ge- teverwaltung über viele Instanzen oder genwärtigen Zeitpunkt Oracle Data Integ- flexibles Data Sharing gefragt, ist Snow- rator und damit ein Enterprise-Integrati- flake ein hervorragendes Produkt. In die- onswerkzeug kostenfrei vom Marketplace sem Bereich ist Snowflake auch eher in der Oracle Cloud beziehen und für ADW Konkurrenz zu Googles BigQuery zu se- einsetzen. [3] hen. Google hat mit BigQuery ebenso Schließlich stellt sich die Frage, wie viel noch ein Feature-Defizit, hat jedoch kürz- Rechenleistung und Speicherplatz es für lich Multi-Cloud-Unterstützung mit Big- wie viel Geld gibt und welche Zeiträume Query Omni [5] angekündigt. abgerechnet werden. Snowflake rechnet Werden stattdessen starke Daten- in Nodes, dokumentiert allerdings nicht konsistenzprüfung, eine komplette, reife die Anzahl der vCPUs, der ein Node ent- Programmierumgebung, multiple Verar- spricht. Man handelt ganz nach dem alten beitungs-Engines in einem Service und Motto von Rolls Royce, dass eine genaue- komplexe Sicherheitsmechanismen be- re Leistungsangabe nicht notwendig sei, nötigt, dann führt an Oracle ADW kaum da immer eine überragende Performance ein Weg vorbei. Nicht zu unterschätzen bereitstünde. Es bleibt für den Kunden ist dabei die Möglichkeit, in ADW mittels unsicher, wie viele Rechenressourcen er Hints und detaillierter Analyse von Ab- Dr-Ing. Dipl.-Inform. Holger Friedrich für einen Credit in welcher Cloud oder laufplänen auf die Ausführungsstrategi- Holger.Friedrich@sumit.ch 52 www.aoug.at • www.doag.org • www.soug.ch
Sie können auch lesen