Cosa sono OLTP e OLAP. Qual'è la differenza tra loro?


294

In realtà cosa significano? Tutti gli articoli che trovo su di loro non mi danno un'idea o la mia conoscenza è troppo insufficiente per capirla.

Qualcuno mi darà alcune risorse con le quali posso imparare da zero.


8
Fare riferimento a datawarehouse4u.info/OLTP-vs-OLAP.html per iniziare e quindi solo Google in giro per ulteriori collegamenti su dettagli e differenze
Incognito

1
Ok, quindi le operazioni DB semplici sono nella categoria OLTP E l'elaborazione complessa di dati di grandi dimensioni è in OLAP, questo è il concetto Base giusto ??
Amarnath R Shenoy,

1
@AmarnathRShenoy yeah inserisci, aggiorna, elimina si occuperà di OLTP
Nagaraj S

9
@AmarnathRShenoy Dovresti davvero impegnarti di più nella ricerca di un argomento. Le due risorse fornite dalla risposta di Nagaraj S erano letteralmente le prime due pagine restituite da Google. Ti stai ingannando per conoscenza quando lasci che qualcun altro faccia il lavoro per te. Per suggerimenti su come scrivere domande SO migliori, consultare la pagina di aiuto SO: Come chiedere? .
Austin,

Risposte:


363

Qui troverai una soluzione migliore OLTP vs. OLAP

  • OLTP (elaborazione delle transazioni online) è coinvolto nel funzionamento di un particolare sistema. OLTP è caratterizzato da un gran numero di brevi transazioni online (INSERT, UPDATE, DELETE). L'enfasi principale per i sistemi OLTP è data dall'elaborazione molto veloce delle query, mantenendo l'integrità dei dati in ambienti multi-accesso e un'efficacia misurata dal numero di transazioni al secondo. Nel database OLTP sono presenti dati dettagliati e attuali e lo schema utilizzato per archiviare i database transazionali è il modello di entità (in genere 3NF). Implica query che accedono a singoli record come Aggiorna la tua e-mail nel database dell'azienda.

  • OLAP (elaborazione analitica on-line) si occupa di dati storici o dati di archivio. OLAP è caratterizzato da un volume relativamente basso di transazioni. Le query sono spesso molto complesse e coinvolgono aggregazioni. Per i sistemi OLAP un tempo di risposta è una misura di efficacia. Le applicazioni OLAP sono ampiamente utilizzate dalle tecniche di Data Mining. Nel database OLAP ci sono dati storici aggregati, memorizzati in schemi multidimensionali (di solito schema a stella). A volte una query deve accedere a una grande quantità di dati nei registri di gestione come quello che è stato il profitto della tua azienda nell'ultimo anno.


7
Informazioni molto chiare. Grazie per averlo condiviso mi ha aiutato a chiarire i miei dubbi.
Catturato il

A cosa si riferisce "OL"?
Zach Smith,

Se anche altri hanno bisogno di un aggiornamento: 3NF è una forma normale che viene utilizzata per normalizzare la progettazione di un database per ridurre la duplicazione dei dati e garantire l'integrità referenziale
Martin Thoma,

1
OL si riferisce a "ONLINE", che significa completamento dell'elaborazione dei dati in tempo reale e non elaborazione batch.
Ganesh Jadhav,

229

Risposta molto breve:

Database diversi hanno usi diversi. Non sono un esperto di database. Regola del pollice:

  • se stai eseguendo analisi (es. aggregando dati storici) usa OLAP
  • se stai effettuando transazioni (es. aggiungendo / rimuovendo ordini su un carrello e-commerce) usa OLTP

Risposta breve:

Consideriamo due scenari di esempio:

Scenario 1:

Stai creando un negozio / sito web online e vuoi essere in grado di:

  • memorizzare dati utente, password, transazioni precedenti ...
  • conservare i prodotti reali, i loro prezzi associati

Vuoi essere in grado di trovare dati per un determinato utente, cambiarne il nome ... fondamentalmente esegui le operazioni INSERT, UPDATE, DELETE sui dati degli utenti. Lo stesso vale per i prodotti, ecc.

Vuoi essere in grado di effettuare transazioni, eventualmente coinvolgendo un utente che acquista un prodotto (che è una relazione). Quindi OLTP è probabilmente una buona scelta.

Scenario 2:

Hai un negozio / sito web online e vuoi calcolare cose come

  • il "denaro totale speso da tutti gli utenti"
  • "qual è il prodotto più venduto"

Questo rientra nel dominio di analisi / business intelligence, e quindi OLAP è probabilmente più adatto.

Se pensi in termini di "Sarebbe bello sapere come / cosa / quanto" ..., e ciò coinvolge tutti gli "oggetti" di uno o più tipi (es. Tutti gli utenti e la maggior parte dei prodotti per conoscere il totale speso) quindi OLAP è probabilmente più adatto.

Risposta più lunga:

Naturalmente le cose non sono così semplici. Ecco perché dobbiamo usare tag brevi come OLTPe OLAPin primo luogo. Ogni database dovrebbe essere valutato in modo indipendente alla fine.

Quindi quale potrebbe essere la differenza fondamentale tra OLAP e OLTP?

Bene, i database devono archiviare i dati da qualche parte. Non dovrebbe sorprendere che il modo in cui i dati sono archiviati riflette fortemente il possibile uso di tali dati. I dati sono generalmente memorizzati su un disco rigido. Pensiamo a un disco rigido come a un foglio di carta davvero ampio, dove possiamo leggere e scrivere cose. Esistono due modi per organizzare le nostre letture e scritture in modo che possano essere efficienti e veloci.

