Visão Geral do Microsoft SQL



Documentos relacionados
Provedor de serviços de software oferece solução econômica de gestão eletrônica

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva

Qual servidor é o mais adequado para você?

Conheça a nova solução de servidor que ajuda pequenas empresas a fazer mais Com menos.

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP

Otimização do Gerenciamento de Datacenters com o Microsoft System Center

Consolidação inteligente de servidores com o System Center

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Sistemas Distribuídos

1

Noções de. Microsoft SQL Server. Microsoft SQL Server

Microsoft Azure. Softmanager Soluções em TI. ModernBiz

RESUMO DA SOLUÇÃO CA ERwin Modeling. Como eu posso gerenciar a complexidade dos dados e aumentar a agilidade dos negócios?

Por que Office 365? Office 365 Por que usar?

Visão geral híbrida de Serviços Corporativos de Conectividade do SharePoint 2013

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

SISTEMAS DISTRIBUÍDOS

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Gerencie a força de trabalho móvel, sem a complexidade e o custo de uma instalação on-premise

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

Universo Online S.A 1

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy.

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

PÚBLICA, PRIVADA OU HÍBRIDA: QUAL É A MELHOR NUVEM PARA SEUS APLICATIVOS?

GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC

Guia Rápido de Licenciamento do SQL Server 2012

Conceitos de Banco de Dados

Plataforma na nuvem do CA AppLogic para aplicativos corporativos

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Serviços de produtividade de nuvem hospedados pela Microsoft Ferramentas de qualidade empresarial a um preço acessível Sempre atualizado Office,

INTERNET HOST CONNECTOR

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO

SEGURANÇA E GERENCIAMENTO DE APIs. Uma empresa da CA Technologies

Prof. Marcelo Machado Cunha

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

SAM GERENCIAMENTO DE ATIVOS DE SOFTWARE

DELL POWERVAULT SÉRIE MD ARMAZENAMENTO DE DADOS MODULAR ARMAZENAMENTO DE DADOS DELL POWERVAULT SÉRIE MD

É CLOUD. É ON-DEMAND.

agility made possible

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Administração de Sistemas de Informação Gerenciais

BlackBerry Mobile Voice System

Disciplina de Banco de Dados Introdução

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Projeto de Arquitetura

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

3 SCS: Sistema de Componentes de Software

Soluções Completas. Fundada em 1991, a.compos é pioneira na área de soluções em tecnologia, atuando nas áreas de:

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

CA Mainframe Chorus for DB2 Database Management Version 2.0

Soluções em. Cloud Computing. Midia Indoor. para

BlackBerry Mobile Voice System

Informação é o seu bem mais precioso e você não pode correr riscos de perder dados importantes. Por isso, oferecemos um serviço de qualidade e

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Introdução ao Modelos de Duas Camadas Cliente Servidor

XDOC. Solução otimizada para armazenamento e recuperação de documentos

Procedimentos para Reinstalação do Sisloc

Detecção e investigação de ameaças avançadas. INFRAESTRUTURA

Como usar a nuvem para continuidade dos negócios e recuperação de desastres

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

SIMARPE Sistema de Arquivo Permanente

Rivolta Cloud Backup

CA ARCserve Backup PERGUNTAS MAIS FREQUENTES: ARCSERVE BACKUP R12.5

Planejando o aplicativo

Gerenciamento de Incidentes

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos

Roteamento e Comutação

Módulo 4: Gerenciamento de Dados

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Gerenciamento de Níveis de Serviço

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

Suporte Técnico de Software HP

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Proteção de ambientes Citrix XenServer com Arcserve

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO

IW10. Rev.: 02. Especificações Técnicas

Usando ferramentas já conhecidas integradas ao Visual Studio Team System 2008

Apresenta. SofStore o mais novo aliado no gerenciamento do seu negócio

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

SolarWinds Kiwi Syslog Server

Soluções de Gerenciamento de Clientes e de Impressão Universal

Bem-vindo à apresentação do SAP Business One.

Transcrição:

Visão Geral do Microsoft SQL Azure Database Autores Jason Lee, Graeme Malcolm e Alistair Matthews (Content Master) Revisores Técnicos Rick Negrin (Microsoft), Zach Owens (Microsoft), David Robinson (Microsoft) Publicado em Setembro de 2009 Aplica-se a SQL Azure Resumo O SQL Azure Database é o serviço de banco de dados para nuvem da Microsoft. O SQL Azure fornece funcionalidade de banco de dados voltada para a web como um serviço utilitário. Soluções de banco de dados baseadas na nuvem como o SQL Azure podem proporcionar vários benefícios, incluindo o provisionamento rápido, a escalabilidade com excelente custo-benefício, alta disponibilidade e redução da sobrecarga de gerenciamento. Este documento oferece uma visão geral da arquitetura do SQL Azure Database, e explica como usar o SQL Azure para ampliar a infraestrutura de dados local ou como uma solução de banco de dados completa.

