Database Oracle
Oracle e Teradata sono entrambi Sistemi di gestione di database relazionali (RDBMS), tuttavia Oracle implementa un Object-Relational Database Management System (ORDBMS).[io]
L'RDBMS è stato introdotto utilizzando il modello relazionale [ii] che mantiene le relazioni tra le tabelle utilizzando indici, chiavi primarie e chiavi esterne. È più veloce recuperare e archiviare dati rispetto al vecchio Database Management System (DBMS).
Sebbene simile a un database relazionale, il modello di database orientato agli oggetti di Oracle utilizza gli oggetti e le classi supportate nello schema del database e nel linguaggio di query.
Alla fine degli anni settanta, mentre Oracle divenne il primo RDBMS disponibile in commercio, Teradata stava gettando le fondamenta per il primo data warehouse. Le sue capacità lo rendevano perfetto per i big data (termine coniato da Teradata), strumenti di Business Intelligence (BI) [iii] e Internet of Things (IoT) [iv].
I sistemi di gestione dei database relazionali (RDBMS) possono essere classificati come Elaborazione delle transazioni online - OLTP e Elaborazione analitica online - OLAP.[V]
OLTP è transazionale e fornisce dati ai data warehouse e OLAP è progettato per analizzare i dati.
"UN data warehouse è un database contenente dati che di solito rappresenta la cronologia aziendale di un'organizzazione. I dati in un data warehouse sono organizzati per supportare l'analisi anziché elaborare transazioni in tempo reale come in sistemi di elaborazione delle transazioni online (OLTP).
OLAP la tecnologia consente ai data warehouse di essere utilizzati efficacemente per l'analisi online, fornendo risposte rapide a query analitiche complesse iterative.”[Vi]
Sebbene Teradata sia orientato verso OLAP e Oracle per OLTP, Oracle può eseguire sia database OLTP che OLAP sulla stessa piattaforma, che Teradata non supporta. Le prestazioni offrono a Oracle un vantaggio rispetto a Teradata nella maggior parte degli scenari di carichi di lavoro misti.
Le transazioni comprendono una o più istruzioni SQL eseguite su un database per completare le attività, mantenendo l'integrità dei dati. Le transazioni sono interdipendenti per gestire ed elaborare i dati aggiunti o cancellati da un database.
Oracle è fatto su misura per l'elaborazione delle transazioni grazie alla sua flessibilità architettonica (con un oggetto RDBMS), mentre l'OLAP di Teradata è potente per tagliare e tagliare i dati (la cronologia dei dati OLTP) per l'analisi, senza spostare o ristrutturare i dati.
Oracle viene principalmente utilizzato come applicazione back-end online per la gestione di inserimenti, aggiornamenti ed eliminazioni durante la transazione, mentre Teradata è Data Warehousing che mantiene i big data per l'analisi e non ci sono transazioni in tempo reale.
Teradata è una buona combinazione tra hardware e software, producendo un'appliance di fascia enterprise di fascia enterprise, tuttavia Oracle ha lanciato il suo OLAP Exadata Server nel 2008. Era la risposta di Oracle a un'appliance di database completa.
Entrambi richiedono un investimento significativo e sono più adatti a database molto grandi che richiedono grandi prestazioni con query complesse.
Teradata è Shared Nothing (SN) Architecture mentre Oracle è Tutto condiviso.
Il termine condiviso niente architettura si riferisce a un sistema di gestione di database multiprocessore in cui la memoria e l'archiviazione su disco non sono condivisi tra i processori. [vii] La larghezza di banda della rete è condivisa per trasferire i dati.
Con Teradata, i dati vengono memorizzati sui server e ciascuno calcola la propria parte. I dati sono partizionati e archiviati su un set di server e ogni server è responsabile dei suoi dati. Esempi di piattaforme di fascia alta che utilizzano la stessa architettura includono Google, Amazon e Facebook.
Tuttavia con Oracle condiviso tutto l'architettura, tutti i dati sono accessibili a tutti i server e i livelli di accesso possono essere applicati a qualsiasi parte dei dati secondo necessità. Il potenziale svantaggio è rappresentato dall'aumento dei costi di gestione dell'accesso ai dati e potrebbe rendere più complessa la gestione del sistema da amministrare.
L'architettura di Oracle in pratica significa che qualsiasi macchina può accedere a qualsiasi dato, e questa è la differenza fondamentale tra Teradata, rendendo Teradata ideale per il data warehousing e Oracle più adatto a OTLP.
Si noti che sebbene Oracle Exadata abbia implementato un approccio ibrido delle due architetture, un sistema Exadata non può essere utilizzato senza Oracle. Exadata è un motore di memorizzazione "aggiuntivo" e non una revisione del motore di database Oracle.
La scalabilità include diversi aspetti di un'infrastruttura IT come la gestione degli aumenti di dati e volumi transazionali, nonché l'aumento di dati multidimensionali, numero di utenti, gestione del carico di lavoro, complessità e volume delle query, ecc..
Teradata è Scalabile linearmente[viii] significa che la capacità del database può essere aumentata aggiungendo più nodi all'infrastruttura e quando il volume di dati aumenta, le prestazioni non sono influenzate.
Il sistema è progettato per la scalabilità multidimensionale e offre modelli più robusti per scalabilità e scalabilità rispetto a Oracle. Sebbene Oracle abbia una buona scalabilità, è noto che i colli di bottiglia si verificano con il sottosistema di archiviazione e hanno una delle migliori velocità di elaborazione dei dati, ma solo fino a un certo limite. Ad esempio, se la maggior parte delle query è nota e i dati utilizzati sono inferiori a 600 TB, Oracle potrebbe essere adatto, ma se si prevede che i dati aumenteranno oltre, Teradata è la scelta migliore.
Teradata ha un parallelismo incondizionato [ix] mentre Oracle ha un condizionale. Teradata offre un vantaggio con OLAP poiché le prestazioni sono eccezionali per ottenere una risposta singola più veloce rispetto a un sistema non parallelo. Il parallelismo utilizza più processori che lavorano insieme per eseguire rapidamente un compito.
Per usare un'analogia di come funziona il parallelismo, pensa a una coda in un negozio commerciale affollato, con una coda che si dirama in code separate per ciascuna cassa. La linea si muove più velocemente in questo modo, invece di una coda e una volta. Più efficiente è il caricamento parallelo, migliori sono le prestazioni del sistema.
Teradata ha parallelismo in tutto il suo sistema, compresa l'architettura, l'elaborazione complessa e il caricamento dei dati. L'ottimizzazione delle query non è necessaria per elaborare le richieste in parallelo e Teradata non dipende dai vincoli di intervallo di colonne o dalla quantità di dati limitata, diversamente da Oracle.
Altre differenze menzionabili includono:
Oracle e Teradata sono entrambi maturi nel prodotto e nella tecnologia, tuttavia Oracle supera la quantità di implementazioni rispetto a Teradata.
Poiché Oracle è più diffuso di Teradata, ha un ricco set di strumenti, rendendolo la scelta migliore per gli sviluppatori e gli utenti aziendali. Le percezioni degli utenti aziendali considerano Teradata troppo complesso o riservato a esperti specializzati, quindi è più facile trovare un utente o sviluppatore Oracle esperto, piuttosto che trovare uno Teradata.
Componente | Teradata | Oracolo |
Architettura | · Niente condiviso · Modello relazionale · I nodi dispongono di più motori di analisi e motori di database denominati Processori modulo di accesso | · Tutto condiviso · Modello relazionale agli oggetti · Disco condiviso / memoria condivisa liberamente accoppiato · Architettura DB per più database di nodi |
OLAP | Sistema progettato e configurazione essenziale non richiesta. | L'installazione e la configurazione per OLAP sono tecniche e complesse. |
OLTP | Non possibile. | Sistema progettato. |
Sistema operativo | · Finestre · Linux · UNIX | · Finestre · Linux · UNIX · Mac OS X · Z / OS |
Parallelismo | "Sempre attivo" incondizionato, progettato sin dall'inizio. | Condizionale e imprevedibile |
Tabelle del database | Le tabelle create nei database e nello spazio su disco sono gestite da Teradata stesso. | Tabelle create in tablespace appartenente allo schema e ha parametri di utilizzo dello spazio. |
Oggetti del database | · Cursore · Routine esterna · Funzione · Procedura · Trigger | · Dominio dati · Cursore · Routine esterna · Funzione · Procedura · Trigger |
Uso dell'indice | Tradizionalmente non si utilizzano molti indici poiché l'architettura parallela si concentra sui requisiti di prestazione del throughput. | Affidatevi agli indici poiché i carichi di lavoro OLTP richiedono percorsi di accesso rapidi. |
Interfaccia | · SQL | · SQL · GUI |
Tipi di dati | ||
Stringa | · CHAR · CLOB · VARCHAR | · CHAR · CLOB · VARCHAR · NCHAR · NVARCHAR |
Binario | · BYTE · VARBYTE | · BFILE · LONGRAW · CRUDO |
Appuntamento | · TEMPO · DATA · TIMESTAMP | · DATA · TIMESTAMP |
Classifica dell'utente globale (sondaggio IT Central Station) [xi] | Terzo | Primo |