O que é o SQL Server em Linux?

Concluído

As organizações que executam Linux podem considerar a possibilidade de usar o SQL Server para hospedar bancos de dados. Da mesma maneira, as organizações que executam o SQL Server podem pensar em migrar seus servidores para o sistema operacional Linux. Mas por que elas deveriam optar por fazer essa alteração?

Como o administrador do sistema da World Wide Importers, você é responsável pelos servidores Linux que hospedam todos os servidores Web de front-end e o farm de banco de dados Windows de back-end da empresa. Você deseja usar sua experiência do Linux para implantar o SQL Server em Linux, portanto, vai explorar as principais vantagens de usar SQL Server em Linux. Seu objetivo é criar uma apresentação para entregar ao CTO da empresa. Você explicará os benefícios do SQL Server em Linux e as implicações de instalá-lo no Linux.

Aqui, você aprenderá por que deveria considerar executar o SQL Server em Linux.

Por que usar o SQL Server em Linux?

O Linux é uma coleção de sistemas operacionais (ou distribuições) executados no kernel do Linux. É uma opção de sistema operacional popular para implantações locais e baseadas em nuvem. O SQL Server é um RDBMS (Sistema de Gerenciamento de Banco de Dados Relacional) popular que, tradicionalmente, é executado apenas no sistema operacional Windows. Do SQL Server 2017 em diante, a Microsoft ofereceu suporte para instalações do SQL Server em sistemas operacionais Linux.

Se você quiser executar o SQL Server, lembre-se de que não estará limitado à plataforma Windows. Como o Linux é de código aberto, você pode instalá-lo em hardware de baixo custo, reduzindo as despesas com licenciamento do sistema operacional. O Linux também tem um volume de memória menor e requisitos de hardware mais baixos, o que torna mais rápida a criação de VMs baseadas em Linux em servidores baseados no Windows.

O SQL Server em Linux dá suporte a Ubuntu, Red Hat Enterprise Linux e SUSE.

Por que usar o SQL Server?

Se você escolher o SQL Server em Linux como a plataforma de dados da Wide World Importers, será possível implantar no Linux todos os bancos SQL Server existentes, que atualmente são executados na plataforma Windows. Você também poderá executar seus aplicativos existentes usando a versão do SQL Server para Linux e sua organização poderá reutilizar os DBAs e as habilidades de desenvolvimento de aplicativos existentes.

Haverá um backup e uma restauração simples no novo ambiente do Linux. Uma abordagem de risco mais baixo é mover um banco de dados que não seja comercialmente crítico para o Linux e comparar seus recursos e desempenho diretamente com o Windows. Se os benefícios forem comprovados, você poderá criar uma estratégia de migração detalhada para migrar todos os ativos de dados. Compare esse trabalho com a abordagem necessária para migrar para uma tecnologia de banco de dados diferente e um sistema operacional diferente.

O SQL Server em Linux também tem todos os benefícios do melhor desempenho do setor. Ele é primeiro lugar em termos de desempenho nos referenciais TPC-E e TPC-H de 1 TB, de 10 TB e de 30 TB. O NIST (National Institute of Standards and Technology) classificou o SQL Server em Linux como o banco de dados mais seguro.

Outro bom motivo para considerar o uso do SQL Server é o recurso do PolyBase. Com o PolyBase, você poderá configurar fontes externas de dados que fornecem dados para tabelas externas. Ao enviar consultas, você poderá retornar dados dessas tabelas externas da mesma forma como se fossem dados armazenados nas tabelas normais, dentro do banco de dados SQL Server. As fontes externas de dados podem incluir o Hadoop, as contas de armazenamento de BLOBs do Azure, o Oracle, o PostgreSQL, o MongoDB e muitos outros. Depois de configurar tabelas externas, você também poderá usá-las para exportar ou importar dados de/para o SQL Server sem precisar usar um pacote ETL (Export, Transform, Load) ou uma ferramenta separada de importação ou exportação. Você também poderá usar o PolyBase para integrar fontes externas de dados com as ferramentas de business intelligence do SQL Server.

A Wide World Importers tem bancos de dados no Oracle, no SAP HANA e também no SQL Server. Você estava pensando em usar ferramentas ETL para preencher um data warehouse com dados de todas essas fontes a fim de escrever relatórios sobre eles. Se você implantar o SQL Server com o PolyBase, em vez disso, poderá considerar a possibilidade de adicionar o Oracle e o SAP HANA como fontes de dados externas no SQL Server a fim de integrar os três sistemas. Dessa forma, os relatórios podem enviar todas as consultas ao SQL Server, mas incluir também os dados armazenados no Oracle e no SAP HANA. Nessa configuração, o SQL Server atua como um hub de virtualização de dados.

Base de código compartilhada

Tanto no Linux quanto no Windows o SQL Server usa a SQLPAL (camada de abstração da plataforma SQL), que permite ao SQL Server ser executado em todos os sistemas operacionais compatíveis. Portanto, os desenvolvedores podem escrever aplicativos usando sua linguagem favorita (como .NET, PHP, Node.js, Java ou Python) e esperar que o aplicativo seja executado da mesma forma em qualquer lugar, seja usando o SQL Server em execução no Windows, no Linux, em contêineres do Linux, no SQL do Azure no Edge ou no Banco de Dados SQL do Azure.

Contêineres

Uma desvantagem de usar VMs é que cada uma delas precisa de todos os recursos do sistema operacional, independentemente de os serviços em execução precisarem deles. Um sistema de virtualização em contêineres evita essa desvantagem compartilhando o sistema operacional host enquanto ainda isola os aplicativos e serviços individuais. Um serviço em execução em um contêiner é isolado do serviço em execução em outro. Para os serviços, aparece como se estivessem sendo executados em VMs separadas, mas, em vez disso, estão compartilhando a memória e os processadores do mesmo sistema operacional.

Você pode executar o SQL Server em contêineres do Linux. Se precisar gerenciar um grande número desses contêineres, você poderá usar uma ferramenta de orquestração como o Kubernetes ou Docker Swarm. Você pode fazer isso para obter alta disponibilidade ou para permitir que as equipes do DevOps implementem a integração contínua ou a entrega contínua implantando um novo código em contêineres.

Verificar seu conhecimento

1.

Você tem dados de catálogo de produtos no SAP HANA e dados de vendas no SQL Server em execução no Linux. Você deve escrever um relatório que use dados de ambos os sistemas para analisar as margens de lucro de todos os produtos, mas que minimize a quantidade de trabalho necessária aos administradores de banco de dados. O que você deverá fazer?

2.

Você tem um aplicativo móvel, escrito em Python que sua equipe de vendas usa para registrar pedidos e exibir dados de desempenho de vendas. Recentemente, você migrou o banco de dados de um servidor Windows para um servidor Ubuntu Linux. Quais alterações serão necessárias no código do seu aplicativo?