Segunda semana de 2018… E eu atrasada com este post! Desculpem! Mas como estou de férias, acabei me enrolando com as datas.
Passamos boa parte de 2017 conversando sobre MongoDB e agora vamos começar um novo assunto… SQL Server 2017 e Banco de Dados SQL do Azure.
Parece loucura falarmos de 2 SGBDs (Sistema Gerenciador de Banco de Dados) simultaneamente? Não se preocupe porque não é! Eles têm muitas semelhanças e quando tiverem alguma diferença eu avisarei.
Não começaremos a série de posts conversando sobre a instalação do SQL Server 2017. Há milhares de tutoriais na Internet ensinando a fazer a instalação, e também porque no ambiente corporativo um desenvolvedor não faz a instalação do SGBD (ok… pelo menos não deve fazer!)
E como faremos então? Para que todos nós tenhamos um ambiente igual, criei uma máquina virtual e disponibilizei para download.
Uma novidade é que deixarei no github todos os scripts que utilizarmos nos posts :-).
Sobre o SQL Server 2017…
Eu tenho uma relação de amor com o SQL Server… a primeira versão do SQLServer que trabalhei foi o 6.5. Fiquei entusiasmada com a versão 7. Decidi ser DBA com a versão 2005. Usei um pouco a versão 2008. Eu fiz vídeos para o lançamento da versão 2008 R2 (ainda vou achar estes links…).
Eu dei a aula da versão 2012. Tornei-me uma curiosa com a versão 2014… Como as paixões precisam ser constantemente reinventadas… eu me apaixonei novamente pela versão 2016… E agora estamos aqui com a versão 2017 que utilizaremos nos próximos posts.
Mas o que é o SQL Server?
A versão 2017 não é só um SGBD, é uma plataforma de dados completa! Um de seus componentes é o SGBD.
O SQL Server possui uma linguagem de programação que DBAs e outros profissionais de TI usam para gerenciar e consultar bancos de dados, é o Transact-SQL ( T-SQL ), que é uma implementação da linguagem SQL padrão feita pela Microsoft e específica para o SQL Server.
Componentes do SQL Server 2017
- Engine do Banco de Dados
- É o componente principal pois é responsável pelo armazenamento, processamento e segurança de dados. Inclui um mecanismo relacional que processa comandos e consultas, e um mecanismo de armazenamento que gerencia arquivos de banco de dados, tabelas, índices, buffers de dados e transações. Ele é responsável também por gerenciar stored procedures, triggers e views, replicação, integração do Polybase para acesso ao Hadoop e a outras fontes de dados heterogêneas, servidor Data Quality Services (DQS), entre outras coisas.
- Analysis Services
- Inclui as ferramentas para criação e gerenciamento de aplicativos OLAP (processamento analítico online) e de mineração de dados.
- Reporting Services
- É uma plataforma extensível usada para visualização de dados.
- Integration Services
- É um conjunto de ferramentas gráficas e objetos programáveis para mover, copiar e transformar dados.
- Master Data Services
- Este componente faz meu lado AD chorar de felicidade!!! Porque o MDS é a solução do SQL Server para gerenciamento de dados mestre. O MDS pode ser configurado para gerenciar qualquer domínio (produtos, clientes, contas) e inclui hierarquias, segurança granular, transações, controle de versão de dados e regras de negócio, bem como um suplemento para Excel que pode ser usado para gerenciar dados.
- Serviços de Machine Learning (no Banco de Dados)
- Os Serviços de Machine Learning (no Banco de Dados) oferecem suporte a soluções escalonáveis de aprendizado de máquina por meio de fontes de dados empresariais. O SQL Server 2017 oferece suporte às linguagens R e Python (novidade desta versão).
- Servidor do Machine Learning (Autônomo)
- Oferece suporte à implantação de soluções de aprendizado de máquina distribuídas e escalonáveis em várias plataformas, usando várias fontes de dados empresariais, inclusive Linux, Hadoop e Teradata.
Como você pode ver o SQL Server 2017 vai muito além de um SGBD.
O SQL Server só armazena dados em tabelas?
Antigamente o SQL Server era um banco de dados relacional. Essencialmente você armazenava nele dados estruturados no formato tabular (linhas e colunas).
O tempo passou, e uma nova realidade chegou… E o SQL Server suporta também dados em formatos não estruturados. Conversaremos muito sobre isso nos próximos posts.
Mas eu preciso destacar uma das coisas que o SQL Server faz de melhor… Que é permitir a criação de bancos de dados relacionais.
Ele permite a criação de tabelas relacionadas, evitando a necessidade de armazenar dados redundantes em vários locais dentro de um banco de dados. O modelo relacional também fornece integridade referencial e outras restrições de integridade para manter a precisão dos dados. É importante ressaltar mil vezes que o SQL Server suporta transações (se você não lembra o que é uma transação, leia Porque você precisa conhecer transações?) é aderente e suporta lindamente aos princípios de atomicidade, consistência, isolamento e durabilidade – as propriedades ACID.
As edições do SQL Server 2017
O SQL Server 2017 é instalado em um servidor (este servidor pode ter o sistema operacional Windows ou Linux) ou em um container Docker. Essa é uma das diferenças entre o SQL Server 2017 e o Banco de Dados SQL do Azure que é um serviço na nuvem, ou seja não é instalado em um servidor.
As edições disponíveis são:
- Enterprise
- É a versão completa com recursos datacenter, virtualização ilimitada e BI. Esta versão não é gratuita e o seu licenciamento é feito por núcleo.
- Standard
- Permite gerenciamento de bancos de dados (relacionais e BI), oferece suporte a ferramentas de desenvolvimento comuns para rede local e em nuvem — permitindo o gerenciamento eficiente de bancos de dados com mínimos recursos de TI. Esta versão não é gratuita e o seu licenciamento é feito por núcleo.
- Web
- Plataforma de dados segura, econômica e altamente escalável para sites. Disponível somente para provedores de serviços. O valor depende do provedor que hospeda o site.
- Developer
- Esta edição é idêntica a edição Enterprise, de forma que permite aos desenvolvedores criar, testar e demonstrar de maneira econômica os aplicativos baseados no SQL Server. Esta edição é gratuita e será usada por nós 🙂
- Express
- Banco de dados de nível básico gratuito ideal para aprendizado, além da criação de aplicativos que utilizam até 10 GB de dados. Esta edição também é gratuita.
A nossa VM
O ambiente da nossa VM é bem simples temos um sistema operacional Ubuntu (uma distribuição do Linux) e nele instalei o SQL Server 2017, e a ferramenta fofa SQL Operations Studio .
Para conhecer melhor o SQL Operations Studio recomendo que você leia o artigo do Renato Groffe,
Como executar a nossa VM?
- Para executar a máquina virtual eu uso o Virtual Box que é gratuito, é só fazer o download e a instalação de acordo com o seu sistema operacional;.
- Faça o download do disco virtual;
- No Virtual Box importe o disco virtual seguindo os passos abaixo:
- Faça as configurações de acordo com a sua máquina (principalmente a quantidade de memória que deve ser usada pela VM).
- Para iniciar a máquina clique duas vezes sobre ela 🙂
Usuários e Senhas:
No Ubuntu o usuário root é o DB4Beginners e a senha é db4beginners .
No SQL Server o usuário administrador é o sa e a senha é DB4Beginners .
Banco de Dados SQL do Azure
É um serviço de banco de dados do Microsoft Azure. Que possui o mesmo código base do SQL Server 2017, mas está na nuvem. O que significa que é possível adaptar rapidamente a sua infraestrutura à sua necessidade, pagando somente aquilo que é usado.
Conclusão
Estamos começando uma nova jornada de aprendizado! Tenho certeza que você está caminhando a passos largos para o sucesso. Você já conhece MongoDB e agora vai conhecer outro grande SGBD. Suas decisões serão (cada vez mais) mais pautadas no conhecimento técnico que você está adquirindo… E neste caso o sucesso é certo! Você é capaz, eu tenho certeza disso, e estou aqui para te ajudar a ser ainda melhor!
Referências
https://www.microsoft.com/pt-br/sql-server/sql-server-2017-pricing
https://docs.microsoft.com/pt-br/sql/sql-server/editions-and-components-of-sql-server-2017
https://docs.microsoft.com/pt-br/azure/sql-database/sql-database-technical-overview