The Song of Fire and Ice - Oracle ADW vs. Snowflake - DOAG

 
WEITER LESEN
The Song of Fire and Ice - Oracle ADW vs. Snowflake - DOAG
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
The Song of Fire and Ice - Oracle ADW vs. Snowflake - DOAG
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
The Song of Fire and Ice - Oracle ADW vs. Snowflake - DOAG
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