ARQUITETURA SQL Server Parte 2: O SQLOS



O Windows foi desenvolvido para trabalhar sempre da melhor forma, independente da aplicação que nele ira ser executada. No caso do SQL Server, chegou-se à conclusão que para que o mesmo obtivesse um melhor desempenho era necessária a criação de uma camada de refinamento dos recursos entre ele e o sistema operacional, está camada foi denominada mais tarde de SQLOS (SQL 2005 e acima), o sistema operacional do SQL Server.
O SQLOS gerencia todos serviços de sistema do SQL Server de uma forma centralizada e permite um melhor gerenciamento do recursos, o mesmo também já foi feito para tirar vantagem da recente arquitetura NUMA que abordei no post anterior a este, além de funcionar normalmente em sistemas que rodam em modo SMP.
O SQLOS trouxe também novas ferramentas, como por exemplo a conexão administrativa (DAC) a qual permite que o SQL Server seja acessado mesmo quando as conexões padrões não funcionam, através dele os administradores realizam consultas diagnósticas e podem chegar na solução de determinados problemas. Foram introduzidas também as Dynamic Management Views (DMV’s), views de sistema que permitem que áreas internas do engenho sejam analisadas com mais precisão.
O SQL Server contém várias partes que requerem o uso de cache e alocação de memória, áreas com o Optimizer, Query Engine e o Storage Engine, nas versões anteriores estas áreas tinham seu próprio código para gerenciar o cache e prover alocação de memória quando necessário. Com o SQLOS tudo foi centralizado resultando em um processo comum a todas áreas do SQL Server para gerenciamento do cache, quanto a memória foram introduzidos alocadores customizados para lidar com a mesma, passando a existir page allocators, virtual allocators e shared memory allocators.

Pessoal, espero que tenham gostado do post e até a próxima!

Fontes:

Livro Microsoft SQL Server 2008 Internals:

Nenhum comentário:

Postar um comentário