Domanda

Devo progettare una tabella in Oracle, che memorizzerà 2-5 TB di dati in un giorno.Può raggiungere i 200 TB e i record verranno eliminati quando superano i 200 TB.

È una scelta fattibile mantenerlo in OLTP o devo spostarlo nel DB del data warehouse? Si prega di consigliare considerazioni da tenere a mente quando si progetta lo schema di questa tabella o del database.

Inoltre, si prega di avvisare se si tratta di un server SQL, poiché posso utilizzare entrambi i database.

È stato utile?

Soluzione

Questa dimensione ti colloca nel territorio VLDB (database molto grandi). Le cose sono fondamentalmente diverse a quell'altitudine.

Non è possibile rispondere alla tua domanda senza tutti i requisiti delle responsabilità della tua applicazione. Devi progettare per le prestazioni rispetto a ciò che la tua applicazione dovrebbe FARE con i dati.

Il mio consiglio è di coinvolgere qualcuno che abbia esperienza precedente, altrimenti sei quasi garantito al 100%.

Se vai con Oracle, fornisce diversi tipi di partizionamento che vorrai usare con molta attenzione. Hai bisogno di partizioni per scopi amministrativi (spostamento di dati, creazione di indici, ripristino di dati) e per le prestazioni delle query:

  • Partizionamento dell'intervallo, ad esempio in base a un intervallo di date
  • Partizionamento degli elenchi, per archiviare porzioni di dati, ad esempio in base al paese ("SE", "US", "GB")
  • Partizionamento hash. Memorizza i tuoi dati in una delle partizioni in base a una funzione hash
  • O qualsiasi combinazione di quanto sopra

Inoltre, hai bisogno di qualcuno che sappia come costruire e configurare una macchina mostruosa con un throughput I / O davvero impressionante. Hai bisogno di più di 1 GB / s, il che non è molto economico quando devi archiviare anche 200 TB. In realtà, se quei 200 TB sono solo dati di tabelle, dovrai raddoppiarli o triplicarli per poter creare indici, tabelle aggregate, backup ecc.

Mi spiace non averti potuto fornire una soluzione pronta per l'uso, ma volevo assicurarmi che tu capissi che non stai solo costruendo un database di dimensioni superiori alla media. È enorme!

Altri suggerimenti

Vorrei prima esaminare il sottosistema del disco e assicurarmi che sia in grado di gestire il carico di 2-5 TB che farai ogni giorno.Sia Oracle che SQL Server hanno il partizionamento integrato. In SQL Server puoi anche utilizzare la compressione per ridurre al minimo lo spazio di archiviazione su disco (non sono sicuro di Oracle)

Sarà utilizzato principalmente per OLAP o OLTP?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top