Quais são os limites superiores para o tamanho da tabela no SQL Server 2008?

1

Alguém sabe de qualquer limite superior ao tamanho da tabela no SQL Server 2008. Eu tenho um amigo que deseja armazenar cerca de 900.000.000 registros em uma tabela. Eu não sei nada sobre os registros em questão, ou quão strongmente ele será lido / atualizado.

Obviamente, eles precisarão pensar em indexação e IO em disco, mas gostaria de saber se alguém tinha experiência com tabelas realmente grandes no SQL Server 2008 que pudessem compartilhar?

    
por KiwiNige 10.11.2009 / 02:00

3 respostas

3

Eu tenho um banco de dados que tem uma única tabela com cerca de 1,8 bilhões de registros (sim, um B não é um M) nele agora. Há outra tabela no mesmo banco de dados com cerca de 740 milhões de registros.

O tamanho total do banco de dados é de aproximadamente 300 GB.

O servidor está funcionando bem. É um Xeon quad core com 32GB de RAM e uma matriz de disco muito rápida.

No que diz respeito a dicas e truques:

  1. Pense seriamente em por que você deseja tantos dados. É muito para lidar com a qualquer momento. Além disso, uma vez configurado, esqueça a mudança de índices, colunas ou praticamente qualquer outra coisa. Essas operações demoram muito para serem concluídas em tabelas desse tamanho.

  2. Pense seriamente em por que você deseja tantos dados. Sim, estou me repetindo. Encontre outro caminho, se possível. A recuperação de um DB desse tamanho é uma PITA completa e pode levar um tempo longo ... Como um dia ou mais.

  3. Se possível, acumule seus dados de alguma forma significativa. Se estiver usando os dados para tendências, tente baixar seus cálculos o mais rápido possível e descartar os dados subjacentes. É claro que, se os dados subjacentes tiverem que ser mantidos por algum motivo, armazene-os em um arquivo simples ou qualquer outra coisa.

  4. Não use nenhuma forma de criptografia com esse tamanho de banco de dados. Se seus dados exigirem isso, planeje gastar um lote de dinheiro em hardware (como no intervalo de US $ 1 milhão).

  5. Leve seu tempo e teste diferentes modelos de recuperação. Até a inicialização do servidor no meio de transações. Veja o que acontece. Eu achei que "simples" funciona melhor para mim.

Meus dados são principalmente transacionais e, francamente, não são essenciais. Se todo o db cair de repente no seu rosto, bem, algumas sobrancelhas podem ser levantadas por nada maior.

O DB está atendendo a cerca de 150 solicitações / segundo. 99,999% dos quais são gravações. À noite, nós rolamos as informações obtidas em tabelas de resumo. Há um pequeno site de painel que é usado por talvez 5 pessoas para ver quais são os resumos históricos / diários.

Que tipo de informação você está realmente tentando encontrar?

    
por 10.11.2009 / 04:29
1

Este documento do MSDN diz que o tamanho da tabela é "limitado pelo armazenamento disponível". Não tenho experiência suficiente com o SQL Server em grandes tabelas para fornecer a você diretrizes de desempenho, mas sem saber nada sobre os registros em questão ou os padrões de leitura / gravação, não acho que ninguém mais possa ajudar.

    
por 10.11.2009 / 02:10
0

Por qualquer padrão, são muitos registros. Existem muitas técnicas para trabalhar com grandes quantidades de dados, mas ... não há nenhuma maneira possível que alguém possa dar uma opinião adicional sem muito mais informações sobre o problema que seu amigo está tentando resolver.

    
por 10.11.2009 / 02:16