Uma introdução sobre o SQL Azure...

Post on 30-Jun-2020

2 views 0 download

Transcript of Uma introdução sobre o SQL Azure...

1

Uma introdução sobre o SQL Azure Database

Waldemir CambiucciArquiteto de SoluçõesMicrosoft Brasil

twitter.com/wcambblogs.msdn.com/wcamb

2

Agenda

O que é o SQL Azure Database (SAD)?

Modelo de acesso do SAD

Arquitetura e capacidades do SAD

Modelo de conexão do SAD

Conclusões

Recurdos

Publicação: Outubro/2009

3

Objetivos da Sessão

Conhecer o novo SQL Azure e seus recursos.

Entender o modelo de serviço do SQL Azure Database e sua arquitetura.

4

O SAD é um serviço da plataforma Azure Services Platform, que está fisicamente nos Datacenters da Microsoft pelo mundo.

O que é SQL Azure Database?

5

O que o SAD elimina?

Compra de repositórios para seu datacenter

Configuração física e lógica de repositórios

Dimensionamento de servidores

Instalação e atualização de software de bancos de dados

Diagnóstico e resolução de falhas de hardware

Permite que a empresa tenha foco no negócio.

6

Cenários de aplicação do SADArquivamento de conteúdo sindicalizado

Limitações correntes

Alocação de repositórios caros e capacidade de I/O para pequenos volumes de dados.

Alto risco para servidores locais.

Benefícios do SAD

Armazenamento mais barato.

Baixo risco com recuperação e distribuição geográfica.

SQL AzureDatabase

Upload conteúdo

Dados com mais de 30 dias

News feeds

Dados correntes

Large disk arrays

Conteúdo

7

Cenários de aplicação do SADCompartilhamento de dados B2B

Limitações

Dificuldade para se obter acesso a dados

Velocidade no acesso aos dados finais

Benefícios com SSDS

Facilidade para compartilhar dados em tempo real

Transferência de dados B2B

Consumidor Dados

Contratante

Dados Real-timeResultados

Compartilhamento

Dados Real-time Resultados finais

Relatórios

SQL AzureDatabase

8

Cenários de aplicação do SADAplicações corporativas com dados relacional

Limitações correntes

Alocação de repositórios caros e capacidade de I/O.

Alto risco para servidores locais.

Benefícios do SAD

Suporte a T-SQL e TDS via ADO.NET, ODBC, etc.

Armazenamento mais barato.

Baixo risco com recuperação e distribuição.

Consumidor

Banco de dados on-premise

Acesso a dados locais

SQL AzureDatabase

Acesso a dados na nuvem

9

Cenários para bases de dadosR

ecu

rso

s

Dedicado

Compartilhado

Baixo AltoFriction/Control

SQL Azure Database

Proposta de Valor:

Proposta de Valor:

HA/DR/scale

HostedHosted SQL Server

Resource governance @ VM

Security @ DB Server/OS

On-premiseSQL Server ou outro Software on-premise

Resource governance @ machine

Security @ DB Server/OS

Proposta de Valor:

O SQL Azure Database endereça os principais cenários para dados na nuvem

10

Plataforma de Serviços AzureComputação:

Ambiente de computação virtualizadobaseado em Windows Server

Armazenamento:Durável, escalável e disponível

Base de Dados: Processamento relacional para dados estruturados/não-estruturados

Service Bus: Barramento de aplicações de propósitogeral

Access Control: Rules-driven, claims-based access control

11

Capacidades do SQL Azure

Modelo de Programação Simétrico

Capacidades de dados através do SQL Azure Database (SAD) e sincronização de dados

Suporte ao modelo de dados relacional

Ofertas futurasCapacidades de BI, DSS, DW, Reporting, etc.

Novos serviços como Reference Data, Secure Data Hub, etc.

Hub de Agregação de Dados

12

O novo SQL Azure Database

Modelo relacional já conhecido do SQL Server

Suporte ao Transact-SQL (T-SQL)

Utiliza as APIs e ferramentas existentes

