none
Tamanho de Bloco (Disk Block size) RRS feed

  • Dotaz

  • Gostaria de saber o que é de fato "Tamanho de bloco, pois encontro muitos comentários sobre mais ainda não entendi o que é isso de fato.

    Obrigado

    • Přesunutý José Diz čtvrtek 7. března 2019 21:19
    čtvrtek 7. března 2019 19:07

Odpovědi

  • Presumo que "disk block size" refira-se ao tamanho da unidade de alocação (allocation unit size) da partição de um disco. Se for este o significado, esse é um parâmetro para a formatação de partição no disco rígido: é o tamanho da unidade de alocação (allocation unit size). Quando não informado durante a formatação, o valor padrão varia de acordo com o tamanho da partição e a versão do Windows, indo de 512 bytes a 64 kB. Definir com atenção o tamanho da unidade de alocação é importante, pois representa a menor unidade de leitura/gravação da partição. A definição do tamanho está diretamente relacionada com o uso principal de armazenamento na partição.

    Há artigos, inclusive de blog da Microsoft, que recomendam que as partições para armazenamento dos arquivos de bancos de dados SQL Server sejam definidos com 64 kB. Por exemplo, do artigo "Operating System Best Practice Configurations for SQL Server", temos a seguinte orientação:
    The atomic unit of storage in SQL Server is a page which is 8KB in size. Extents are groups of eight 8 KB pages that are physically contiguous to each other for a total of 64 KB. SQL Server uses extents to store data. Hence, on a SQL Server machine the NTFS Allocation unit size hosting SQL database files (Including tempdb files) should be 64K.
    É um artigo recente, de fevereiro de 2018.

    Mas é bom ficar atento que há opiniões contrárias, como a que consta no artigo "What is SQL Server’s IO Block Size?". em que o autor comenta que 64 kB como valor ótimo é um mito e destaca que “IO block size and NTFS allocation unit size are two very different things”. Vale uma leitura atenta.

    Opinião ponderada encontra-se em artigo de Kendra Little, no artigo How Big Are Your Log Writes?: “(...) you should always check the documentation from your storage provider, and you can also run tests with tools like SQLIO to determine how you can get the best performance with your storage implementation”.

    Mas caso "disk block" não se refira a unidade de alocação, você poderia transcrever para este tópico alguns trechos em que viu o termo "disk block size"?


    José Diz     Belo Horizonte, MG - Brasil     [Linked In]   [e-mail]   [Porto SQL]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    • Upravený José Diz pátek 8. března 2019 13:23
    • Navržen jako odpověď José Diz pátek 15. března 2019 12:44
    • Označen jako odpověď José Diz středa 20. března 2019 10:24
    čtvrtek 7. března 2019 21:54
  • Prezados,

    Aproveitando ainda que, a alocação muda quando o assunto é DW . Onde se recomenda blocos de 256K. Conforme recomendação da nossa MS. 

    Abraços.


    Jefferson Clyton Pereira da Silva - [MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]

    sobota 10. srpna 2019 2:39

Všechny reakce

  • Presumo que "disk block size" refira-se ao tamanho da unidade de alocação (allocation unit size) da partição de um disco. Se for este o significado, esse é um parâmetro para a formatação de partição no disco rígido: é o tamanho da unidade de alocação (allocation unit size). Quando não informado durante a formatação, o valor padrão varia de acordo com o tamanho da partição e a versão do Windows, indo de 512 bytes a 64 kB. Definir com atenção o tamanho da unidade de alocação é importante, pois representa a menor unidade de leitura/gravação da partição. A definição do tamanho está diretamente relacionada com o uso principal de armazenamento na partição.

    Há artigos, inclusive de blog da Microsoft, que recomendam que as partições para armazenamento dos arquivos de bancos de dados SQL Server sejam definidos com 64 kB. Por exemplo, do artigo "Operating System Best Practice Configurations for SQL Server", temos a seguinte orientação:
    The atomic unit of storage in SQL Server is a page which is 8KB in size. Extents are groups of eight 8 KB pages that are physically contiguous to each other for a total of 64 KB. SQL Server uses extents to store data. Hence, on a SQL Server machine the NTFS Allocation unit size hosting SQL database files (Including tempdb files) should be 64K.
    É um artigo recente, de fevereiro de 2018.

    Mas é bom ficar atento que há opiniões contrárias, como a que consta no artigo "What is SQL Server’s IO Block Size?". em que o autor comenta que 64 kB como valor ótimo é um mito e destaca que “IO block size and NTFS allocation unit size are two very different things”. Vale uma leitura atenta.

    Opinião ponderada encontra-se em artigo de Kendra Little, no artigo How Big Are Your Log Writes?: “(...) you should always check the documentation from your storage provider, and you can also run tests with tools like SQLIO to determine how you can get the best performance with your storage implementation”.

    Mas caso "disk block" não se refira a unidade de alocação, você poderia transcrever para este tópico alguns trechos em que viu o termo "disk block size"?


    José Diz     Belo Horizonte, MG - Brasil     [Linked In]   [e-mail]   [Porto SQL]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    • Upravený José Diz pátek 8. března 2019 13:23
    • Navržen jako odpověď José Diz pátek 15. března 2019 12:44
    • Označen jako odpověď José Diz středa 20. března 2019 10:24
    čtvrtek 7. března 2019 21:54
  • Prezados,

    Aproveitando ainda que, a alocação muda quando o assunto é DW . Onde se recomenda blocos de 256K. Conforme recomendação da nossa MS. 

    Abraços.


    Jefferson Clyton Pereira da Silva - [MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]

    sobota 10. srpna 2019 2:39