Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como faço para projetar uma tabela que armazenará dados muito grandes?


Esse tamanho coloca você no território VLDB (bancos de dados muito grandes). As coisas são fundamentalmente diferentes nessa altitude.

Sua pergunta não pode ser respondida sem os requisitos completos das responsabilidades de sua aplicação. Você precisa projetar para o desempenho em relação ao que seu aplicativo deve FAZER com os dados.

Meu conselho é ter alguém a bordo que tenha experiência anterior, ou você tem quase 100% de garantia de falha.

Se você for com o Oracle, ele fornece vários tipos de particionamento que você deve usar com muito cuidado. Você precisa de partições para fins administrativos (mover dados, criar índices, recuperar dados), bem como para desempenho de consultas:
  • Particionamento de intervalo, por exemplo, por um intervalo de datas
  • Particionamento de lista, para armazenar fatias de dados, digamos, por país ('SE', 'US', 'GB')
  • Particionamento de hash. Armazena seus dados em uma das partições com base em uma função de hash
  • Ou qualquer combinação das opções acima

Além disso, você precisa de alguém que saiba como construir e configurar uma máquina monstro com uma taxa de transferência de E/S realmente incrível. Você precisa de mais de 1 GB/s, o que não é muito barato quando você também precisa armazenar 200 TB. Na verdade, se esses 200 TB forem apenas dados de tabela, você precisará dobrar ou triplicar isso para poder criar índices, tabelas agregadas, backups etc.

Desculpe, não pude fornecer uma solução pronta para uso, mas queria ter certeza de que você entende que não está apenas construindo um banco de dados de tamanho acima da média. É maciço!