Provisionamento facilitado e gerenciamento reduzido

Construído para a nuvem com disponibilidade e escala

Feedback claro: “Eu quero um banco SQL na nuvem”

Foco em combinar as melhores capacidades do SQL Server num ambiente de alta escala na nuvem

13

Cenários de utilização do SQL Azure

Aplicações locaisacessando via ADO.NET, ODBC ou PHP

Aplicações Web acessando via ADO.NET Data Services, Silverlight, .NET RiaServices, etc.

Suporte aos protocolos:TDS+SSL, HTTP, HTTPS

14

Arquitetura do SQL Azure

Client LayerPHP, SQL Server Application and Tools, ADO.NET Data Services

Services Layer Provisioning

Billing and Metering

Connection Routing

Platform LayerSQL Server

SQL Azure Fabric

Management Services

15

SQL Azure ServerSQL Azure Server

Modelo de Provisionamento do Serviço

Azure Services Platform Account

SQL Azure Server

SQL Azure ServerSQL Azure ServerBancos de Dados

servername.ctp.database.windows.net

myDatabase

myAzureAccount

16

Modelo de Provisionamento do Serviço

Cada account tem zero ou mais serversIntegração Azure, provisionado através de um portal

Instrumento para Billing

Cada server tem 1 ou mais bancos de dadosContém metadata sobre base de dados e uso

Unidade de autenticação e Geo-localização

Geração de nome baseado em DNS

Cada database tem objetos SQL padrãoUnidade de consistência e multi-tenancy

Contém Users, Tables, Views, Indices, etc.

Maior unidade em granularidade para billing

Account

Server

Database

17

Compatibilidade SQL

Tables, indexes e views

Stored Procedures

Triggers

Constraints

Constantes

