SQLOS – O sistema operacional do SQL Server

Olá pessoal,  tudo bem?

Você sabe porque o SQL Server está hoje no topo e nas “paradas” de sucesso como o melhor banco de dados em todos os sentidos? Existe uma resposta para isso e se chama SQLOS – SQL Operational System.

Primeiro é importante retrocedermos à edição SQL Server 2000, onde a arquitetura era da seguinte forma:

Arquitetura do SQL Server 2000

Antes do SQL Server 2005 tínhamos uma leve camada de interfaces entre o SQL Server e o sistema operacional, para gerir tarefas de alocação de memória e scheduling (programação de processos). Este tipo de estrutura não comportava mais o SQL Server, tendo em vista que eram cada vez mais necessárias funções complexas de baixo nível. Diante deste cenário, o SQL Server 2005 trazia como novidade uma única camada de aplicação para atender os diversos requisitos que a nova edição demandava, surgia o SQLOS.

Arquitetura do SQL Server 2005

Basicamente a arquitetura do SQL Server se divide em 3 partes: Query Execution (item verde), Storage Engine (item roxo) e SQLOS. O SQLOS é um sistema operacional e não um serviço do windows ou um simples processo. Consideramos como um sistema operacional, pois possui componentes como o agendamento não-preemptivo, gerenciamento de memória, monitoramento de recursos, tratamento de exceções, sincronização, a detecção de deadlock, eventos estendidos e I/O assíncrono. Através do SQLOS a Microsoft foi capaz de se desprender do Windows, mesmo que o SQL Server rodasse até aquele instante somente no Windows.

Para alunos e amigos, sempre cantei a pedra de que o SQL Server desde o 2005 já era capaz de ser portado para qualquer plataforma de sistema operacional. Este dia chegou e o SQL Server 2016 já pode ser visto rodando no Linux, veja neste artigo: http://www.vssti.com.br/blog/sql-server-no-linux/.

O SQLOS possibilitou a Microsoft a gerenciar melhor todos os aspectos do sistema operacional e também dos recursos utilizados pelo produto SQL Server, foi nesta mesma edição que surgiram as DMVs – Dynamic Management Views DMFs – Dynamic Management Functions. Muitas delas nos orientam sobre o desempenho da instância de banco de dados. Em um vídeo recente, postei algumas dicas sobre a utilização deste poderoso recurso: Webcast SQL Server – DMVs.

Isso e muito mais você pode ficar sabendo no curso SQL Server Tuning e Internals – Oficial Microsoft.

Espero que este artigo, tenha esclarecido este conceito tão importante dentro do SQL Server.

Fique à vontade em comentar e compartilhar.

Qualquer dúvida, comente aqui!
Vithor da Silva e Silva | DBA SQL Server


Fontes:

https://blogs.msdn.microsoft.com/sqlosteam/2010/06/23/sqlos-resources/

http://flylib.com/books/en/2.257.1.38/1/

Book: Performance Tuning and Optimizing SQL Databases, Microsoft Press.

Deixe uma resposta