Un modo è quello di creare un libro un po 'come un elenco telefonico . Su ogni pagina del libro, memorizziamo le informazioni riguardanti un determinato utente. Ora è bello, possiamo trovare le informazioni per un determinato utente molto facilmente! Vai alla pagina! Possiamo anche avere una pagina speciale all'inizio per dirci su quale pagina sono gli utenti se vogliamo. D'altra parte, se vogliamo trovare, diciamo, quanti soldi hanno speso tutti i nostri utenti, dovremmo leggere ogni pagina, cioè l'intero libro! Sarebbe un libro / database basato su righe (OLTP). La pagina facoltativa all'inizio sarebbe l'indice.

Un altro modo di utilizzare il nostro grande foglio di carta è creare un libro contabile . Non sono un commercialista, ma immaginiamo che avremmo una pagina per "spese", "acquisti" ... È bello perché ora possiamo interrogare cose come "dammi le entrate totali" molto rapidamente (basta leggere gli "acquisti" " pagina). Possiamo anche chiedere cose più impegnative come "dammi i primi dieci prodotti venduti" e avere comunque prestazioni accettabili. Ma ora considera quanto sia doloroso trovare le spese per un determinato utente. Dovresti esaminare l'intero elenco delle spese di tutti e filtrare quelle di quel particolare utente, quindi sommarle. Il che equivale sostanzialmente a "leggere di nuovo l'intero libro". Sarebbe un database basato su colonne (OLAP).

Ne segue che :

  • OLTP i database sono pensati per essere usati per fare molte piccole transazioni e di solito servono come "unica fonte di verità".

  • OLAP i database invece sono più adatti per analisi, data mining, meno query ma sono generalmente più grandi (funzionano su più dati).

È un po 'più coinvolto di quello e ovviamente è una panoramica di 20.000 piedi su come differiscono i database, ma mi permette di non perdersi in un mare di acronimi.

Parlando di acronimi:

  • OLTP = elaborazione delle transazioni online
  • OLAP = elaborazione analitica online

Per leggere un po 'di più, ecco alcuni link rilevanti che hanno fortemente ispirato la mia risposta:


39
simpatico approccio usando diversi livelli di spiegazione, linguaggio accessibile e con esempi concreti. un modello per le persone che rispondono alle domande in StackOverflow.
Ribamar,

2
Risposta fantastica! Il migliore di gran lunga che ho trovato in SO fino ad ora! Dai a quest'uomo una medaglia!
Pedro Gordo,

1
L'ho trovato molto facile da capire!
The One

3
"In caso di dubbio, utilizzo solo SQL." - SQL è un linguaggio e questo non risponde alla domanda. Esistono tutti i tipi di sistemi mgmt di dati che sanno come interpretare SQL e tradurlo per lavorare con tutti i tipi di origini dati dietro il cofano. Si possono fare query sql anche su sparkframe dataframe. È come dire "in caso di dubbio, uso solo html". Ok, è la risposta breve ma è sciocca
Radu Simionescu

1
Sì, quello che proponi sarebbe un miglioramento, per entrambi gli aspetti. Ovviamente non renderebbe giustizia all'argomento, ma non è questo il punto. Saluti !
Cbhihe,

24

La differenza è abbastanza semplice:

OLTP (elaborazione delle transazioni online)

OLTP è una classe di sistemi di informazione che facilitano e gestiscono applicazioni orientate alle transazioni. OLTP è stato anche utilizzato per fare riferimento all'elaborazione in cui il sistema risponde immediatamente alle richieste dell'utente. Le applicazioni di elaborazione delle transazioni online sono ad alto rendimento e inseriscono o richiedono un aggiornamento intenso nella gestione del database. Alcuni esempi di sistemi OLTP includono l'inserimento di ordini, vendite al dettaglio e sistemi di transazioni finanziarie.

OLAP (elaborazione analitica online)

OLAP fa parte della più ampia categoria di business intelligence, che comprende anche database relazionali, scrittura di report e data mining. Le applicazioni tipiche di OLAP includono report aziendali per vendite, marketing, reportistica di gestione, gestione dei processi aziendali (BPM), budget e previsioni, report finanziari e aree simili.

Vedi maggiori dettagli OLTP e OLAP


6

OLTP: oltp è sinonimo di elaborazione delle transazioni online che viene utilizzata per gestire le informazioni sui dati giornalieri correnti. OLAP: lo stand olap per l'elaborazione analitica online che viene utilizzato per mantenere la cronologia dei dati passata e utilizzato principalmente per l'analisi dei dati e può anche essere chiamato come magazzino.


-6

oltp- utilizzato principalmente per transazioni commerciali.usato per raccogliere dati commerciali.In sql usiamo il comando insert, update ed delete per recuperare piccole fonti di dati.

utilizzare principalmente per scopi di reportistica, data mining e analisi aziendale. per i dati di grandi dimensioni o di massa, deliberatamente è de-normalizzato. memorizza i dati storici ..


Perché questo downvoting sembra essere lo stesso di quello che è stato detto in altre risposte: oltp per CRUD, olap per aggregati?
ychaouche,

1
@ychaouche probabilmente perché ci sono già più di 3 risposte con un significato simile. Per data questa è la risposta più recente e tuttavia non aiuta né supporta le risposte esistenti. Tuttavia, l'utente ha deciso di aggiungere comunque la propria versione di risposta, che è ancora incompleta e la mancanza di spiegazioni.
Irfandy Jip,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.