Direitos Autorais Este é um documento preliminar e pode ser alterado substancialmente antes do lançamento comercial final do software aqui descrito. As informações contidas neste documento representam a visão atual da Microsoft Corporation sobre os assuntos discutidos até a data da publicação. Como a Microsoft deve responder às mudanças nas condições de mercado, este documento não deve ser interpretado como um compromisso por parte da Microsoft e a Microsoft não poderá garantir a precisão de qualquer informação apresentada após a data da publicação. Este documento é fornecido apenas para fins informativos. A MICROSOFT NÃO OFERECE QUAISQUER GARANTIAS, EXPRESSAS, IMPLÍCITAS OU ESTATUTÁRIAS, NESTE DOCUMENTO. O cumprimento de todas as leis pertinentes de direitos autorais é de responsabilidade do usuário. Sem restringir os direitos autorais da marca, nenhuma parte deste documento poderá ser reproduzida, armazenada, ou introduzida num sistema de buscas, ou transmitida de qualquer forma (eletrônica, mecânica, através de fotocópias, ou outra), ou com qualquer propósito, sem o consentimento expresso e por escrito da Microsoft Corporation. A Microsoft pode possuir patentes, aplicações de patentes, marcas registradas, direitos autorais ou outros direitos de propriedade intelectual que asseguram os assuntos abordados neste documento. Exceto quando expressamente declarado, através de acordo por escrito da Microsoft, a posse deste documento não dá direito ao uso das patentes, marcas registradas, direitos autorais ou outra propriedade intelectual. 2009 Microsoft Corporation. Todos os direitos reservados. Microsoft, ADO.NET Data Services, Cloud Services, Live Services,.NET Services, SharePoint Services, SQL Azure, SQL Azure Database, SQL Server, SQL Server Express, Sync Framework, Visual Studio, Windows Live e Windows Server são marcas comerciais do grupo de empresas da Microsoft. Todas as outras marcas são propriedade de seus respectivos donos. 2

Conteúdo Introdução... 4 Recursos Principais... 4 Gerenciamento... 5 Provisionamento Sem Atritos... 5 Alta Disponibilidade... 5 Escalabilidade... 5 Escalabilidade Global... 5 Suporte a Multilocação... 5 Capacitação do Desenvolvedor... 6 Modelo Familiar de Desenvolvimento de Cliente... 6 Modelo de Dados Relacional Comprovado... 6 Sincronização e Suporte para Cenários Offline... 6 Cenários Comuns... 7 Aplicação Web... 7 Aplicação Departamental ou de Grupo de Trabalho... 7 Hub de Dados... 8 Oferta S+S de ISVs... 9 Visão Geral da Arquitetura... 10 Modelo de Provisionamento... 10 Contas da Plataforma Windows Azure... 10 Servidores do SQL Azure... 10 Bancos de Dados do SQL Azure... 10 Modelo de Banco de Dados Relacional... 11 Arquitetura de Acesso a Dados... 11 Modelo de Segurança... 12 Escalabilidade Horizontal dos Bancos de Dados... 12 Implantação... 13 Conclusão e Próximas Etapas... 13 3