Table variables, session temp tables (#t)

Dentro do escopo v1 Fora do escopo v1

Distributed Transactions

Distributed Query

CLR

Service Broker

Spatial

Physical server or catalog DDL and views

System tables

Trace Flags

18

SQL Azure: https://sql.azure.com/

19

SQL Azure: https://sql.azure.com/

20

Sharing Databases

1 x 10GB database

1 Instância

10 x 1GB databases

10 Instâncias

21

Administração Lógica vs. Física

O SQL Azure Database foca na administração lógica

Criação de schemas e gerenciamento

Otimização de consultas

Gerenciamento de segurança (Logins, Users, Roles)

O serviço trata o gerenciamento físico

Replicação automática com HA (High Availability)

Balanceamento de carga para garantir o SLA (Service Level Agreement)

O DBA coloca mais foco no gerenciamento lógico.

22

Modelo de Deployment

Suporte para opções básicas de deploymentSQL scripts e Geo-location de Windows Azure para as bases SAD – SQL Azure Database

Suporte para aplicações e modelo de gerenciamentomulti-servidor

Nuvem ou “on-premise” é uma escolha em tempo de deployment

Mesma visibilidade de dados através da nuvem e do “on-premise”

Suporta novas e atuais formas de deployment

23

Modelo de Segurança

Suporta o padrão SQL Server AuthenticationO usuário deve fornecer Username + Password para todaconexão com o SQL Azure.

Autorização de usuários e papéis para objetvos SQL

No futuro, suporte para AD Federation(“Geneva”), LiveID, etc. assim como protocolos de autenticaçãoalternativos.

Modelo de Segurança é 100% compatível com o SQL on-premise

24

Modelo de Conexão

Utiliza bibliotecas clientes existentesADO.NET, ODBC, PHP

Clientes conectam diretamente para o banco de dados

Não pode chavear entre bancos (sem “USE”)

Conexão via sqlcmd.exe e ADO.NET.SQL Server Management Studio não é suportadopor enquanto na versão v1.0.

Mas já é possível usá-lo em alguns cenários.

25

Conectando ao SQL Azure via sqlcmd.exe

Opções do sqlcmd.exe

26

Acesso via sqlcmdCriando uma base de dados

C:\>sqlcmd -U <ProvideLogin@Server> -P <ProvidePassword> -S <ProvideServerName> -d master

1> CREATE DATABASE <ProvideDatabaseName>; 2> GO 3> QUIT

Tutorial: sqlcmd Utilityhttp://msdn.microsoft.com/en-us/library/ms170207.aspx

27

Acesso via sqlcmdCriando uma tabela

C:\>sqlcmd -U <ProvideLogin@Server> -P <ProvidePassword> -S <ProvideServerName> -d <ProvideDatabaseName>

1> CREATE TABLE table1 (Col1 int primary key,Col2 varchar(20));

2> GO3> QUIT

Tutorial: sqlcmd Utilityhttp://msdn.microsoft.com/en-us/library/ms170207.aspx

28

Exemplo de conexão via sqlcmd

Criando uma base de dados a partir da master

sqlcmd -S “b64kyk7bd.ctp.database.windows.net” -U “MyUser@b64kyk7bd” -P “MyPassword” -d “master“

Criando tabelas para a base recém criada

sqlcmd -S “b64kyk7bd.ctp.database.windows.net” -U “MyUser@b64kyk7bd” -P “MyPassword” -d “TechEdBrasil“

29

Exemplo de conexão via sqlcmd

Criando tabelas para a base recém criada

sqlcmd -S “b64kyk7bnd.ctp.database.windows.net” -U “MyUser@b64kyk7bnd” -P “MyPassword” -d “TechEdBrasil“-i “~/MyDatabaseScript.sql”

Utilize a opção –i para indicar o script de criação da base de dados no

SQL Azure Database

30

Administrando via SSMSSQL Server Management Studio

Azure Training Kit de Agosto / 2009C:\AzureServicesKit_August2009\Labs\IntroToSQLAzure

31

Conexão via ADO.NET

Uma aplicação se conecta ao SQL Azure Database da mesma forma que se conecta com um SQL Server local.

Utilize SqlConnectionStringBuilder class

Proteja sua ConnectionString

Connecting to SQL Azure Using ADO.NET http://msdn.microsoft.com/en-us/library/ee336243.aspx

32

Acesso via ADO.NETCriando base de dados e tabelas

33

Acesso via ADO.NETCriando base de dados e tabelas

34

Limitações de conexão durante o CTP

As conexões com o serviço SQL Azure Database serão derrubadas quando:

Uso excessivo de recursos

Long-running queries / Consultas de longa duração

Long-running single transactions, entre as declarações “BEGIN TRAN” e “END TRAN”

Idle connections / Conexões osciosas

35

Pricing & Licensing http://www.microsoft.com/azure/pricing.mspx

Valores já publicados para

o SQL Azure

36

37

Conclusões

O SQL Azure Database (SAD) oferece um banco de dados relacional na nuvem, pronto para uso.

Lançamento comercial previsto para o PDC 2009

Aplicações corporativas consomem o SAD da mesmaforma que consomem bancos locais.

Uma arquitetura Software + Serviços envolve a combinação do mundo “cloud” com o mundo“on-premise”, também para os dados.

38

Recursos

Posts sobre Azure Services Platform

http://blogs.msdn.com/wcamb/archive/tags/Azure+Services+Platform/

Posts sobre SQL Azure Database

http://blogs.msdn.com/wcamb/archive/tags/SQL+Data+Services/

SQL Azure Team Blog

http://blogs.msdn.com/ssds/

SQL Azure Database Labs

http://www.microsoft.com/azure/sqllabs.mspx

SQL Azure MSDN

http://msdn.microsoft.com/en-us/library/ee336279.aspx

39

Recursos (cont.)

ArqBR.Groupshttp://arqbr.groups.live.com/

ArqCasts no Channel9/Brasilhttp://channel9.msdn.com/brasil/

ebook Arquitetura de Soluçõeshttp://blogs.msdn.com/wcamb/archive/2009/10/01/ebook-sobre-arquitetura-de-solu-es.aspx

Centro de Arquitetura MSDNhttp://msdn.microsoft.com/pt-br/architecture/default.aspx

40

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.