uma introdução sobre o sql azure...
TRANSCRIPT
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
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.