SQL Server on Linux


Acabei de receber acesso aos binários do SQL Server (Preview) para Linux – projeto conhecido como Helsinki. Atualmente estão disponíveis binários para Red Hat, Ubuntu e containers Docker.

image

A primeira impressão é que tudo funciona normalmente:

  • Criei um banco de dados
  • Criei uma tabela
  • Adicionei constraints
  • Inseri dados
  • Fiz SELECT
  • Consultei as DMV’s

Decidi continuar os testes restaurando backup. Tudo funciona! É realmente incrível saber que há compatibilidade dos arquivos e dos backups.

  • Backup Database to Disk (Linux)
  • Restore Database from Disk (Windows)

Ainda assim, sempre fica uma dúvida sobre as funcionalidades que estarão presentes no produto. Mas saiba que estão incluídos:

  • SQL Audit
  • Always On
  • Hekaton
  • ColumnStore

O produto é realmente incrível. Ele é exatamente o SQL Server 2016! Não há dúvidas de que a Microsoft está confiante sobre a versão Linux. O time do SQLOS está se esforçando e conta com profissionais notórios, como Slava Oks e Bob Dorr, liderando essa iniciativa.

 

O futuro é Linux?

Não há dúvidas de que os DBA’s de SQL Server devem aprender Linux.

Entretanto, esse é um produto em Preview e não está pronto. Existem limitações no produto atual e que impedem uma migração Windows para Linux. Certamente as funcionalidades que dependem do Sistema Operacional podem demorar mais tempo para serem implementadas/compatibilizadas. Existem dependências com o LSASS (consequentemente Active Directory) e NTFS. Os serviços adicionais (ex: SQL Agent) não estão disponíveis. Por isso, não vejo o Linux como uma alternativa imediata para quem tem o SQL Server rodando no Windows atualmente.

Por outro lado, a tendência é aumentar os casos de migração Oracle e MySQL para SQL Server, uma vez que o Sistema Operacional deixa de ser um obstáculo.

Reciprocamente, administradores Linux devem aprender SQL Server.

 

Quer saber mais?

Se você quiser aplicar, envie o formulário para aprovação:

Formulário: SQL Server on Linux
https://www.microsoft.com/en-us/cloud-platform/sql-server-on-linux

Veja também o relatório do IDC:

SQL Server on Linux: Hath Hell Frozen Over?
http://idcdocserv.com/lcUS41074616


Comments (7)

  1. Andre Ruschel disse:

    Animal!!! Que loucura!

  2. Muito boooooooooooom. SQL Server dominando o mundo. Orgulho do meu ganha pão =). Ótimo post!

  3. Doereiner M. disse:

    Interessante a dependência do LSASS, visto que é um mecanismo de segurança do Windows, então haveria algum tipo addon para o SO durante sua instalação. Sobre o NTFS realmente é um excelente sistema de arquivos e eliminaria confusões em administração de discos raw para linux.
    Acredito que o cron poderá substituir funções realizadas pelo Agent.
    Mas a grande dúvida é em relação a páginas. As páginas no MSSSQL Linux permitirá uma configuração mais fina de tamanho de uma página?
    Ou será sob o mesmo conceito de 8kb e extent?
    Acredito que haverá o mesmo conceito, ainda mais por ele herdar NTFS, mas talvez haja esta possibilidade. Ainda mais falando de ambientes nuvens Linux, onde tenha por exemplo estrutura de blocos configuradas especificamente para outros SGDB que permitem esta configuração. Se houver a necessidade de rodar em algo em conjunto (algo possível já que existem hrdw vendors que entregam latencia quase 0 em soluções nuvens.), seria interessante para aproveitar pools de storages e etc.
    Outro ponto de dúvida é em relação aos users data type. Para manter esta compatibilidade, seria preciso importar algumas libs .net, talvez esta seja mais um addon para o SO.
    E a precisão do datetime continua 1/300th de um segundo? Vejo situações muito específicas que será fácil ver o Sql dominando, se conseguir uma maior precisão.

    Mas excelente. Estamos ansiosos pelos binaries.
    Att,

    1. Excelente comentário! Gostei. Discussão de alto nível.
      - LSASS: é verdade. Tem dois videos muito bom sobre o assunto - vou procurar e já coloco nos comentários.
      - Blocos de 8kb: isso é uma discussão longa. Eu acredito que isso não muda muito, mas vale um papo a parte.
      - Data types: existe o suporte ao .NET para criar tipos customizados, nao sei como ficaria isso no Linux.

      1. Dobereiner M. disse:

        Obrigado. Os links serão muito úteis.. 🙂
        Nós comunidade Sql agradecemos muito o tempo que dedicam nos ensinando.

      2. LSASS: Não exatamente sobre o LSASS, mas sobre a arquitetura do Windows - acho interessante ver a implementação do Docker e os comentários que o palestrante fala sobre a dependência dos processos usuários (Ex: LSASS) no Windows.
        https://www.youtube.com/watch?v=85nCF5S8Qok

        Os primeiros sinais de isolamento do LSASS com Isolated User Mode:
        https://channel9.msdn.com/Blogs/Seth-Juarez/Mitigating-Credential-Theft-using-the-Windows-10-Isolated-User-Mode
        https://channel9.msdn.com/Blogs/Seth-Juarez/More-on-Processes-and-Features-in-Windows-10-Isolated-User-Mode-with-Dave-Probert

        Acho que tem mais um video do Dave Probert falando sobre o Isolated User Mode, mas nao encontro.

Skip to main content