Introdução As empresas que fornecem aplicações baseadas em Internet têm enfrentado muitos desafios ultimamente. Os usuários demandam acesso a quantias crescentes de dados em qualquer horário, lugar e dispositivo. O tamanho, a escala de uso e a variedade de formatos dos dados vêm expandindo rapidamente. Os desenvolvedores têm que construir e implantar aplicações rapidamente para acompanhar o crescimento dessa demanda. Com o modelo tradicional de gerenciamento de dados na infraestrutura local, são necessários investimentos e gerenciamento constantes dos servidores, sistemas operacionais, armazenamento e rede para satisfazer essas necessidades. As equipes de TI e operações têm que monitorar a infraestrutura continuamente para garantir a manutenção da capacidade, do desempenho e da disponibilidade à medida que aumentam as cargas dos usuários e os volumes de dados. Os serviços de banco de dados na nuvem, como o Microsoft SQL Azure Database, oferecem uma forma mais eficaz de responder a esses desafios. O SQL Azure se baseia em três princípios: gerenciamento, escalabilidade e agilidade para o desenvolvedor. Para ajudar o desenvolvedor, o SQL Azure oferece um modelo de programação relacional avançado e conhecido, e usa um protocolo de acesso familiar aos dados e opções de implantação simples. Ele simplifica o processo de criação, protótipo e implantação de aplicações que integram dados em toda a empresa. Além disso, elimina os obstáculos da infraestrutura, proporcionando ao desenvolvedor mais liberdade para inovar e experimentar novas maneiras de compartilhar dados. Em termos de gerenciamento de TI, o SQL Azure oferece uma solução implantada na nuvem segura e sistemática que se integra aos ativos locais e proporciona à organização de TI um controle maior sobre os ativos de dados distribuídos. O SQL Azure foi construído com as mesmas tecnologias do Microsoft SQL Server, que já foram usadas em implantações locais e comprovaram sua qualidade nas áreas de alta disponibilidade, confiabilidade e segurança. Do ponto de vista corporativo, o SQL Azure apresenta um método eficaz e econômico para o gerenciamento de dados, com um plano de pagamento flexível e baseado no consumo, praticamente nenhuma despesa de capital ou operacional e a capacidade de escalar para cima ou para baixo com rapidez e facilidade de acordo com as necessidades da empresa. Se você planeja construir aplicações com conjuntos de dados grandes ou compartilhados, fornecer armazenamento de dados escalonável sob demanda ou ampliar sua infraestrutura de dados local com custos baixos e um sistema de armazenamento baseado na nuvem e provisionado rapidamente, saiba que o SQL Azure oferece uma solução robusta, eficiente e econômica para suas necessidades. Recursos Principais O SQL Azure, componente básico da plataforma de dados da Microsoft, oferece flexibilidade e escalabilidade; confiabilidade e segurança; e agilidade para o desenvolvedor. Vamos começar discutindo alguns desses recursos. 4

Gerenciamento O SQL Azure Database oferece a alta disponibilidade e a funcionalidade de um datacenter corporativo sem a sobrecarga administrativa associada a uma solução mantida na infraestruutra local. O recurso de autogerenciamento permite que a organização provisione serviços de dados para todas as aplicações sem aumentar o trabalho de suporte do departamento de TI central ou obrigar os funcionários especializados em tecnologia a interromper suas tarefas básicas para cuidar da manutenção das aplicações de banco de dados departamentais. Provisionamento Rápido Ao usar uma infraestrutura de dados local tradicional, levamos muito tempo para implantar e proteger servidores, componentes de rede e softwares, o que pode prejudicar a criação do protótipo e a distribuição de novas soluções controladas por dados. No entanto, usando uma solução baseada na nuvem como o SQL Azure, é possível provisionar as necessidades de armazenamento de dados em minutos e responder rapidamente às mudanças da demanda. Isso reduz o custo inicial dos serviços de dados e permite provisionar apenas o que é necessário, com a certeza de que o armazenamento de dados baseado na nuvem poderá ser ampliado quando for preciso. Alta Disponibilidade O SQL Azure foi construído com as tecnologias robustas e comprovadas do Windows Server e do SQL Server, e é flexível o bastante para lidar com qualquer variação de uso e de carga. O serviço replica múltiplas cópias redundantes de seus dados em vários servidores físicos para garantir a disponibilidade dos dados e a continuidade dos negócios. No caso de um desastre, o SQL Azure realiza o failover automático para assegurar a máxima disponibilidade em sua aplicação. Os SLAs (service level agreements contratos de nível de serviço) publicados garantem um serviço business-ready (adequado para as necessidades das empresas). Após mudar para o SQL Azure, você não precisará mais fazer backup, armazenar e proteger os dados por conta própria. Escalabilidade Uma grande vantagem do modelo de computação na nuvem é a facilidade de escalonamento da solução. Com o SQL Azure, você pode criar soluções de acordo com seus requisitos de escalabilidade, quer esteja usando uma pequena aplicação departamental ou preparando a próxima história de sucesso mundial na Web. Escalabilidade Global O modelo de preço pague à medida que crescer permite provisionar novos bancos de dados rapidamente, conforme a necessidade, ou reduzir a escala dos serviços sem o custo associado aos recursos não utilizados. Com a estratégia de escalabilidade horizontal do banco de dados, sua aplicação pode utilizar o poder de processamento de centenas de servidores e armazenar terabytes de dados. O SQL Azure é executado em datacenters localizados em todo o mundo, portanto você poderá conquistar novos mercados imediatamente. Se quiser focar uma região específica, implante seu banco de dados no datacenter mais próximo a ela. Você pode aproveitar essa escalabilidade global para construir uma nova geração de aplicações com escala de Internet e alcance mundial, mas sem o custo da infraestrutura e a sobrecarga de gerenciamento. Suporte a Multilocação Os ISVs (independent software vendors - fornecedores independentes de software) que oferecem Software+Serviços (S+S) devem fornecer o isolamento adequado para os dados de cada cliente, além de cobrar de cada um o preço correto pelos serviços de armazenamento de dados consumidos. O SQL Azure 5

proporciona a flexibilidade que os ISVs precisam para separar os dados dos clientes e implementar o faturamento multilocatário, que permite construir uma solução S+S com rapidez e facilidade. Capacitação do Desenvolvedor Como o desenvolvedor precisa aprender a usar as novas ferramentas, plataformas de programação e modelos de dados, a construção das aplicações baseadas na nuvem pode ser prejudicada. Contudo, o SQL Azure foi construído com a linguagem TSQL e projetado para ser compatível com o SQL Server com algumas alterações, de forma que o desenvolvedor pode usar os conhecimentos e as habilidades que já possui. Isso reduz o custo e o tempo normalmente associados à criação de uma aplicação baseada na nuvem. Modelo Familiar de Desenvolvimento de Cliente Ao criar aplicações no local que usam o SQL Server como armazenamento de dados, o desenvolvedor emprega bibliotecas de clientes que utilizam o protocolo TDS (Tabular Data Stream) para fazer a comunicação entre o cliente e o servidor. Existe uma grande comunidade mundial de desenvolvedores que estão familiarizados com o SQL Server e têm experiência no uso das bibliotecas de acesso a cliente disponíveis para o SQL Server, tais como o Microsoft ADO.NET, o Open Database Connectivity (ODBC), o JDBC e o driver SQL Server para PHP. O SQL Azure oferece a mesma interface TDS do SQL Server, portanto o desenvolvedor pode usar as mesmas ferramentas e bibliotecas para construir aplicações clientes para os dados que estão na nuvem. Modelo de Dados Relacional Comprovado Os dados do SQL Azure são armazenados de uma forma bastante familiar para os desenvolvedores e administradores que usam o SQL Server. Você pode criar um Servidor do SQL Azure (SQL Azure Server), que é um grupo de bancos de dados distribuídos em várias máquinas físicas. Em certos aspectos, esse servidor é conceitualmente análogo a uma instância do SQL Server, e atua como uma barreira de autorização, assim como no SQL Server. Você também pode definir a localização geográfica neste nível. Os datacenters do Windows Azure e do SQL Azure são localizados em todo o mundo; se sua aplicação for relevante para uma região específica, você pode melhorar o desempenho localizando-a nessa região. Dentro de cada servidor, você pode criar múltiplos bancos de dados com tabelas, exibições, procedimentos armazenados, índices e outros objetos de banco de dados familiares. Esse modelo de dados permite que o desenvolvedor use as habilidades que já possui em design de banco de dados relacional e programação em Transact-SQL e migre com facilidade as aplicações de banco de dados locais para a nuvem. Os servidores e bancos de dados do SQL Azure são conceitos lógicos que não correspondem a servidores e bancos de dados físicos. Essa abstração habilita o provisionamento flexível que descrevemos acima. Os administradores e desenvolvedores podem se concentrar no design do modelo de dados, pois o SDS os isola da implementação e do gerenciamento físicos. Sincronização e Suporte para Cenários Offline O SQL Azure faz parte da plataforma de dados avançada da Microsoft que se integra ao Microsoft Sync Framework para dar suporte a cenários de sincronização conectados ocasionalmente. Usando o SQL Azure e o Sync Framework, por exemplo, os dispositivos clientes e as aplicações locais podem ser sincronizados através de um hub de dados comum na nuvem. 6

Cenários Comuns Para ver como esses recursos do SQL Azure podem beneficiar as organizações, vamos considerar alguns cenários típicos das aplicações de negócios. Aplicação Web A maioria dos sites requer um banco de dados para armazenar a entrada dos usuários, as transações de comércio eletrônico e os conteúdos, ou para outras finalidades. Esse tipo de site controlado por dados costuma ser implantado com um servidor de banco de dados no mesmo datacenter do servidor Web. Com o SQL Azure, o desenvolvedor de Web pode optar por colocar os dados na nuvem, onde serão altamente disponíveis e tolerantes a falhas. Como no cenário das aplicações departamentais, você pode hospedar sua aplicação Web em seu próprio servidor, ou usar um hoster Web de terceiros, e acessar os dados no SQL Azure pela Internet. No entanto, para evitar problemas de desempenho e complexidade causados pela latência, é recomendável hospedar o próprio site no Windows Azure, para que ele seja beneficiado pela co-localização com seu Banco de Dados do SQL Azure (SQL Azure Database). Aplicação Departamental ou de Grupo de Trabalho Em uma organização de grande porte, os bancos de dados de missão crítica de toda a empresa são executados por administradores qualificados e experientes. Esses bancos de dados também podem ter configurações de tolerância a falhas com no-break, armazenamento RAID (redundant array of inexpensive disk) e servidores clusterizados. No entanto, uma organização de grande porte costuma ter também muitas aplicações de banco de dados menores que foram criadas por funcionários com conhecimento de TI em departamentos e grupos de toda a organização. Eles podem ter construído essas aplicações usando o Microsoft Office Access, o Microsoft SQL Server Express ou softwares de terceiros. Os bancos de dados podem estar hospedados em um único servidor de baixo custo ou em uma estação de trabalho, e normalmente são gerenciados por uma equipe cuja função principal não é a administração de dados. O impacto de uma falha no banco de dados geralmente se restringe ao departamento que o utiliza, mas essas interrupções podem prejudicar a produtividade de grupos grandes. Além disso, é difícil acompanhar todos os bancos de dados existentes na organização. O SQL Azure representa uma ótima oportunidade de reorganizar as diversas aplicações de banco de dados. Provisionando Bancos de Dados do SQL Azure para pequenas aplicações departamentais, seus usuários podem ser beneficiados pelos recursos de autogerenciamento e tolerância a falhas que o SQL Azure oferece, sem aumentar o trabalho da equipe de TI. Esse método centralizado também facilita muito a auditoria dos bancos de dados da organização. E como o SQL Azure tem uma estrutura de preços baseada no modelo pague à medida que crescer, você pode executar aplicações de banco de dados pequenas gastando muito pouco. Ao migrar uma aplicação cliente-servidor local para o SQL Azure, você pode optar por deixar a aplicação cliente no local e migrar apenas a camada de dados, que poderá ser acessada através de bibliotecas de acesso a dados comuns pela Internet. Contudo, se você usar esse design de aplicação, lembre-se dos problemas de latência inerentes à conectividade baseada em Internet, que podem resultar em um código mais complexo na aplicação cliente. Uma solução melhor é mover a lógica de acesso a dados para o Windows Azure, de forma que o mesmo datacenter hospede tanto o código de acesso aos dados quanto os dados propriamente ditos. Você pode criar uma interface de usuário baseada na Web no Windows Azure, e os usuários vão se conectar a ela usando um navegador. Alternativamente, você pode criar um serviço usando o ADO.NET Data 7

Services para escrever um código que exponha uma interface SOAP, REST ou JSON a uma interface de estação de trabalho simples. Hub de Dados Em um cenário de hub de dados, é comum querer que vários usuários móveis e remotos colaborem usando o mesmo conjunto de dados. Considere uma seguradora que tem uma grande equipe de vendas móvel com mais de cinco mil pessoas espalhadas pela América do Norte. Manter os dados de clientes e preços sincronizados em toda a equipe de vendas é um problema constante. A primeira parte do problema é transferir as informações de contato dos clientes novos da equipe de vendas para o sistema financeiro interno. A segunda parte consiste em fornecer informações sobre a nova lista de preços à equipe de vendas. A seguradora precisa de uma solução que: Mantenha o computador portátil de todos os vendedores atualizado com as últimas informações sobre preços Mantenha o sistema corporativo atualizado com as informações dos clientes novos obtidas no computador de cada vendedor, sem o risco de expor dados corporativos importantes Atualmente, os dados de produtos e clientes são armazenados em um banco de dados central do SQL Server, no datacenter. Além disso, os funcionários da equipe de vendas usam uma aplicação que é executada em seus computadores portáteis e armazena dados no SQL Server Express. O departamento de TI não quer abrir o firewall para o datacenter local para fornecer aos vendedores o direito de acessar os dados em seus computadores portáteis, já que isso pode ser perigoso. A equipe de desenvolvimento pode fornecer uma solução totalmente sincronizada que usa o SQL Azure, realizando as seguintes tarefas: 1. Criação de um banco de dados no SQL Azure para armazenar dados de produtos e clientes. 2. Criação de um provedor Sync Framework para o datacenter. Esse provedor Sync Framework mantém os dados de produtos e clientes sincronizados entre o datacenter e o hub de dados do SQL Azure. 3. Criação de um segundo provedor Sync Framework para os computadores portáteis da equipe de vendas. Esse provedor Sync Framework mantém os dados de produtos e clientes sincronizados entre os vendedores externos e o hub de dados do SQL Azure. O diagrama da Figura 2 ilustra essa solução. 8

Fig 2: Visão conceitual do cenário de hub de dados Os dados relativos aos preços dos produtos fluem do banco de dados corporativo para mais de cinco mil vendedores através do SQL Azure. Os dados de contato dos clientes fluem dos mais de cinco mil vendedores para o banco de dados corporativo através do SQL Azure. Quando o computador portátil de um vendedor está offline, as mudanças feitas nos dados locais são acompanhadas. Quando a conexão do computador com a Internet é restaurada, o provedor Sync Framework enumera as alterações e as envia ao SQL Azure. A segurança do datacenter corporativo é garantida. Oferta S+S de ISVs Os ISVs podem usar o SQL Azure para oferecer soluções de Software+Serviços sem sair de sua competência básica de desenvolvimento de softwares, de forma que possam desenvolver uma infraestrutura de hospedagem. O Windows Azure oferece um ambiente ideal para hospedar serviços de software sem a sobrecarga associada à manutenção da infraestrutura de hospedagem nas instalações do ISV ou do cliente. Considere um fornecedor de S+S que oferece suporte de conformidade para empresas dos setores de finanças, governo, assistência médica, imóveis e franquias. Essas organizações precisam armazenar dados históricos como registros financeiros, transações de negócios ou correspondências, para referência futura ou para fins de conformidade às normas de manutenção de registros. O fornecedor de S+S emprega um sistema de gerenciamento de documentos para dados arquivados que fornece pesquisa de texto completo, funcionalidade de fluxo de trabalho e processamento de verificações. Também é necessário acompanhar e relatar o acesso aos recursos para fins de auditoria. Para reduzir o custo do armazenamento de dados e garantir um acesso rápido e seguro aos registros, o fornecedor decide migrar os arquivos dos clientes para a nuvem. Para isso, ele pode criar uma conta no SQL Azure para cada um de seus clientes, junto com as contas do Windows Azure dentro do espaço da empresa. Quando o cliente tiver uma conta, poderá fazer upload de qualquer tipo de documento, como emails, verificações em varredura e documentos de garantia. Alguns dos 9

documentos são armazenados como BLOBs (binary large objects - objetos binários grandes) no armazenamento de BLOBs do Windows Azure, enquanto outros são armazenados como dados estruturados com campos padronizados no SQL Azure. Neste cenário, é fundamental garantir que os dados de cada cliente fiquem isolados e disponíveis apenas para os usuários adequados. O fornecedor de S+S pode usar o SQL Azure para implementar esse isolamento e impedir o acesso inapropriado. O SQL Azure também simplifica a auditoria do uso, possibilitando um faturamento correto dos serviços prestados aos clientes. Os desenvolvedores que escreverem essa solução para Windows Azure vão descobrir que ele está estreitamente integrado ao SQL Azure. Eles podem usar, por exemplo, as bibliotecas de clientes familiares do SQL Server, que usam na estação de trabalho; podem usar uma única conta do Windows Azure para autenticar o usuário em toda a nuvem; e podem usar as mesmas propriedades de localização geográfica no código do Windows Azure e nos dados do SQL Azure. Visão Geral da Arquitetura Nesta seção, você verá como o SQL Azure usa os bancos de dados, como ele estrutura os dados relacionais e como você pode se conectar aos dados. Modelo de Provisionamento O SQL Azure foi projetado para proporcionar escala extrema, custo baixo e um ambiente familiar para os administradores e desenvolvedores. Para isso, ele usa o modelo de provisionamento hierárquico descrito abaixo. Contas da Plataforma Windows Azure Para usar o SQL Azure, você deve começar criando uma conta na plataforma Windows Azure. Com essa conta, você pode acessar todos os recursos da plataforma. Ela também é usada para faturar o uso de todos os serviços do Windows Azure. Servidores do SQL Azure Cada conta do Windows Azure pode conter vários servidores do SQL Azure. Eles não são implementados como as instâncias do SQL Server; pense neles como um conceito lógico usado para fornecer um ponto administrativo central para múltiplos servidores do SQL Azure. Todos os servidores possuem logins, assim como nas instâncias locais do SQL Server, e você também pode especificar a região geográfica em que o servidor será localizado neste nível. O portal do SQL Azure é usado para criar e gerenciar o servidor de banco de dados. A interface é fácil de usar e permite criar logins e provisionar bancos de dados. Bancos de Dados do SQL Azure Cada servidor do SQL Azure Database pode conter múltiplos bancos de dados. Um novo servidor de banco de dados tem um banco de dados mestre similar a uma instância local do SQL Server. Em cada banco de dados, você pode criar tabelas, exibições, índices, procedimentos armazenados e outros objetos familiares. O portal do SQL Azure pode ser usado para criar um novo banco de dados. Outra opção é usar o comando CREATE DATABASE da linguagem Transact-SQL. Os Bancos de Dados do SQL Azure são implementados como partições de dados replicadas em vários computadores físicos em um datacenter do SQL Azure. 10

Essa arquitetura oferece failover automático e balanceamento de carga. Os dados dos clientes são distribuídos em múltiplos servidores físicos dentro da localização geográfica especificada para o servidor do SQL Azure Database que está hospedando o banco de dados. Assim, o SQL Azure Database alcança alta disponibilidade e estabilidade em todas as aplicações, das pequenas até as maiores, sem exigir um grande esforço administrativo. Modelo de Banco de Dados Relacional Um dos principais objetivos do design do SQL Azure é fornecer um ambiente familiar para os programadores de bancos de dados. Portanto, os objetos que você pode criar em um Banco de Dados do SQL Azure (SQL Azure Database) são os mesmos que estão disponíveis em um banco de dados SQL Server. Eles incluem: 11 Tabelas: armazenam dados em linhas com uma estrutura consistente e normalizada. Índices: aumentam a velocidade das pesquisas e maximizam o desempenho. Exibições: oferecem meios alternativos de visualizar os dados em uma ou mais tabelas. Procedimentos armazenados: armazenam scripts Transact-SQL comuns para simplificar a execução. Gatilhos: asseguram a integridade dos dados executando verificações quando eles são modificados. Tanto o SQL Server quanto o SQL Azure Database usam a linguagem Transact-SQL na criação dos bancos de dados e na manipulação dos dados. Os desenvolvedores e administradores de bancos de dados podem, portanto, ser produtivos imediatamente no SQL Azure, usando o conhecimento que já possuem. Para mais informações sobre a Transact-SQL, visite http://msdn.microsoft.com/pt-br/library/ms189826.aspx Arquitetura de Acesso a Dados O SQL Azure Database expõe um ponto de extremidade TDS (Tabular Data Stream) para os bancos de dados hospedados na nuvem. TDS é o mesmo protocolo de rede usado pelo SQL Server local, portanto uma aplicação cliente de estação de trabalho pode se conectar ao SQL Azure Database da mesma forma que se conecta a uma instância local do SQL Server. Essa aplicação executa um código que foi construído através do ADO.NET, do ODBC, ou de qualquer outra tecnologia de sua preferência. As consultas são formuladas na linguagem Transact-SQL. O protocolo SSL (Secure Sockets Layer) é necessário quando uma aplicação cliente se conecta ao ponto de extremidade TDS do SQL Azure Database, para garantir a segurança. Neste cenário de aplicação cliente de estação de trabalho/sql Azure Database, você deve considerar a latência que pode ocorrer na nuvem e lidar com ela no código de cliente. A latência é inevitavelmente mais alta do que seria se o banco de dados estivesse nas dependências da empresa (on-premises). Uma forma de evitá-la é criar uma interface de usuário baseada na Web para sua aplicação de banco de dados e hospedá-la no Windows Azure. Neste cenário, o código de cliente e os dados são hospedados no mesmo datacenter, portanto a latência é baixa. Os usuários se conectam a esse tipo de aplicação usando um navegador Web. Você também pode usar essa arquitetura para sites controlados por dados que são hospedados no Windows Azure. Na terceira arquitetura suportada pelo SQL Azure, você pode criar uma lógica de aplicação usando o ADO.NET e o Entity Framework e hospedá-la no Windows Azure. Em seguida, use o ADO.NET Data Services para publicar essa aplicação como um serviço que usa uma interface SOAP, REST ou JSON, e construa uma aplicação cliente leve (lightweight) para consumir os dados do serviço. Assim, você evita a latência entre a aplicação e o SQL Azure, sem deixar de fornecer uma interface de serviço baseada na Internet para seus dados. Além disso, essa interface pode ser usada também em aplicações de Internet avançadas ou soluções de estação de trabalho.

Modelo de Segurança Muitos bancos de dados contêm informações confidenciais, portanto é essencial controlar o acesso com cautela. Isso é especialmente importante em aplicações multilocatário que envolvem usuários de diversos clientes e precisam isolar cada um dos usuários. O SQL Azure possui o mesmo conjunto de princípios de segurança disponíveis no SQL Server com a Autenticação do SQL Server. Você pode usá-los para autorizar o acesso e proteger seus dados: Logins do SQL Server: Usados para autenticar o acesso ao SQL Azure no nível do servidor. Usuários do Banco de Dados: Usados para conceder acesso ao SQL Azure no nível do banco de dados. Funções do Banco de Dados: Usadas para agrupar usuários e conceder acesso ao SQL Azure no nível do banco de dados. Escalabilidade Horizontal dos Bancos de Dados Você pode armazenar qualquer quantia de dados, de kilobytes a terabytes, no SQL Azure. No entanto, o tamanho de cada banco de dados está limitado a 10 GB. Para criar soluções que armazenem mais de 10 GB de dados, você deve particionar conjuntos grandes em vários bancos de dados e usar consultas paralelas para acessar os dados. A fragmentação de dados é uma técnica usada por muitas aplicações para melhorar o desempenho, a escalabilidade e o custo. Algumas aplicações são ideais para o particionamento, pois usam modelos de dados com limites de particionamento naturais. Esse é o caso, por exemplo, das aplicações que armazenam e processam dados de vendas usando predicados de data ou hora. Processando um subconjunto dos dados em vez do conjunto inteiro, essas aplicações podem ter um desempenho muito melhor. A fragmentação de dados também habilita o processamento paralelo de dados. As aplicações podem colocar múltiplas partições em vários conjuntos de recursos de computação e processar os dados simultaneamente. Embora exista uma vasta literatura sobre os benefícios da fragmentação de dados, pouco foi dito sobre o custo do gerenciamento de um banco de dados distribuído em dezenas ou centenas de servidores. O SQL Azure oferece a infraestrutura necessária para aplicações que requerem dezenas ou centenas de bancos de dados sem o custo administrativo correspondente. É possível particionar grandes conjuntos de dados em vários bancos de dados sem enfrentar uma estrutura de custos exponencial e um investimento de capital antecipado. O provisionamento e o uso de trezentos bancos de dados é tão simples quanto o provisionamento de três bancos de dados. A carga do gerenciamento e da manutenção de centenas de servidores que funcionam de modo sincronizado e fornecem um banco de dados altamente disponível é assumida pelo SQL Azure. Além disso, o SQL Azure proporciona elasticidade na escalabilidade horizontal, de forma que a aplicação pode aumentar o número de bancos de dados quando necessário e diminuir quando os requisitos mudarem. A capacidade de reduzir a escala sem aumentar os custos evita que o cliente tenha que pagar por recursos não utilizados e desnecessários. Até mesmo as aplicações com conjuntos de dados pequenos que requerem uma grande capacidade de processamento (CPU e E/S) podem ser beneficiadas pelo particionamento, pois ganham acesso aos recursos paralelos. A decisão de usar uma estratégia de escalabilidade horizontal nos bancos de dados deve ser ponderada com cuidado, pois pode afetar a complexidade do código da aplicação e não é apropriada para todas as aplicações, embora os benefícios descritos acima possam fazer o esforço valer a pena. 12

Implantação É possível criar e preencher um banco de dados inteiramente no SQL Azure Database, usando a Transact-SQL. Contudo, na maioria dos casos os desenvolvedores ou administradores projetam e preenchem o banco de dados presente na infraestrutura local, em um servidor ou computador de desenvolvimento. Quando a aplicação está completa, o banco de dados deve ser implantado na nuvem. Para implantar um banco de dados no SQL Azure, você pode criar um script Transact-SQL CREATE DATABASE no Microsoft SQL Server Management Studio, usando o Assistente de Geração de Script (Generate Script Wizard). Depois basta executar o script Transact-SQL no SQL Azure para criar o banco de dados. A localização geográfica é definida no nível do Servidor do SQL Azure (SQL Azure Server). Portanto, para implantar um banco de dados para uma região específica, crie um novo Servidor do SQL Azure nessa localização geográfica e conecte-se a ele para executar o script de implantação. Conclusão e Próximas Etapas Neste documento fornecemos uma visão geral do SQL Azure Database e descrevemos seus principais recursos e benefícios. O SQL Azure Database é um serviço de banco de dados baseado na nuvem que oferece agilidade para o desenvolvedor, flexibilidade para as aplicações e uma escalabilidade praticamente ilimitada, com um modelo de entrega flexível, eficaz e econômico. A arquitetura subjacente robusta proporciona confiabilidade, alta disponibilidade e segurança. Além disso, o suporte aos protocolos de comunicação em Internet predominantes facilita a implantação e o uso. Examinamos também alguns cenários em que o SQL Azure pode oferecer um valor real aos clientes, tais como as soluções de hub de dados e os sistemas de arquivamento e conformidade. Além disso, vimos como funcionam os modelos de arquitetura e programação que fornecem a funcionalidade básica do SQL Azure. Para mais informações visite: Portal do SQL Azure http://www.microsoft.com/azure/sql.mspx Central do SQL Azure para Desenvolvedores http://msdn.microsoft.com/pt-br/sqlserver/dataservices/default.aspx Documentação do SQL Azure http://msdn.microsoft.com/pt-br/library/cc512417.aspx Blog da Equipe do SQL Azure http://blogs.msdn.com/sds Kit de Treinamento da Plataforma Windows Azure http://www.microsoft.com/downloads/details.aspx?familyid=413e88f8-5966-4a83-b309-53b7b77edf78&displaylang=en 13