Rodrigo Romano – MVP SharePoint Server

Registros de um Especialista SharePoint :)

Posts Tagged ‘SharePoint 2010; Listas; SQL Server

Trabalhando com listas “grandes”–Parte I

with 4 comments


 

Quando começamos a trabalhar com o SharePoint, acabamos esbarrando nos limites de itens dos seus contâiners.

Logo as dúvidas começam a surgir: “Qual o limite de itens de uma lista?”, “Porque existe esse limite?”, “Como isso afeta a performance?”, etc.

Uma coisa que precisamos ter em mente é que PLANEJAMENTO é essencial para manter o site funcionando e com uma boa performance para todos os usuários, quando o assunto é trabalhar com vários itens.

#RevelandoOMistério

Para descobrir qual estratégia é melhor utilizar de forma a abordar esse assunto corretamente, precisamos entender do que estamos falando. Quais são os limites de armazenamento de itens do SharePoint:

Recurso Limite
Itens em uma lista ou biblioteca 50 milhões
Tamanho de um arquivo ou anexo 2 Gb

É possível armazenar uma grande quantidade de itens no SharePoint, entretanto, temos que planejar para que isso não afete as outras funcionalidades e usuários do site.

Para ajudar nesse controle, a versão 2010 do SharePoint (atual) tem um recurso chamado Resource Throttling.

Para saber mais sobre os limites, veja esse documento: SharePoint 2010: Boundaries and Limits.

Então, porque 5.000 itens ?

De forma a minimizar o “Database Contention” (redução da quantidade de trabalho que o banco de dados consegue executar) o SQL Server utiliza row-level locking (bloquear registros) como forma de atualizar registros sem impactar usuários que estão acessando outros registros.

Mas, se uma operação de Leitura ou Escrita, como uma query, causar um bloqueio em mais de 5.000 registros de uma vez, é mais fácil para o SQL escalar o bloqueio para a tabela inteira até que a operação seja concluída. (Para mais informações sobre Lock Escalation, veja aqui: http://msdn.microsoft.com/en-us/library/ms184286.aspx).

Obs: O número “5.000” pode variar de acordo com o site, a quantidade de atividades no banco de dados e configurações do site.

Quando acontece o Lock Escalation, os usuários não conseguem acessar a tabela. Se isso acontece com frequência, o sistema apresenta degradação de performance.

Como é o Behind the Scenes ao acessar vários itens?

[Untitled]

Callout 1 Power Users podem utilizar as views corretamente, estilos e limites de paginação para melhorar a velocidade da apresentação das informações na página.

 

Callout 2 Views filtradas com colunas indexadas criam queries no banco de dados que identificam um subconjunto de colunas e registros e retornam esse subconjunto ao seu computador.

 

Callout 3 Os administradores do farm podem especificar janelas de tempo para todos os usuários executarem tarefas ilimitadas fora dos horários de pico de utilização do site.

 

Callout 4 Desenvolvedores com privilégios podem utilizar o object model para aumentar temporariamente esses limites para aplicações customizadas.

 

Callout 5 Os limites ajudam a cortar operações e balancear os recursos para usuários simultâneos.

 

Callout 6 Os dados de uma lista ou bibliotecas são armazenados em uma tabela do SQL Server, que utiliza queries, índices e travas para manter a performance e o compartilhamento.

 

Conclusão

 

Nesse primeiro artigo da série, mostrei o porque do limite de 5.000 itens no SharePoint 2010.

No próximo, explicarei como trabalhar efetivamente com essas listas sem afetar o resto do ambiente.

Aguardem Smiley piscando

Referências

http://office.microsoft.com/en-us/sharepoint-foundation-help/manage-lists-and-libraries-with-many-items-HA010377496.aspx

Written by Rodrigo Romano

April 12, 2012 at 1:07 pm