AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 6
Accepted
Jarrod Dixon
Jarrod Dixon
Asked: 2009-04-30 23:57:06 +0800 CST2009-04-30 23:57:06 +0800 CST 2009-04-30 23:57:06 +0800 CST

No SQL Server, quando você deve dividir seu PRIMARY Data FileGroup em arquivos de dados secundários?

  • 772

Atualmente, nosso banco de dados possui apenas um FileGroup, PRIMARY, que contém aproximadamente 8 GB de dados (linhas da tabela, índices, catálogo de texto completo).

Quando é um bom momento para dividir isso em arquivos de dados secundários? Quais são alguns critérios dos quais devo estar ciente?

sql-server files groups
  • 3 3 respostas
  • 11080 Views

3 respostas

  • Voted
  1. Best Answer
    Brent Ozar
    2009-05-01T04:16:18+08:002009-05-01T04:16:18+08:00

    Há duas partes nesta questão: quando adicionar um novo FILEGROUP e quando adicionar um novo FILE em um grupo de arquivos. Primeiro vamos falar de teoria:

    Mark está certo sobre o principal motivo ser o desempenho.

    O motivo secundário é a recuperação de desastres. Com o SQL Server 2005 e mais recente, você pode fazer restaurações de grupos de arquivos. Quando ocorre um desastre, você pode restaurar apenas seu grupo de arquivos principal primeiro e colocar o banco de dados parcialmente online para consultas. Os usuários podem executar consultas enquanto você restaura outros grupos de arquivos. Isso é útil para bancos de dados com uma grande quantidade de dados históricos que podem não ser necessários imediatamente ou data warehouses que precisam carregar dados em tabelas atuais sem precisar de dados históricos para acesso.

    Outro motivo é o perfil de leitura/gravação de grupos de dados. Se você tiver alguns dados que são gravados constantemente e outros dados que recebem atividade de leitura pesada, você pode criar diferentes tipos de armazenamento para acomodar essas necessidades. Você pode colocar o material de gravação pesada no raid 10 e deixar o material com viés de leitura no raid 5, mais barato.

    Agora, vamos falar sobre arquivos versus grupos de arquivos. Ao colocar objetos no SQL Server, você deve colocá-los no nível do grupo de arquivos. Você pode colocar uma tabela ou um índice em um grupo de arquivos, mas não pode escolher um arquivo específico. Portanto, tudo o que discutimos até agora foi sobre quando adicionar um grupo de arquivos - mas quando você adiciona um arquivo?

    Se você estiver projetando armazenamento e tiver 80 discos rígidos, há algumas maneiras de dividi-los:

    • Um pool de 80 unidades
    • Dois pools de 40 unidades
    • Quatro pools de 20 drives, etc...

    Diferentes subsistemas de armazenamento possuem diferentes perfis de desempenho. Trabalhei com algumas SANs que tiveram melhor desempenho com matrizes de 12 a 16 unidades e qualquer coisa maior do que isso não teve uma melhoria de desempenho. Outro exemplo são SANs com caminhos múltiplos: se você tiver vários HBAs conectando seu servidor ao seu armazenamento e se seu software de caminhos múltiplos não for realmente ativo/ativo, talvez seja necessário um array por caminho para distribuir a carga. Quatro caminhos, quatro pools de unidades obterão melhor desempenho nesses tipos de unidades.

    Nesses casos, você acaba com quatro matrizes diferentes, quatro unidades diferentes no Windows (a menos que use pontos de montagem e, mesmo assim, são pastas diferentes) e precisará de quatro arquivos separados no SQL Server. Esses arquivos separados podem estar no mesmo grupo de arquivos.

    • 20
  2. Mark S. Rasmussen
    2009-04-30T23:58:55+08:002009-04-30T23:58:55+08:00

    O principal motivo é o desempenho. Quando você ficar sem capacidade de IOPS na unidade de disco do grupo de arquivos primário, precisará expandir para um segundo grupo de arquivos para dividir o IOPS em vários discos/LUNs, dependendo da configuração de armazenamento.

    EDIT: Brad Wilson fez um bom comentário sobre SSDs. Se você estiver usando um sistema de armazenamento composto SSD/SATA/FC, talvez queira ter diferentes grupos de arquivos em diferentes tipos de armazenamento. Você pode então colocar suas tabelas de requisitos extremos de IOPS no grupo de arquivos SSD, enquanto as tabelas de histórico/estatísticas podem ser armazenadas em grupos de arquivos SATA baratos.

    • 6
  3. Jason Horner
    2009-07-08T23:23:49+08:002009-07-08T23:23:49+08:00

    Eu também gostaria de apontar que há um aspecto de capacidade de recuperação / disponibilidade de dados para esta questão também. Usando vários grupos de arquivos e não colocando nenhum objeto definido pelo usuário no grupo de arquivos principal, você tem mais flexibilidade para ativar restaurações online. isso permite a restauração fragmentada no nível do grupo de arquivos.

    A restauração online está disponível nas edições Enterprise e Developer do sql server posteriores a 2005

    Outro pensamento que vem à mente é separar os dados de referência estáticos somente leitura dos dados transacionais. Para bancos de dados maiores, isso pode reduzir a quantidade de tempo e/ou espaço necessário para executar um backup.

    • 1

relate perguntas

  • Como excluir índices de backups no SQL Server 2008

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Resolver o nome do host do endereço IP

    • 8 respostas
  • Marko Smith

    Como posso classificar a saída du -h por tamanho

    • 30 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    Qual é o utilitário de linha de comando no Windows para fazer uma pesquisa reversa de DNS?

    • 14 respostas
  • Marko Smith

    Como verificar se uma porta está bloqueada em uma máquina Windows?

    • 4 respostas
  • Marko Smith

    Qual porta devo abrir para permitir a área de trabalho remota?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    MikeN No Nginx, como posso reescrever todas as solicitações http para https mantendo o subdomínio? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 Qual é a diferença entre colchetes duplos e simples no bash? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch Como altero a senha da minha chave privada? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt Como funciona a sub-rede IPv4? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve